| // 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/common/content_settings_manager.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; |
| }; |
| |
| 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_ash] |
| 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. |
| // |content_settings_manager| may be sent as an optimization to avoid |
| // requesting it from the browser process, and may be null. |
| SetInitialConfiguration( |
| bool is_incognito_process, |
| pending_receiver<ChromeOSListener>? chromeos_listener, |
| pending_remote<content_settings.mojom.ContentSettingsManager>? |
| content_settings_manager); |
| |
| // Update renderer configuration with settings that can change. |
| SetConfiguration(DynamicParams params); |
| }; |