12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- // Copyright 2019 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 content_settings.mojom;
- import "components/content_settings/core/common/content_settings.mojom";
- import "services/network/public/mojom/site_for_cookies.mojom";
- import "url/mojom/origin.mojom";
- import "url/mojom/url.mojom";
- // An interface to the content settings manager running in the browser process
- // associated with a RenderFrameHost instance.
- interface ContentSettingsManager {
- // Enable cloning the connection, which helps support worker threads created
- // from other worker threads.
- Clone(pending_receiver<ContentSettingsManager> clone);
- enum StorageType {
- DATABASE,
- LOCAL_STORAGE,
- SESSION_STORAGE,
- FILE_SYSTEM,
- INDEXED_DB,
- CACHE,
- WEB_LOCKS,
- };
- // Sent by the renderer process to check whether access to a particular
- // storage system is granted by content settings. Sync support is optional
- // for when needed; prefer async whenever possible!
- // TODO(darin): Ideally this interface would be attached to a document-
- // specific browser-side object that would already know the origin info.
- // Then these parameters would not need to be passed here.
- [Sync]
- AllowStorageAccess(
- int32 render_frame_id,
- StorageType storage_type,
- url.mojom.Origin origin,
- network.mojom.SiteForCookies site_for_cookies,
- url.mojom.Origin top_frame_origin) => (bool allowed);
- // Tells the browser that content in the current page was blocked due to the
- // user's content settings.
- OnContentBlocked(int32 render_frame_id, ContentSettingsType type);
- };
|