| // 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); |
| }; |