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

Side by Side Diff: chrome/browser/resources/options/chromeos/change_picture_options.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 // ChangePictureOptions class:
11
12 /**
13 * Encapsulated handling of ChromeOS change picture options page.
14 * @constructor
15 */
16 function ChangePictureOptions() {
17 OptionsPage.call(
18 this,
19 'changePicture',
20 localStrings.getString('changePicturePage'),
21 'change-picture-page');
22 }
23
24 cr.addSingletonGetter(ChangePictureOptions);
25
26 ChangePictureOptions.prototype = {
27 // Inherit ChangePictureOptions from OptionsPage.
28 __proto__: options.OptionsPage.prototype,
29
30 /**
31 * Initializes ChangePictureOptions page.
32 */
33 initializePage: function() {
34 // Call base class implementation to starts preference initialization.
35 OptionsPage.prototype.initializePage.call(this);
36
37 $('take-photo-button').addEventListener('click',
38 this.handleTakePhoto_,
39 false);
40 $('choose-file-button').addEventListener('click',
41 this.handleChooseFile_,
42 false);
43 chrome.send('getAvailableImages');
44 },
45
46 /**
47 * Handler for when the user clicks on "Take photo" button.
48 * @private
49 * @param {Event} e Click Event.
50 */
51 handleTakePhoto_: function(e) {
52 chrome.send('takePhoto');
53 OptionsPage.navigateToPage('personal');
54 },
55
56 /**
57 * Handler for when the user clicks on "Choose a file" button.
58 * @private
59 * @param {Event} e Click Event.
60 */
61 handleChooseFile_: function(e) {
62 chrome.send('chooseFile');
63 OptionsPage.navigateToPage('personal');
64 },
65
66 /**
67 * Handler for when the user clicks on any available user image.
68 * @private
69 * @param {Event} e Click Event.
70 */
71 handleImageClick_: function(e) {
72 chrome.send('selectImage', [e.target.src]);
73 OptionsPage.navigateToPage('personal');
74 },
75
76 /**
77 * Appends new image to the end of the image list.
78 * @param {string} src A url for the user image.
79 * @private
80 */
81 addUserImage_: function(src) {
82 var imageElement = document.createElement('img');
83 imageElement.src = src;
84 imageElement.addEventListener('click',
85 this.handleImageClick_,
86 false);
87 var divElement = document.createElement('div');
88 divElement.classList.add('list-element');
89 divElement.appendChild(imageElement);
90 $('images-list').appendChild(divElement);
91 },
92
93 /**
94 * Inserts received images before "Choose file" button.
95 * @param {List} images A list of urls to user images.
96 * @private
97 */
98 addUserImages_: function(images) {
99 for (var i = 0; i < images.length; i++) {
100 var imageUrl = images[i];
101 this.addUserImage_(imageUrl);
102 }
103 },
104 };
105
106 // Forward public APIs to private implementations.
107 [
108 'addUserImages',
109 ].forEach(function(name) {
110 ChangePictureOptions[name] = function(value) {
111 ChangePictureOptions.getInstance()[name + '_'](value);
112 };
113 });
114
115 // Export
116 return {
117 ChangePictureOptions: ChangePictureOptions
118 };
119
120 });
121
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698