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

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

Issue 2388763002: Remove controller concept from the ARC support extension. (Closed)
Patch Set: Created 4 years, 2 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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 72
73 /** 73 /**
74 * Host window inner default height. 74 * Host window inner default height.
75 * @const {number} 75 * @const {number}
76 */ 76 */
77 var INNER_HEIGHT = 688; 77 var INNER_HEIGHT = 688;
78 78
79 79
80 /** 80 /**
81 * Sends a native message to ArcSupportHost. 81 * Sends a native message to ArcSupportHost.
82 * @param {string} code The action code in message. 82 * @param {string} event The event type in message.
83 * @param {Object=} opt_Props Extra properties for the message. 83 * @param {Object=} opt_props Extra properties for the message.
84 */ 84 */
85 function sendNativeMessage(code, opt_Props) { 85 function sendNativeMessage(event, opt_props) {
86 var message = Object.assign({'action': code}, opt_Props); 86 var message = Object.assign({'event': event}, opt_props);
87 port.postMessage(message); 87 port.postMessage(message);
88 } 88 }
89 89
90 /** 90 /**
91 * Helper function that sets inner content for an option which includes text, 91 * Helper function that sets inner content for an option which includes text,
92 * link to 'learn more' section. This also creates an indicator showing that 92 * link to 'learn more' section. This also creates an indicator showing that
93 * option is controlled by policy and inserts it before link element. 93 * option is controlled by policy and inserts it before link element.
94 * @param {string} textId Id of the label element to process. 94 * @param {string} textId Id of the label element to process.
95 * @param {string} learnMoreLinkId Id inner link to 'learn more' element. 95 * @param {string} learnMoreLinkId Id inner link to 'learn more' element.
96 * @param {string} indicatorId Id of indicator to create. 96 * @param {string} indicatorId Id of indicator to create.
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 // it safe to make it up to window width. 462 // it safe to make it up to window width.
463 lsoView.style.width = '100%'; 463 lsoView.style.width = '100%';
464 return; 464 return;
465 } 465 }
466 466
467 lsoView.executeScript({code: 'document.title;'}, function(results) { 467 lsoView.executeScript({code: 'document.title;'}, function(results) {
468 var authCodePrefix = 'Success code='; 468 var authCodePrefix = 'Success code=';
469 if (results && results.length == 1 && typeof results[0] == 'string' && 469 if (results && results.length == 1 && typeof results[0] == 'string' &&
470 results[0].substring(0, authCodePrefix.length) == authCodePrefix) { 470 results[0].substring(0, authCodePrefix.length) == authCodePrefix) {
471 var authCode = results[0].substring(authCodePrefix.length); 471 var authCode = results[0].substring(authCodePrefix.length);
472 sendNativeMessage('setAuthCode', {code: authCode}); 472 sendNativeMessage('onAuthSucceeded', {'code': authCode});
Luis Héctor Chávez 2016/10/03 20:40:16 Google's JavaScript style guide indicate that obje
hidehiko 2016/10/04 04:48:19 Updated as you suggested.
473 } else { 473 } else {
474 setErrorMessage(appWindow.contentWindow.loadTimeData.getString( 474 setErrorMessage(appWindow.contentWindow.loadTimeData.getString(
475 'authorizationFailed')); 475 'authorizationFailed'));
476 showPage('error'); 476 showPage('error');
477 } 477 }
478 }); 478 });
479 }; 479 };
480 480
481 var requestFilter = { 481 var requestFilter = {
482 urls: ['<all_urls>'], 482 urls: ['<all_urls>'],
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 // webview is not allowed to open links in the new window. Hook these events 522 // webview is not allowed to open links in the new window. Hook these events
523 // and open links in context of main page. 523 // and open links in context of main page.
524 termsView.addEventListener('newwindow', function(event) { 524 termsView.addEventListener('newwindow', function(event) {
525 event.preventDefault(); 525 event.preventDefault();
526 chrome.browser.openTab({'url': event.targetUrl}, function() {}); 526 chrome.browser.openTab({'url': event.targetUrl}, function() {});
527 }); 527 });
528 528
529 var onAgree = function() { 529 var onAgree = function() {
530 termsAccepted = true; 530 termsAccepted = true;
531 531
532 var data = {};
532 var enableMetrics = doc.getElementById('enable-metrics'); 533 var enableMetrics = doc.getElementById('enable-metrics');
533 if (!enableMetrics.hidden) { 534 if (!enableMetrics.hidden) {
534 sendNativeMessage('enableMetrics', { 535 data['isMetricsEnabled'] = enableMetrics.checked;
Luis Héctor Chávez 2016/10/03 20:40:16 I'm not _entirely_ sure that this particular rule
hidehiko 2016/10/04 04:48:19 Done.
535 'enabled': enableMetrics.checked
536 });
537 } 536 }
538
539 var enableBackupRestore = doc.getElementById('enable-backup-restore'); 537 var enableBackupRestore = doc.getElementById('enable-backup-restore');
540 sendNativeMessage('setBackupRestore', { 538 data['isBackupRestoreEnabled'] = enableBackupRestore.checked;
541 'enabled': enableBackupRestore.checked
542 });
543 539
544 var enableLocationService = doc.getElementById('enable-location-service'); 540 var enableLocationService = doc.getElementById('enable-location-service');
545 sendNativeMessage('setLocationService', { 541 data['isLocationServiceEnabled'] = enableLocationService.checked;
546 'enabled': enableLocationService.checked
547 });
548 542
549 sendNativeMessage('startLso'); 543 sendNativeMessage('onAgreed', data);
550 }; 544 };
551 545
552 var onCancel = function() { 546 var onCancel = function() {
553 if (appWindow) { 547 if (appWindow) {
554 appWindow.close(); 548 appWindow.close();
555 } 549 }
556 }; 550 };
557 551
558 var onRetry = function() { 552 var onRetry = function() {
559 if (termsAccepted) { 553 if (termsAccepted) {
560 sendNativeMessage('startLso'); 554 // Reuse the onAgree() in case that the user has already accepted
555 // the ToS.
556 onAgree();
561 } else { 557 } else {
562 loadInitialTerms(); 558 loadInitialTerms();
563 } 559 }
564 }; 560 };
565 561
566 var onSendFeedback = function() { 562 var onSendFeedback = function() {
567 sendNativeMessage('sendFeedback'); 563 sendNativeMessage('onSendFeedbackClicked');
568 }; 564 };
569 565
570 doc.getElementById('button-agree').addEventListener('click', onAgree); 566 doc.getElementById('button-agree').addEventListener('click', onAgree);
571 doc.getElementById('button-cancel').addEventListener('click', onCancel); 567 doc.getElementById('button-cancel').addEventListener('click', onCancel);
572 doc.getElementById('button-retry').addEventListener('click', onRetry); 568 doc.getElementById('button-retry').addEventListener('click', onRetry);
573 doc.getElementById('button-send-feedback') 569 doc.getElementById('button-send-feedback')
574 .addEventListener('click', onSendFeedback); 570 .addEventListener('click', onSendFeedback);
575 571
576 connectPort(); 572 connectPort();
577 }; 573 };
(...skipping 27 matching lines...) Expand all
605 type: 'chrome', 601 type: 'chrome',
606 color: '#ffffff' 602 color: '#ffffff'
607 }, 603 },
608 'innerBounds': { 604 'innerBounds': {
609 'width': INNER_WIDTH, 605 'width': INNER_WIDTH,
610 'height': INNER_HEIGHT 606 'height': INNER_HEIGHT
611 } 607 }
612 }; 608 };
613 chrome.app.window.create('main.html', options, onWindowCreated); 609 chrome.app.window.create('main.html', options, onWindowCreated);
614 }); 610 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698