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

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: Address comments. 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
« no previous file with comments | « chrome/browser/chromeos/arc/arc_support_host.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 407 matching lines...) Expand 10 before | Expand all | Expand 10 after
504 // it safe to make it up to window width. 504 // it safe to make it up to window width.
505 lsoView.style.width = '100%'; 505 lsoView.style.width = '100%';
506 return; 506 return;
507 } 507 }
508 508
509 lsoView.executeScript({code: 'document.title;'}, function(results) { 509 lsoView.executeScript({code: 'document.title;'}, function(results) {
510 var authCodePrefix = 'Success code='; 510 var authCodePrefix = 'Success code=';
511 if (results && results.length == 1 && typeof results[0] == 'string' && 511 if (results && results.length == 1 && typeof results[0] == 'string' &&
512 results[0].substring(0, authCodePrefix.length) == authCodePrefix) { 512 results[0].substring(0, authCodePrefix.length) == authCodePrefix) {
513 var authCode = results[0].substring(authCodePrefix.length); 513 var authCode = results[0].substring(authCodePrefix.length);
514 sendNativeMessage('setAuthCode', {code: authCode}); 514 sendNativeMessage('onAuthSucceeded', {code: authCode});
515 } else { 515 } else {
516 setErrorMessage(appWindow.contentWindow.loadTimeData.getString( 516 setErrorMessage(appWindow.contentWindow.loadTimeData.getString(
517 'authorizationFailed')); 517 'authorizationFailed'));
518 showPage('error'); 518 showPage('error');
519 } 519 }
520 }); 520 });
521 }; 521 };
522 522
523 var requestFilter = { 523 var requestFilter = {
524 urls: ['<all_urls>'], 524 urls: ['<all_urls>'],
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
565 // and open links in context of main page. 565 // and open links in context of main page.
566 termsView.addEventListener('newwindow', function(event) { 566 termsView.addEventListener('newwindow', function(event) {
567 event.preventDefault(); 567 event.preventDefault();
568 chrome.browser.openTab({'url': event.targetUrl}, function() {}); 568 chrome.browser.openTab({'url': event.targetUrl}, function() {});
569 }); 569 });
570 570
571 var onAgree = function() { 571 var onAgree = function() {
572 termsAccepted = true; 572 termsAccepted = true;
573 573
574 var enableMetrics = doc.getElementById('enable-metrics'); 574 var enableMetrics = doc.getElementById('enable-metrics');
575 if (!enableMetrics.hidden) {
576 sendNativeMessage('enableMetrics', {
577 'enabled': enableMetrics.checked
578 });
579 }
580
581 var enableBackupRestore = doc.getElementById('enable-backup-restore'); 575 var enableBackupRestore = doc.getElementById('enable-backup-restore');
582 sendNativeMessage('setBackupRestore', { 576 var enableLocationService = doc.getElementById('enable-location-service');
583 'enabled': enableBackupRestore.checked 577 sendNativeMessage('onAgreed', {
578 isMetricsEnabled: !enableMetrics.hidden && enableMetrics.checked,
579 isBackupRestoreEnabled: enableBackupRestore.checked,
580 isLocationServiceEnabled: enableLocationService.checked
584 }); 581 });
585
586 var enableLocationService = doc.getElementById('enable-location-service');
587 sendNativeMessage('setLocationService', {
588 'enabled': enableLocationService.checked
589 });
590
591 sendNativeMessage('startLso');
592 }; 582 };
593 583
594 var onCancel = function() { 584 var onCancel = function() {
595 if (appWindow) { 585 if (appWindow) {
596 appWindow.close(); 586 appWindow.close();
597 } 587 }
598 }; 588 };
599 589
600 var onRetry = function() { 590 var onRetry = function() {
601 if (termsAccepted) { 591 if (termsAccepted) {
602 sendNativeMessage('startLso'); 592 // Reuse the onAgree() in case that the user has already accepted
593 // the ToS.
594 onAgree();
603 } else { 595 } else {
604 loadInitialTerms(); 596 loadInitialTerms();
605 } 597 }
606 }; 598 };
607 599
608 var onSendFeedback = function() { 600 var onSendFeedback = function() {
609 sendNativeMessage('sendFeedback'); 601 sendNativeMessage('onSendFeedbackClicked');
610 }; 602 };
611 603
612 doc.getElementById('button-agree').addEventListener('click', onAgree); 604 doc.getElementById('button-agree').addEventListener('click', onAgree);
613 doc.getElementById('button-cancel').addEventListener('click', onCancel); 605 doc.getElementById('button-cancel').addEventListener('click', onCancel);
614 doc.getElementById('button-retry').addEventListener('click', onRetry); 606 doc.getElementById('button-retry').addEventListener('click', onRetry);
615 doc.getElementById('button-send-feedback') 607 doc.getElementById('button-send-feedback')
616 .addEventListener('click', onSendFeedback); 608 .addEventListener('click', onSendFeedback);
617 doc.getElementById('learn-more-close').addEventListener('click', 609 doc.getElementById('learn-more-close').addEventListener('click',
618 hideLearnModeOverlay); 610 hideLearnModeOverlay);
619 611
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
654 type: 'chrome', 646 type: 'chrome',
655 color: '#ffffff' 647 color: '#ffffff'
656 }, 648 },
657 'innerBounds': { 649 'innerBounds': {
658 'width': INNER_WIDTH, 650 'width': INNER_WIDTH,
659 'height': INNER_HEIGHT 651 'height': INNER_HEIGHT
660 } 652 }
661 }; 653 };
662 chrome.app.window.create('main.html', options, onWindowCreated); 654 chrome.app.window.create('main.html', options, onWindowCreated);
663 }); 655 });
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/arc/arc_support_host.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698