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

Side by Side Diff: chrome/browser/resources/chromeos/arc_support/background.js

Issue 2104893003: Adds a new checkbox for backup and restore in opt-in flow. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge with ToT Created 4 years, 5 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 /** 5 /**
6 * UI Pages. Note the order must be in sync with the ArcAuthService::UIPage 6 * UI Pages. Note the order must be in sync with the ArcAuthService::UIPage
7 * enum. 7 * enum.
8 * @type {Array<string>} 8 * @type {Array<string>}
9 */ 9 */
10 var UI_PAGES = ['none', 10 var UI_PAGES = ['none',
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 * @param {boolean} silentMode Indicates if OptIn started in silent mode. 99 * @param {boolean} silentMode Indicates if OptIn started in silent mode.
100 */ 100 */
101 function initialize(data, deviceId, silentMode) { 101 function initialize(data, deviceId, silentMode) {
102 currentDeviceId = deviceId; 102 currentDeviceId = deviceId;
103 window.silentMode = silentMode; 103 window.silentMode = silentMode;
104 var doc = appWindow.contentWindow.document; 104 var doc = appWindow.contentWindow.document;
105 var loadTimeData = appWindow.contentWindow.loadTimeData; 105 var loadTimeData = appWindow.contentWindow.loadTimeData;
106 loadTimeData.data = data; 106 loadTimeData.data = data;
107 appWindow.contentWindow.i18nTemplate.process(doc, loadTimeData); 107 appWindow.contentWindow.i18nTemplate.process(doc, loadTimeData);
108 var countryCode = data.countryCode.toLowerCase(); 108 var countryCode = data.countryCode.toLowerCase();
109 setBackupRestoreMode(data.textBackupRestore);
109 110
110 var scriptSetCountryCode = 'document.countryCode = \'' + countryCode + '\';'; 111 var scriptSetCountryCode = 'document.countryCode = \'' + countryCode + '\';';
111 termsView.addContentScripts([ 112 termsView.addContentScripts([
112 { name: 'preProcess', 113 { name: 'preProcess',
113 matches: ['https://play.google.com/*'], 114 matches: ['https://play.google.com/*'],
114 js: { code: scriptSetCountryCode }, 115 js: { code: scriptSetCountryCode },
115 run_at: 'document_start' 116 run_at: 'document_start'
116 }, 117 },
117 { name: 'postProcess', 118 { name: 'postProcess',
118 matches: ['https://play.google.com/*'], 119 matches: ['https://play.google.com/*'],
119 css: { files: ['playstore.css'] }, 120 css: { files: ['playstore.css'] },
120 js: { files: ['playstore.js'] }, 121 js: { files: ['playstore.js'] },
121 run_at: 'document_end' 122 run_at: 'document_end'
122 }]); 123 }]);
123 124
124 // Applying localization changes page layout, update terms height. 125 // Applying localization changes page layout, update terms height.
125 updateTermsHeight(); 126 updateTermsHeight();
126 } 127 }
127 128
128 /** 129 /**
130 * Handles the event when the user clicks on a learn more link. Opens the
131 * support page for the user.
132 * @param {Event} event
133 */
134 var onLearnMore = function(event) {
135 var url = 'https://support.google.com/chromebook?p=playapps';
136 chrome.browser.openTab({'url': url}, function() {});
137 event.preventDefault();
138 };
139
140 /**
129 * Sets current metrics mode. 141 * Sets current metrics mode.
130 * @param {string} text Describes current metrics state. 142 * @param {string} text Describes current metrics state.
131 * @param {boolean} canEnable Defines if user is allowed to change this metrics 143 * @param {boolean} canEnable Defines if user is allowed to change this metrics
132 * option. 144 * option.
133 * @param {boolean} on Defines if metrics are active currently. 145 * @param {boolean} on Defines if metrics are active currently.
134 */ 146 */
135 function setMetricsMode(text, canEnable, on) { 147 function setMetricsMode(text, canEnable, on) {
136 var doc = appWindow.contentWindow.document; 148 var doc = appWindow.contentWindow.document;
137 var enableMetrics = doc.getElementById('enable-metrics'); 149 var enableMetrics = doc.getElementById('enable-metrics');
138 enableMetrics.hidden = !canEnable; 150 enableMetrics.hidden = !canEnable;
139 enableMetrics.checked = on; 151 enableMetrics.checked = on;
140 152
141 var onSettings = function(event) { 153 var onSettings = function(event) {
142 chrome.browser.openTab({'url': 'chrome://settings'}, function() {}); 154 chrome.browser.openTab({'url': 'chrome://settings'}, function() {});
143 event.preventDefault(); 155 event.preventDefault();
144 }; 156 };
145 157
146 var onLearnMore = function(event) {
147 var url = 'https://support.google.com/chromebook?p=playapps';
148 chrome.browser.openTab({'url': url}, function() {});
149 event.preventDefault();
150 };
151
152 doc.getElementById('text-metrics').innerHTML = text; 158 doc.getElementById('text-metrics').innerHTML = text;
153 doc.getElementById('settings-link').addEventListener('click', onSettings); 159 doc.getElementById('settings-link').addEventListener('click', onSettings);
154 doc.getElementById('learn-more-link').addEventListener('click', onLearnMore); 160 doc.getElementById('learn-more-link-metrics').addEventListener('click',
161 onLearnMore);
155 162
156 // Applying metrics mode changes page layout, update terms height. 163 // Applying metrics mode changes page layout, update terms height.
157 updateTermsHeight(); 164 updateTermsHeight();
158 } 165 }
159 166
160 /** 167 /**
168 * Sets current metrics mode.
169 * @param {string} text String used to display next to checkbox.
170 */
171 function setBackupRestoreMode(text) {
172 var doc = appWindow.contentWindow.document;
173 var enableBackupRestoreEl = doc.getElementById('enable-backup-restore');
174 enableBackupRestoreEl.checked = true;
xiyuan 2016/06/29 21:36:38 We should take the on/off value passed in from Arc
malaykeshav 2016/06/30 02:46:19 The default value if always checked.
175
176 doc.getElementById('text-backup-restore').innerHTML = text;
177 doc.getElementById('learn-more-link-backup-restore').addEventListener('click',
178 onLearnMore);
179 }
180
181 /**
161 * Updates terms view height manually because webview is not automatically 182 * Updates terms view height manually because webview is not automatically
162 * resized in case parent div element gets resized. 183 * resized in case parent div element gets resized.
163 */ 184 */
164 function updateTermsHeight() { 185 function updateTermsHeight() {
165 var setTermsHeight = function() { 186 var setTermsHeight = function() {
166 var doc = appWindow.contentWindow.document; 187 var doc = appWindow.contentWindow.document;
167 var termsContainer = doc.getElementById('terms-container'); 188 var termsContainer = doc.getElementById('terms-container');
168 var style = window.getComputedStyle(termsContainer, null); 189 var style = window.getComputedStyle(termsContainer, null);
169 var height = style.getPropertyValue('height'); 190 var height = style.getPropertyValue('height');
170 termsView.style.height = height; 191 termsView.style.height = height;
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 termsView.addEventListener('newwindow', function(event) { 429 termsView.addEventListener('newwindow', function(event) {
409 event.preventDefault(); 430 event.preventDefault();
410 chrome.browser.openTab({'url': event.targetUrl}, function() {}); 431 chrome.browser.openTab({'url': event.targetUrl}, function() {});
411 }); 432 });
412 433
413 var onAgree = function() { 434 var onAgree = function() {
414 var enableMetrics = doc.getElementById('enable-metrics'); 435 var enableMetrics = doc.getElementById('enable-metrics');
415 if (!enableMetrics.hidden && enableMetrics.checked) { 436 if (!enableMetrics.hidden && enableMetrics.checked) {
416 sendNativeMessage('enableMetrics'); 437 sendNativeMessage('enableMetrics');
417 } 438 }
439
440 var enableBackupRestore = doc.getElementById('enable-backup-restore');
441 if (enableBackupRestore.checked) {
442 sendNativeMessage('enableBackupRestore');
443 }
444
418 sendNativeMessage('startLso'); 445 sendNativeMessage('startLso');
419 }; 446 };
420 447
421 var onCancel = function() { 448 var onCancel = function() {
422 if (appWindow) { 449 if (appWindow) {
423 windowClosedInternally = false; 450 windowClosedInternally = false;
424 appWindow.close(); 451 appWindow.close();
425 appWindow = null; 452 appWindow = null;
426 } 453 }
427 }; 454 };
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 type: 'chrome', 498 type: 'chrome',
472 color: '#ffffff' 499 color: '#ffffff'
473 }, 500 },
474 'innerBounds': { 501 'innerBounds': {
475 'width': 960, 502 'width': 960,
476 'height': 688 503 'height': 688
477 } 504 }
478 }; 505 };
479 chrome.app.window.create('main.html', options, onWindowCreated); 506 chrome.app.window.create('main.html', options, onWindowCreated);
480 }); 507 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698