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

Side by Side Diff: chrome/browser/resources/options/content_settings.js

Issue 7003007: Apply content-security-policy to the HTML options page. This is a (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 cr.define('options', function() {
6
7 var OptionsPage = options.OptionsPage;
8
9 //////////////////////////////////////////////////////////////////////////////
10 // ContentSettings class:
11
12 /**
13 * Encapsulated handling of content settings page.
14 * @constructor
15 */
16 function ContentSettings() {
17 this.activeNavTab = null;
18 OptionsPage.call(this, 'content', templateData.contentSettingsPageTabTitle,
19 'content-settings-page');
20 }
21
22 cr.addSingletonGetter(ContentSettings);
23
24 ContentSettings.prototype = {
25 __proto__: OptionsPage.prototype,
26
27 initializePage: function() {
28 OptionsPage.prototype.initializePage.call(this);
29
30 chrome.send('getContentFilterSettings');
31
32 var exceptionsButtons =
33 this.pageDiv.querySelectorAll('.exceptions-list-button');
34 for (var i = 0; i < exceptionsButtons.length; i++) {
35 exceptionsButtons[i].onclick = function(event) {
36 var page = ContentSettingsExceptionsArea.getInstance();
37 page.showList(
38 event.target.getAttribute('contentType'));
39 OptionsPage.navigateToPage('contentExceptions');
40 // Add on the proper hash for the content type, and store that in the
41 // history so back/forward and tab restore works.
42 var hash = event.target.getAttribute('contentType');
43 window.history.replaceState({pageName: page.name}, page.title,
44 '/' + page.name + "#" + hash);
45 };
46 }
47
48 // Cookies filter page ---------------------------------------------------
49 $('block-third-party-cookies').onclick = function(event) {
50 chrome.send('setAllowThirdPartyCookies',
51 [String($('block-third-party-cookies').checked)]);
52 };
53
54 $('show-cookies-button').onclick = function(event) {
55 chrome.send('coreOptionsUserMetricsAction', ['Options_ShowCookies']);
56 OptionsPage.navigateToPage('cookies');
57 };
58
59 if (!templateData.enable_click_to_play)
60 $('click_to_play').style.display = 'none';
61 },
62 };
63
64 /**
65 * Sets the values for all the content settings radios.
66 * @param {Object} dict A mapping from radio groups to the checked value for
67 * that group.
68 */
69 ContentSettings.setContentFilterSettingsValue = function(dict) {
70 for (var group in dict) {
71 document.querySelector('input[type=radio][name=' + group + '][value=' +
72 dict[group]['value'] + ']').checked = true;
73 var radios = document.querySelectorAll('input[type=radio][name=' +
74 group + ']');
75 for (var i = 0, len = radios.length; i < len; i++) {
76 radios[i].disabled = dict[group]['managed'];
77 radios[i].managed = dict[group]['managed'];
78 }
79 }
80 OptionsPage.updateManagedBannerVisibility();
81 };
82
83 /**
84 * Initializes an exceptions list.
85 * @param {string} type The content type that we are setting exceptions for.
86 * @param {Array} list An array of pairs, where the first element of each pair
87 * is the filter string, and the second is the setting (allow/block).
88 */
89 ContentSettings.setExceptions = function(type, list) {
90 var exceptionsList =
91 document.querySelector('div[contentType=' + type + ']' +
92 ' list[mode=normal]');
93
94 exceptionsList.setExceptions(list);
95 };
96
97 ContentSettings.setOTRExceptions = function(type, list) {
98 var exceptionsList =
99 document.querySelector('div[contentType=' + type + ']' +
100 ' list[mode=otr]');
101
102 exceptionsList.parentNode.classList.remove('hidden');
103 exceptionsList.setExceptions(list);
104 };
105
106 /**
107 * Sets the initial value for the Third Party Cookies checkbox.
108 * @param {boolean=} block True if we are blocking third party cookies.
109 */
110 ContentSettings.setBlockThirdPartyCookies = function(block) {
111 $('block-third-party-cookies').checked = block;
112 };
113
114 /**
115 * The browser's response to a request to check the validity of a given URL
116 * pattern.
117 * @param {string} type The content type.
118 * @param {string} mode The browser mode.
119 * @param {string} pattern The pattern.
120 * @param {bool} valid Whether said pattern is valid in the context of
121 * a content exception setting.
122 */
123 ContentSettings.patternValidityCheckComplete =
124 function(type, mode, pattern, valid) {
125 var exceptionsList =
126 document.querySelector('div[contentType=' + type + '] ' +
127 'list[mode=' + mode + ']');
128 exceptionsList.patternValidityCheckComplete(pattern, valid);
129 };
130
131 // Export
132 return {
133 ContentSettings: ContentSettings
134 };
135
136 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698