diff --git a/chrome/browser/resources/settings/bluetooth_page/bluetooth_page.html b/chrome/browser/resources/settings/bluetooth_page/bluetooth_page.html index 3a8bee6acbf3c..bcb20f6001c0f 100644 --- a/chrome/browser/resources/settings/bluetooth_page/bluetooth_page.html +++ b/chrome/browser/resources/settings/bluetooth_page/bluetooth_page.html @@ -7,6 +7,7 @@ + diff --git a/chrome/browser/resources/settings/bluetooth_page/bluetooth_page.js b/chrome/browser/resources/settings/bluetooth_page/bluetooth_page.js index 35b5c4399dbdf..a626139e0251a 100644 --- a/chrome/browser/resources/settings/bluetooth_page/bluetooth_page.js +++ b/chrome/browser/resources/settings/bluetooth_page/bluetooth_page.js @@ -25,6 +25,8 @@ var bluetoothApis = bluetoothApis || { Polymer({ is: 'settings-bluetooth-page', + behaviors: [PrefsBehavior], + properties: { /** Preferences state. */ prefs: { @@ -166,6 +168,7 @@ Polymer({ this.adapterState_ = state; this.bluetoothToggleState_ = state.powered; this.bluetoothToggleDisabled_ = !state.available; + this.setPrefValue('ash.user.bluetooth.adapter_enabled', state.powered); }, /** @private */ diff --git a/chrome/browser/resources/settings/bluetooth_page/compiled_resources2.gyp b/chrome/browser/resources/settings/bluetooth_page/compiled_resources2.gyp index 3d4051baae18d..975856e1a613c 100644 --- a/chrome/browser/resources/settings/bluetooth_page/compiled_resources2.gyp +++ b/chrome/browser/resources/settings/bluetooth_page/compiled_resources2.gyp @@ -7,6 +7,7 @@ 'target_name': 'bluetooth_page', 'dependencies': [ '../compiled_resources2.gyp:route', + '../prefs/compiled_resources2.gyp:prefs_behavior', '../settings_page/compiled_resources2.gyp:settings_animated_pages', '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:assert', '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:i18n_behavior', diff --git a/chrome/test/data/webui/settings/bluetooth_page_tests.js b/chrome/test/data/webui/settings/bluetooth_page_tests.js index 5644558e3480e..5da95ac23e177 100644 --- a/chrome/test/data/webui/settings/bluetooth_page_tests.js +++ b/chrome/test/data/webui/settings/bluetooth_page_tests.js @@ -2,6 +2,22 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +function getFakePrefs() { + return { + ash: { + user: { + bluetooth: { + adapter_enabled: { + key: 'ash.user.bluetooth.adapter_enabled', + type: chrome.settingsPrivate.PrefType.BOOLEAN, + value: false, + } + } + } + } + }; +} + suite('Bluetooth', function() { var bluetoothPage = null; @@ -60,6 +76,7 @@ suite('Bluetooth', function() { setup(function() { PolymerTest.clearBody(); bluetoothPage = document.createElement('settings-bluetooth-page'); + bluetoothPage.prefs = getFakePrefs(); assertTrue(!!bluetoothPage); bluetoothApi_.setDevicesForTest([]);