Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(97)

Unified Diff: chrome/common/extensions/docs/examples/api/contentSettings/popup.html

Issue 7029031: Content settings extension API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync & review Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/docs/examples/api/contentSettings/popup.html
diff --git a/chrome/common/extensions/docs/examples/api/contentSettings/popup.html b/chrome/common/extensions/docs/examples/api/contentSettings/popup.html
new file mode 100644
index 0000000000000000000000000000000000000000..eebb9c48e4925a6b084418285466e9fce04babf9
--- /dev/null
+++ b/chrome/common/extensions/docs/examples/api/contentSettings/popup.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+var settings = {
+ "cookies": ["allow", "session_only", "block"],
+ "images": ["allow", "block"],
+ "javascript": ["allow", "block"],
+ "plugins": ["allow", "block"],
+ "popups": ["allow", "block"],
+ // "location": ["allow", "ask", "block"],
+ "notifications": ["allow", "ask", "block"],
+};
+
+var incognito;
+var url;
+
+function init() {
+ chrome.tabs.getSelected(undefined, function(tab) {
+ incognito = tab.incognito;
+ url = tab.url;
+ var types = ["cookies", "images", "javascript", "plugins", "popups",
+ "notifications"];
+ types.forEach(function(type) {
+ chrome.experimental.contentSettings[type].get({
+ 'topLevelUrl': url,
+ 'embeddedUrl': url,
+ 'incognito': incognito
+ },
+ function(details) {
+ document.getElementById(type).value = details.setting;
+ });
+ });
+ });
+}
+
+function settingChanged(element) {
+ var type = element.id;
+ var setting = element.value;
+ var pattern = {
+ 'pattern': url
+ };
+ console.log(type+" setting for "+pattern+": "+setting);
+ chrome.experimental.contentSettings[type].set({
+ 'topLevelPattern': pattern,
+ 'embeddedPattern': pattern,
+ 'setting': setting,
+ 'scope': (incognito ? 'incognito_session_only' : 'regular')
+ });
+}
+</script>
+</head>
+<body onload="init()">
+
+<fieldset>
+<dl>
+<dt><label for="cookies">Cookies: </label></dt>
+<dd><select id="cookies" onchange="settingChanged(this);">
+ <option value="allow">Allow</option>
+ <option value="session_only">Session only</option>
+ <option value="block">Block</option>
+</select></dd>
+<dt><label for="images">Images: </label></dt>
+<dd><select id="images" onchange="settingChanged(this);">
+ <option value="allow">Allow</option>
+ <option value="block">Block</option>
+</select>
+<dt><label for="javascript">Javascript: </label></dt>
+<dd><select id="javascript" onchange="settingChanged(this);">
+ <option value="allow">Allow</option>
+ <option value="block">Block</option>
+</select></dd>
+<dt><label for="plugins">Plug-ins: </label></dt>
+<dd><select id="plugins" onchange="settingChanged(this);">
+ <option value="allow">Allow</option>
+ <option value="ask">Click-to-play</option>
+ <option value="block">Block</option>
+ </select></dd>
+<dt><label for="popups">Pop-ups: </label></dt>
+<dd><select id="popups" onchange="settingChanged(this);">
+ <option value="allow">Allow</option>
+ <option value="block">Block</option>
+ </select></dd>
+<dt><label for="location">Location: </label></dt>
+<dd><select id="location" onchange="settingChanged(this);" disabled>
+ <option value="allow">Allow</option>
+ <option value="ask">Ask</option>
+ <option value="block">Block</option>
+ </select></dd>
+<dt><label for="notifications">Notifications: </label></dt>
+<dd><select id="notifications" onchange="settingChanged(this);">
+ <option value="allow">Allow</option>
+ <option value="ask">Ask</option>
+ <option value="block">Block</option>
+ </select></dd>
+</dl>
+</fieldset>
+
+
+</body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698