// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. module chrome.mojom; import "components/content_settings/core/common/content_settings.mojom"; // The renderer configuration parameters which can change post renderer launch. struct DynamicParams { bool force_safe_search = true; int32 youtube_restrict = 0; string allowed_domains_for_apps; string variation_ids_header; }; interface ChromeOSListener { // Call when the merge session process (cookie reconstruction from // OAuth2 refresh token in ChromeOS login) is complete. All XHR's // will be throttled until unlocked by this call. [EnableIf=is_chromeos] MergeSessionComplete(); }; // Configures the renderer. interface RendererConfiguration { // Configures the renderer with settings that won't change. // The |chromeos_listener| is only passed on Chrome OS when // the merge session is still running - otherwise not set. SetInitialConfiguration(bool is_incognito_process, ChromeOSListener&? chromeos_listener); // Update renderer configuration with settings that can change. SetConfiguration(DynamicParams params); // Set the content setting rules stored by the renderer. SetContentSettingRules( content_settings.mojom.RendererContentSettingRules rules); // Tells the renderer to create a FieldTrial, and by using a 100% probability // for the FieldTrial, forces the FieldTrial to have assigned group name. // // See base/metrics/field_trial.h for more information. SetFieldTrialGroup(string trial_name, string group_name); };