OLD | NEW |
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('remoting-host-options', function(options) { | 23 chrome.storage.local.get(KEY_NAME, function(options) { |
| 24 // If there are no host options stored, reformat the message response so |
| 25 // that the sender doesn't interpret it as an error. |
| 26 if (Object.keys(options).length == 0) { |
| 27 options[KEY_NAME] = '{}'; |
| 28 } |
24 result.resolve(options); | 29 result.resolve(options); |
25 }) | 30 }) |
26 return result.promise(); | 31 return result.promise(); |
27 }; | 32 }; |
28 | 33 |
| 34 var KEY_NAME = 'remoting-host-options'; |
29 | 35 |
30 }()); | 36 }()); |
OLD | NEW |