forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontent_settings_manager.mojom
44 lines (38 loc) · 1.55 KB
/
content_settings_manager.mojom
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// 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 chrome.mojom;
import "components/content_settings/core/common/content_settings.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(
StorageType storage_type,
url.mojom.Origin origin,
url.mojom.Url 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(content_settings.mojom.ContentSettingsType type);
};