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

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

Issue 1156983002: Remove unused "Website Settings" view of content settings (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 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.WebsiteSettings', function() {
6 /** @const */ var Page = cr.ui.pageManager.Page;
7
8 /////////////////////////////////////////////////////////////////////////////
9 // WebsiteSettingsEditor class:
10
11 /**
12 * Encapsulated handling of the website settings editor page.
13 * @constructor
14 * @extends {cr.ui.pageManager.Page}
15 */
16 function WebsiteSettingsEditor() {
17 Page.call(this, 'websiteEdit',
18 loadTimeData.getString('websitesOptionsPageTabTitle'),
19 'website-settings-edit-page');
20 this.permissions = ['geolocation', 'notifications', 'media-stream',
21 'cookies', 'multiple-automatic-downloads', 'images',
22 'plugins', 'popups', 'javascript'];
23 this.permissionsLookup = {
24 'geolocation': 'Location',
25 'notifications': 'Notifications',
26 'media-stream': 'MediaStream',
27 'cookies': 'Cookies',
28 'multiple-automatic-downloads': 'Downloads',
29 'images': 'Images',
30 'plugins': 'Plugins',
31 'popups': 'Popups',
32 'javascript': 'Javascript'
33 };
34 }
35
36 cr.addSingletonGetter(WebsiteSettingsEditor);
37
38 WebsiteSettingsEditor.prototype = {
39 __proto__: Page.prototype,
40
41
42 /** @override */
43 initializePage: function() {
44 Page.prototype.initializePage.call(this);
45
46 $('website-settings-storage-delete-button').onclick = function(event) {
47 chrome.send('deleteLocalStorage');
48 };
49
50 $('website-settings-battery-stop-button').onclick = function(event) {
51 chrome.send('stopOrigin');
52 };
53
54 $('websiteSettingsEditorCancelButton').onclick =
55 PageManager.closeOverlay.bind(PageManager);
56
57 $('websiteSettingsEditorDoneButton').onclick = function(event) {
58 WebsiteSettingsEditor.getInstance().updatePermissions();
59 PageManager.closeOverlay.bind(PageManager)();
60 };
61
62 var permissionList =
63 this.pageDiv.querySelector('.origin-permission-list');
64 for (var key in this.permissions) {
65 permissionList.appendChild(
66 this.makePermissionOption_(this.permissions[key]));
67 }
68 },
69
70 /**
71 * Populates the page with the proper information for a given URL.
72 * @param {string} url The URL of the page.
73 * @private
74 */
75 populatePage: function(url) {
76 this.url = url;
77
78 var titleEl = $('website-title');
79 titleEl.textContent = url;
80 titleEl.style.backgroundImage = getFaviconImageSet(url);
81
82 chrome.send('getOriginInfo', [url]);
83 },
84
85 /**
86 * Populates and displays the page with given origin information.
87 * @param {string} localStorage A string describing the local storage use.
88 * @param {string} batteryUsage A string describing the battery use.
89 * @param {Object} permissions A dictionary of permissions to their
90 * available and current settings, and if it is editable.
91 * @param {boolean} showPage If the page should raised.
92 * @private
93 */
94 populateOrigin_: function(localStorage, batteryUsage, permissions,
95 showPage) {
96 $('local-storage-title').textContent = localStorage;
97 $('battery-title').textContent = batteryUsage;
98 for (var key in permissions) {
99 var selector = $(key + '-select-option');
100
101 var options = permissions[key].options;
102 selector.options.length = 0;
103 for (var option in options) {
104 selector.options[selector.options.length] =
105 new Option(loadTimeData.getString(options[option] + 'Exception'),
106 options[option]);
107 }
108
109 selector.value = permissions[key].setting;
110 selector.originalValue = permissions[key].setting;
111 selector.disabled = !permissions[key].editable;
112 }
113 if (showPage)
114 PageManager.showPageByName('websiteEdit', false);
115 },
116
117 updatePermissions: function() {
118 for (var key in this.permissions) {
119 var selection = $(this.permissions[key] + '-select-option');
120 if (selection.value != selection.originalValue) {
121 chrome.send('setOriginPermission',
122 [this.permissions[key], selection.value]);
123 }
124 }
125 },
126
127 /**
128 * Populates the origin permission list with the different usable
129 * permissions.
130 * @param {string} permissionName A string with the permission name.
131 * @return {Element} The element with the usable permission setting.
132 */
133 makePermissionOption_: function(permissionName) {
134 var permissionOption = cr.doc.createElement('div');
135 permissionOption.className = 'permission-option';
136
137 var permissionNameSpan = cr.doc.createElement('span');
138 permissionNameSpan.className = 'permission-name';
139 permissionNameSpan.textContent = loadTimeData.getString('websites' +
140 this.permissionsLookup[permissionName] + 'Description');
141 permissionOption.appendChild(permissionNameSpan);
142
143 var permissionSelector = cr.doc.createElement('select');
144 permissionSelector.setAttribute('id', permissionName + '-select-option');
145 permissionSelector.className = 'weaktrl permission-selection-option';
146 permissionOption.appendChild(permissionSelector);
147 return permissionOption;
148 },
149 };
150
151 WebsiteSettingsEditor.populateOrigin = function(localStorage, batteryUsage,
152 permissions, showPage) {
153 WebsiteSettingsEditor.getInstance().populateOrigin_(localStorage,
154 batteryUsage,
155 permissions,
156 showPage);
157 };
158
159 WebsiteSettingsEditor.showEditPage = function(url) {
160 WebsiteSettingsEditor.getInstance().populatePage(url);
161 };
162
163 // Export
164 return {
165 WebsiteSettingsEditor: WebsiteSettingsEditor
166 };
167
168 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/options/website_settings.js ('k') | chrome/browser/resources/options/website_settings_edit_site.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698