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

Unified Diff: chrome/browser/resources/options/browser_options_startup_page_list.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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/options/browser_options_startup_page_list.js
===================================================================
--- chrome/browser/resources/options/browser_options_startup_page_list.js (revision 84868)
+++ chrome/browser/resources/options/browser_options_startup_page_list.js (working copy)
@@ -1,134 +0,0 @@
-// Copyright (c) 2010 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.browser_options', function() {
- const AutocompleteList = options.AutocompleteList;
- const InlineEditableItem = options.InlineEditableItem;
- const InlineEditableItemList = options.InlineEditableItemList;
-
- /**
- * Creates a new startup page list item.
- * @param {Object} pageInfo The page this item represents.
- * @constructor
- * @extends {cr.ui.ListItem}
- */
- function StartupPageListItem(pageInfo) {
- var el = cr.doc.createElement('div');
- el.pageInfo_ = pageInfo;
- StartupPageListItem.decorate(el);
- return el;
- }
-
- /**
- * Decorates an element as a startup page list item.
- * @param {!HTMLElement} el The element to decorate.
- */
- StartupPageListItem.decorate = function(el) {
- el.__proto__ = StartupPageListItem.prototype;
- el.decorate();
- };
-
- StartupPageListItem.prototype = {
- __proto__: InlineEditableItem.prototype,
-
- /**
- * Input field for editing the page url.
- * @type {HTMLElement}
- * @private
- */
- urlField_: null,
-
- /** @inheritDoc */
- decorate: function() {
- InlineEditableItem.prototype.decorate.call(this);
-
- var pageInfo = this.pageInfo_;
-
- if (pageInfo['modelIndex'] == '-1') {
- this.isPlaceholder = true;
- pageInfo['title'] = localStrings.getString('startupAddLabel');
- pageInfo['url'] = '';
- }
-
- var titleEl = this.ownerDocument.createElement('div');
- titleEl.className = 'title';
- titleEl.classList.add('favicon-cell');
- titleEl.textContent = pageInfo['title'];
- if (!this.isPlaceholder) {
- titleEl.style.backgroundImage = url('chrome://favicon/' +
- pageInfo['url']);
- titleEl.title = pageInfo['tooltip'];
- }
-
- this.contentElement.appendChild(titleEl);
-
- var urlEl = this.createEditableTextCell(pageInfo['url']);
- urlEl.className = 'url';
- this.contentElement.appendChild(urlEl);
-
- var urlField = urlEl.querySelector('input')
- urlField.required = true;
- this.urlField_ = urlField;
-
- this.addEventListener('commitedit', this.onEditCommitted_);
-
- var self = this;
- urlField.addEventListener('focus', function(event) {
- self.parentNode.autocompleteList.attachToInput(urlField);
- });
- urlField.addEventListener('blur', function(event) {
- self.parentNode.autocompleteList.detach();
- });
- },
-
- /** @inheritDoc */
- get currentInputIsValid() {
- return this.urlField_.validity.valid;
- },
-
- /** @inheritDoc */
- get hasBeenEdited() {
- return this.urlField_.value != this.pageInfo_['url'];
- },
-
- /**
- * Called when committing an edit; updates the model.
- * @param {Event} e The end event.
- * @private
- */
- onEditCommitted_: function(e) {
- var url = this.urlField_.value;
- if (this.isPlaceholder)
- chrome.send('addStartupPage', [url]);
- else
- chrome.send('editStartupPage', [this.pageInfo_['modelIndex'], url]);
- },
- };
-
- var StartupPageList = cr.ui.define('list');
-
- StartupPageList.prototype = {
- __proto__: InlineEditableItemList.prototype,
-
- /**
- * An autocomplete suggestion list for URL editing.
- * @type {AutocompleteList}
- */
- autocompleteList: null,
-
- /** @inheritDoc */
- createItem: function(pageInfo) {
- return new StartupPageListItem(pageInfo);
- },
-
- /** @inheritDoc */
- deleteItemAtIndex: function(index) {
- chrome.send('removeStartupPages', [String(index)]);
- },
- };
-
- return {
- StartupPageList: StartupPageList
- };
-});

Powered by Google App Engine
This is Rietveld 408576698