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

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

Issue 566863005: Expose the Website Settings page in the Content Setting page if it is enabled via flag. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 cr.define('options', function() { 5 cr.define('options', function() {
6 /** @const */ var Page = cr.ui.pageManager.Page; 6 /** @const */ var Page = cr.ui.pageManager.Page;
7 /** @const */ var PageManager = cr.ui.pageManager.PageManager; 7 /** @const */ var PageManager = cr.ui.pageManager.PageManager;
8 8
9 // Lookup table to generate the i18n strings.
10 /** @const */ var permissionsLookup = {
11 'location': 'location',
12 'notifications': 'notifications',
13 'media-stream': 'mediaStream',
14 'cookies': 'cookies',
15 'multiple-automatic-downloads': 'multipleAutomaticDownloads',
16 'images': 'images',
17 'plugins': 'plugins',
18 'popups': 'popups',
19 'javascript': 'javascript'
20 };
21
9 ////////////////////////////////////////////////////////////////////////////// 22 //////////////////////////////////////////////////////////////////////////////
10 // ContentSettings class: 23 // ContentSettings class:
11 24
12 /** 25 /**
13 * Encapsulated handling of content settings page. 26 * Encapsulated handling of content settings page.
14 * @constructor 27 * @constructor
15 */ 28 */
16 function ContentSettings() { 29 function ContentSettings() {
17 this.activeNavTab = null; 30 this.activeNavTab = null;
18 Page.call(this, 'content', 31 Page.call(this, 'content',
(...skipping 21 matching lines...) Expand all
40 var hash = event.currentTarget.getAttribute('contentType'); 53 var hash = event.currentTarget.getAttribute('contentType');
41 var url = page.name + '#' + hash; 54 var url = page.name + '#' + hash;
42 uber.pushState({pageName: page.name}, url); 55 uber.pushState({pageName: page.name}, url);
43 56
44 // Navigate after the local history has been replaced in order to have 57 // Navigate after the local history has been replaced in order to have
45 // the correct hash loaded. 58 // the correct hash loaded.
46 PageManager.showPageByName('contentExceptions', false); 59 PageManager.showPageByName('contentExceptions', false);
47 }; 60 };
48 } 61 }
49 62
63 var experimentalExceptionsButtons =
64 this.pageDiv.querySelectorAll('.website-settings-permission-button');
65 for (var i = 0; i < experimentalExceptionsButtons.length; i++) {
66 experimentalExceptionsButtons[i].onclick = function(event) {
67 var page = WebsiteSettingsManager.getInstance();
68 var hash = event.currentTarget.getAttribute('contentType');
69 var url = page.name + '#' + hash;
70 uber.pushState({pageName: page.name}, url);
71
72 // Navigate after the local history has been replaced in order to have
73 // the correct hash loaded.
74 PageManager.showPageByName('websiteSettings', false);
75 };
76 }
77
50 var manageHandlersButton = $('manage-handlers-button'); 78 var manageHandlersButton = $('manage-handlers-button');
51 if (manageHandlersButton) { 79 if (manageHandlersButton) {
52 manageHandlersButton.onclick = function(event) { 80 manageHandlersButton.onclick = function(event) {
53 PageManager.showPageByName('handlers'); 81 PageManager.showPageByName('handlers');
54 }; 82 };
55 } 83 }
56 84
57 if (cr.isChromeOS) { 85 if (cr.isChromeOS) {
58 // Disable some controls for Guest in Chrome OS. 86 // Disable some controls for Guest in Chrome OS.
59 UIAccountTweaks.applyGuestSessionVisibility(document); 87 UIAccountTweaks.applyGuestSessionVisibility(document);
(...skipping 11 matching lines...) Expand all
71 $('content-settings-overlay-confirm').onclick = 99 $('content-settings-overlay-confirm').onclick =
72 PageManager.closeOverlay.bind(PageManager); 100 PageManager.closeOverlay.bind(PageManager);
73 101
74 $('media-pepper-flash-default').hidden = true; 102 $('media-pepper-flash-default').hidden = true;
75 $('media-pepper-flash-exceptions').hidden = true; 103 $('media-pepper-flash-exceptions').hidden = true;
76 104
77 $('media-select-mic').addEventListener('change', 105 $('media-select-mic').addEventListener('change',
78 ContentSettings.setDefaultMicrophone_); 106 ContentSettings.setDefaultMicrophone_);
79 $('media-select-camera').addEventListener('change', 107 $('media-select-camera').addEventListener('change',
80 ContentSettings.setDefaultCamera_); 108 ContentSettings.setDefaultCamera_);
109
110 if (loadTimeData.getBoolean('websiteSettingsManagerEnabled')) {
111 var oldUI =
112 this.pageDiv.querySelectorAll('.replace-with-website-settings');
113 for (var i = 0; i < oldUI.length; i++) {
114 oldUI[i].hidden = true;
115 }
116
117 var newUI =
118 this.pageDiv.querySelectorAll('.experimental-website-settings');
119 for (var i = 0; i < newUI.length; i++) {
120 newUI[i].hidden = false;
121 }
122 }
81 }, 123 },
82 }; 124 };
83 125
84 ContentSettings.updateHandlersEnabledRadios = function(enabled) { 126 ContentSettings.updateHandlersEnabledRadios = function(enabled) {
85 var selector = '#content-settings-page input[type=radio][value=' + 127 var selector = '#content-settings-page input[type=radio][value=' +
86 (enabled ? 'allow' : 'block') + '].handler-radio'; 128 (enabled ? 'allow' : 'block') + '].handler-radio';
87 document.querySelector(selector).checked = true; 129 document.querySelector(selector).checked = true;
88 }; 130 };
89 131
90 /** 132 /**
91 * Sets the values for all the content settings radios. 133 * Sets the values for all the content settings radios and labels.
92 * @param {Object} dict A mapping from radio groups to the checked value for 134 * @param {Object} dict A mapping from radio groups to the checked value for
93 * that group. 135 * that group.
94 */ 136 */
95 ContentSettings.setContentFilterSettingsValue = function(dict) { 137 ContentSettings.setContentFilterSettingsValue = function(dict) {
96 for (var group in dict) { 138 for (var group in dict) {
139 var settingLabel = $(group + '-default-string');
140 if (settingLabel) {
141 var value = dict[group].value;
142 var valueId =
143 permissionsLookup[group] + value[0].toUpperCase() + value.slice(1);
144 settingLabel.textContent = loadTimeData.getString(valueId);
145 }
146
97 var managedBy = dict[group].managedBy; 147 var managedBy = dict[group].managedBy;
98 var controlledBy = managedBy == 'policy' || managedBy == 'extension' ? 148 var controlledBy = managedBy == 'policy' || managedBy == 'extension' ?
99 managedBy : null; 149 managedBy : null;
100 document.querySelector('input[type=radio][name=' + group + '][value=' + 150 document.querySelector('input[type=radio][name=' + group + '][value=' +
101 dict[group].value + ']').checked = true; 151 dict[group].value + ']').checked = true;
102 var radios = document.querySelectorAll('input[type=radio][name=' + 152 var radios = document.querySelectorAll('input[type=radio][name=' +
103 group + ']'); 153 group + ']');
104 for (var i = 0, len = radios.length; i < len; i++) { 154 for (var i = 0, len = radios.length; i < len; i++) {
105 radios[i].disabled = (managedBy != 'default'); 155 radios[i].disabled = (managedBy != 'default');
106 radios[i].controlledBy = controlledBy; 156 radios[i].controlledBy = controlledBy;
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 var deviceSelect = $('media-select-camera'); 354 var deviceSelect = $('media-select-camera');
305 chrome.send('setDefaultCaptureDevice', ['camera', deviceSelect.value]); 355 chrome.send('setDefaultCaptureDevice', ['camera', deviceSelect.value]);
306 }; 356 };
307 357
308 // Export 358 // Export
309 return { 359 return {
310 ContentSettings: ContentSettings 360 ContentSettings: ContentSettings
311 }; 361 };
312 362
313 }); 363 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698