| Index: chrome/browser/resources/options/website_settings.js
|
| diff --git a/chrome/browser/resources/options/website_settings.js b/chrome/browser/resources/options/website_settings.js
|
| deleted file mode 100644
|
| index f8aa1360b541b74ba199e0e612673725c6487b0a..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/resources/options/website_settings.js
|
| +++ /dev/null
|
| @@ -1,270 +0,0 @@
|
| -// Copyright 2014 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.
|
| -
|
| -cr.define('options.ContentSettings', function() {
|
| - /** @const */ var Page = cr.ui.pageManager.Page;
|
| - /** @const */ var PageManager = cr.ui.pageManager.PageManager;
|
| - /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel;
|
| -
|
| - // Lookup table to generate the i18n strings.
|
| - /** @const */ var permissionsLookup = {
|
| - 'geolocation': 'location',
|
| - 'notifications': 'notifications',
|
| - 'media-stream': 'mediaStream',
|
| - 'cookies': 'cookies',
|
| - 'multiple-automatic-downloads': 'multipleAutomaticDownloads',
|
| - 'images': 'images',
|
| - 'plugins': 'plugins',
|
| - 'popups': 'popups',
|
| - 'javascript': 'javascript',
|
| - 'battery': 'battery',
|
| - 'storage': 'storage'
|
| - };
|
| -
|
| - /////////////////////////////////////////////////////////////////////////////
|
| - // WebsiteSettingsManager class:
|
| -
|
| - /**
|
| - * Encapsulated handling of the website settings page.
|
| - * @constructor
|
| - * @extends {cr.ui.pageManager.Page}
|
| - */
|
| - function WebsiteSettingsManager() {
|
| - Page.call(this, 'websiteSettings',
|
| - loadTimeData.getString('websitesOptionsPageTabTitle'),
|
| - 'website-settings-page');
|
| - }
|
| -
|
| - cr.addSingletonGetter(WebsiteSettingsManager);
|
| -
|
| - WebsiteSettingsManager.prototype = {
|
| - __proto__: Page.prototype,
|
| -
|
| - /**
|
| - * The saved allowed origins list.
|
| - * @type {options.OriginList}
|
| - * @private
|
| - */
|
| - allowedList_: null,
|
| -
|
| - /**
|
| - * The saved blocked origins list.
|
| - * @type {options.OriginList}
|
| - * @private
|
| - */
|
| - blockedList_: null,
|
| -
|
| - /** @override */
|
| - initializePage: function() {
|
| - Page.prototype.initializePage.call(this);
|
| -
|
| - $('website-settings-overlay-confirm').onclick =
|
| - PageManager.closeOverlay.bind(PageManager);
|
| -
|
| - $('global-setting').onchange = function(event) {
|
| - chrome.send('setDefaultContentSetting', [this.value]);
|
| - };
|
| -
|
| - $('global-setting-toggle').onchange = function(event) {
|
| - var value = event.target.checked;
|
| - chrome.send('setGlobalEnabled', [value]);
|
| - };
|
| -
|
| - var searchBox = $('website-settings-search-box');
|
| - searchBox.addEventListener('search',
|
| - this.handleSearchQueryChange_.bind(this));
|
| -
|
| - searchBox.onkeydown = function(e) {
|
| - if (e.keyIdentifier == 'Enter')
|
| - e.preventDefault();
|
| - };
|
| -
|
| - this.createOriginsList_();
|
| - this.updatePage_('geolocation');
|
| - },
|
| -
|
| - /**
|
| - * Called after the page has been shown. Show the content settings or
|
| - * resource auditing for the location's hash.
|
| - */
|
| - didShowPage: function() {
|
| - var hash = this.hash;
|
| - if (hash)
|
| - hash = hash.slice(1);
|
| - else
|
| - hash = 'geolocation';
|
| - this.updatePage_(hash);
|
| - },
|
| -
|
| - /**
|
| - * Creates, decorates and initializes the origin list.
|
| - * @private
|
| - */
|
| - createOriginsList_: function() {
|
| - var allowedList = $('allowed-origin-list');
|
| - options.OriginList.decorate(allowedList);
|
| - this.allowedList_ = assertInstanceof(allowedList, options.OriginList);
|
| - this.allowedList_.autoExpands = true;
|
| -
|
| - var blockedList = $('blocked-origin-list');
|
| - options.OriginList.decorate(blockedList);
|
| - this.blockedList_ = assertInstanceof(blockedList, options.OriginList);
|
| - this.blockedList_.autoExpands = true;
|
| - },
|
| -
|
| - /**
|
| - * Populate an origin list with all of the origins with a given permission
|
| - * or that are using a given resource.
|
| - * @param {options.OriginList} originList A list to populate.
|
| - * @param {!Object} originDict A dictionary of origins to their usage, which
|
| - will be used to sort the origins.
|
| - * @private
|
| - */
|
| - populateOriginsHelper_: function(originList, originDict) {
|
| - var origins = Object.keys(originDict).map(function(origin) {
|
| - // |usage| means the time of last usage in seconds since epoch
|
| - // (Jan 1, 1970) for permissions and means the amount of local storage
|
| - // in bytes used for local storage.
|
| - return {
|
| - origin: origin,
|
| - usage: originDict[origin].usage,
|
| - usageString: originDict[origin].usageString,
|
| - readableName: originDict[origin].readableName,
|
| - };
|
| - });
|
| - origins.sort(function(first, second) {
|
| - return second.usage - first.usage;
|
| - });
|
| - originList.dataModel = new ArrayDataModel(origins);
|
| - },
|
| -
|
| -
|
| - /**
|
| - * Populate the origin lists with all of the origins with a given permission
|
| - * or that are using a given resource, potentially split by if allowed or
|
| - * denied. If no blocked dictionary is provided, only the allowed list is
|
| - * shown.
|
| - * @param {!Object} allowedDict A dictionary of origins to their usage,
|
| - which will be used to sort the origins in the main/allowed list.
|
| - * @param {!Object} blockedDict An optional dictionary of origins to their
|
| - usage, which will be used to sort the origins in the blocked list.
|
| - * @param {boolean} isGloballyEnabled If the content setting is turned on.
|
| - * @private
|
| - */
|
| - populateOrigins: function(allowedDict, blockedDict, isGloballyEnabled) {
|
| - this.populateOriginsHelper_(this.allowedList_, allowedDict);
|
| - if (blockedDict) {
|
| - this.populateOriginsHelper_(this.blockedList_, blockedDict);
|
| - this.blockedList_.hidden = false;
|
| - $('blocked-origin-list-title').hidden = false;
|
| - this.allowedList_.classList.remove('nonsplit-origin-list');
|
| - } else {
|
| - this.blockedList_.hidden = true;
|
| - $('blocked-origin-list-title').hidden = true;
|
| - $('allowed-origin-list-title').hidden = true;
|
| - this.allowedList_.classList.add('nonsplit-origin-list');
|
| - }
|
| - $('global-setting-toggle').checked = isGloballyEnabled;
|
| - },
|
| -
|
| - /**
|
| - * Update the table with the origins filtered by the value in the search
|
| - * box.
|
| - * @private
|
| - */
|
| - searchOrigins: function() {
|
| - var filter = $('website-settings-search-box').value;
|
| - chrome.send('updateOriginsSearchResults', [filter]);
|
| - },
|
| -
|
| - /**
|
| - * Handle and delay search query changes.
|
| - * @param {!Event} e The event object.
|
| - * @private
|
| - */
|
| - handleSearchQueryChange_: function(e) {
|
| - if (this.queryDelayTimerId_)
|
| - window.clearTimeout(this.queryDelayTimerId_);
|
| -
|
| - this.queryDelayTimerId_ = window.setTimeout(this.searchOrigins.bind(this),
|
| - 160);
|
| - },
|
| -
|
| - /**
|
| - * Sets the default content setting dropdown on the page to the current
|
| - * default.
|
| - * @param {!Object} dict A dictionary with the management and value of the
|
| - * default setting for the last selected content setting..
|
| - */
|
| - updateDefault: function(dict) {
|
| - // TODO(dhnishi): Remove duplicate default handling in the Content
|
| - // Settings page and here.
|
| - var managedBy = dict.managedBy;
|
| - var controlledBy = managedBy == 'policy' || managedBy == 'extension' ?
|
| - managedBy : null;
|
| - $('global-setting').disabled = (managedBy != 'default');
|
| -
|
| - var options = $('global-setting').options;
|
| - for (var i = 0; i < options.length; i++) {
|
| - if (options[i].value == dict.value) {
|
| - options.selectedIndex = i;
|
| - }
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * Updates the page with the given content setting or resource name's
|
| - * information.
|
| - * @param {string} typeName The name of the content setting or resource.
|
| - */
|
| - updatePage_: function(typeName) {
|
| - if (typeName == 'storage')
|
| - chrome.send('updateLocalStorage');
|
| - else if (typeName == 'battery')
|
| - chrome.send('updateBatteryUsage');
|
| - else
|
| - chrome.send('updateOrigins', [typeName]);
|
| -
|
| - var options = $('global-setting').options;
|
| - options.length = 0;
|
| - var permissionString = permissionsLookup[typeName];
|
| - var permissions = ['Allow', 'Ask', 'Block'];
|
| - for (var i = 0; i < permissions.length; i++) {
|
| - var valueId = permissionString + permissions[i];
|
| - if (loadTimeData.valueExists(valueId)) {
|
| - options.add(new Option(loadTimeData.getString(valueId),
|
| - permissions[i].toLowerCase()));
|
| - }
|
| - }
|
| - if (options.length == 0) {
|
| - $('website-settings-global-controls').hidden = true;
|
| - } else {
|
| - $('website-settings-global-controls').hidden = false;
|
| - chrome.send('updateDefaultSetting');
|
| - }
|
| -
|
| - $('website-settings-title').textContent =
|
| - loadTimeData.getString(permissionString + 'TabLabel');
|
| - }
|
| - };
|
| -
|
| - WebsiteSettingsManager.populateOrigins = function(allowedDict, blockedDict,
|
| - isGloballyEnabled) {
|
| - WebsiteSettingsManager.getInstance().populateOrigins(allowedDict,
|
| - blockedDict, isGloballyEnabled);
|
| - };
|
| -
|
| - WebsiteSettingsManager.updateDefault = function(dict) {
|
| - WebsiteSettingsManager.getInstance().updateDefault(dict);
|
| - };
|
| -
|
| - WebsiteSettingsManager.showWebsiteSettings = function(hash) {
|
| - PageManager.showPageByName('websiteSettings', true, {hash: '#' + hash});
|
| - };
|
| -
|
| - // Export
|
| - return {
|
| - WebsiteSettingsManager: WebsiteSettingsManager
|
| - };
|
| -});
|
|
|