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

Side by Side Diff: remoting/webapp/crd/js/options_export.js

Issue 2796683003: Expose local host state to authorized sites. (Closed)
Patch Set: Missing semicolon Created 3 years, 8 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 | « no previous file | remoting/webapp/files.gni » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 /** @suppress {duplicate} */ 5 /** @suppress {duplicate} */
6 var remoting = remoting || {}; 6 var remoting = remoting || {};
7 7
8 (function(){ 8 (function(){
9 9
10 'use strict'; 10 'use strict';
11 11
12 /** 12 /**
13 * @constructor 13 * @constructor
14 */ 14 */
15 remoting.OptionsExporter = function() { 15 remoting.OptionsExporter = function() {
16 base.Ipc.getInstance().register('getSettings', 16 base.Ipc.getInstance().register('getSettings',
17 remoting.OptionsExporter.migrateSettings_, 17 remoting.OptionsExporter.migrateSettings_,
18 true); 18 true);
19 }; 19 };
20 20
21 remoting.OptionsExporter.migrateSettings_ = function() { 21 remoting.OptionsExporter.migrateSettings_ = function() {
22 var result = new base.Deferred(); 22 var result = new base.Deferred();
23 chrome.storage.local.get(KEY_NAME, function(options) { 23 chrome.storage.local.get(OPTIONS_KEY_NAME, function(options) {
24 // If there are no host options stored, reformat the message response so 24 // If there are no host options stored, reformat the message response so
25 // that the sender doesn't interpret it as an error. 25 // that the sender doesn't interpret it as an error.
26 if (Object.keys(options).length == 0) { 26 if (Object.keys(options).length == 0) {
27 options[KEY_NAME] = '{}'; 27 options[OPTIONS_KEY_NAME] = '{}';
28 } 28 }
29 result.resolve(options); 29 var nativeMessagingHost = new remoting.HostDaemonFacade();
30 nativeMessagingHost.getDaemonState().then(
31 function(state) {
32 var reverse = new Map([
33 [remoting.HostController.State.NOT_IMPLEMENTED, 'NOT_IMPLEMENTED'],
34 [remoting.HostController.State.NOT_INSTALLED, 'NOT_INSTALLED'],
35 [remoting.HostController.State.STOPPED, 'STOPPED'],
36 [remoting.HostController.State.STARTING, 'STARTING'],
37 [remoting.HostController.State.STARTED, 'STARTED'],
38 [remoting.HostController.State.STOPPING, 'STOPPING'],
39 ]);
40 options[LOCAL_HOST_STATE_KEY_NAME] = reverse.get(state) || 'UNKNOWN';
41 result.resolve(options);
42 },
43 function(error) {
44 options[LOCAL_HOST_STATE_KEY_NAME] = 'UNKNOWN';
45 result.resolve(options);
46 });
30 }) 47 })
31 return result.promise(); 48 return result.promise();
32 }; 49 };
33 50
34 var KEY_NAME = 'remoting-host-options'; 51 var OPTIONS_KEY_NAME = 'remoting-host-options';
52 var LOCAL_HOST_STATE_KEY_NAME = 'local-host-state';
35 53
36 }()); 54 }());
OLDNEW
« no previous file with comments | « no previous file | remoting/webapp/files.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698