diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-16 00:35:16 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-16 00:35:16 +0000 |
commit | 61d6e608a4d9a5355e66ac9a6ba59743f650262b (patch) | |
tree | 48aef1900fdd9db12a3834c861f716f76ebec176 /chrome/browser/chromeos | |
parent | 7414152403af46252eb1a003b2a9cbb0eeeb41cf (diff) | |
download | chromium_src-61d6e608a4d9a5355e66ac9a6ba59743f650262b.zip chromium_src-61d6e608a4d9a5355e66ac9a6ba59743f650262b.tar.gz chromium_src-61d6e608a4d9a5355e66ac9a6ba59743f650262b.tar.bz2 |
Revert 156348 (caused http://crbug.com/149828)
- Change getDevices to use a DeviceCallback.
This modifies the getDevices method of the bluetooth Extensions API to
accept a DeviceCallback, which will be called for every matching device.
This will allow more thorough, long-running searches (involving SDP
queries) to be performed without slowing down access to matching devices
that can be returned quickly.
TEST=api test updated
BUG=134545
Review URL: https://chromiumcodereview.appspot.com/10915148
TBR=bryeung@chromium.org
Review URL: https://codereview.chromium.org/10916331
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157030 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos')
4 files changed, 18 insertions, 26 deletions
diff --git a/chrome/browser/chromeos/bluetooth/bluetooth_device.h b/chrome/browser/chromeos/bluetooth/bluetooth_device.h index 031dfd8..aa2fdfc 100644 --- a/chrome/browser/chromeos/bluetooth/bluetooth_device.h +++ b/chrome/browser/chromeos/bluetooth/bluetooth_device.h @@ -201,8 +201,8 @@ class BluetoothDevice : public BluetoothDeviceClient::Observer, typedef base::Callback<void(bool)> ProvidesServiceCallback; // Indicates whether this device provides the given service. - virtual void ProvidesServiceWithName(const std::string& name, - const ProvidesServiceCallback& callback); + void ProvidesServiceWithName(const std::string& name, + const ProvidesServiceCallback& callback); // Indicates whether the device is currently pairing and expecting a // PIN Code to be returned. diff --git a/chrome/browser/chromeos/bluetooth/test/mock_bluetooth_device.h b/chrome/browser/chromeos/bluetooth/test/mock_bluetooth_device.h index 7079f28..b2b7b88 100644 --- a/chrome/browser/chromeos/bluetooth/test/mock_bluetooth_device.h +++ b/chrome/browser/chromeos/bluetooth/test/mock_bluetooth_device.h @@ -30,9 +30,6 @@ class MockBluetoothDevice : public BluetoothDevice { MOCK_CONST_METHOD0(IsConnected, bool()); MOCK_CONST_METHOD1(ProvidesServiceWithUUID, bool(const std::string&)); - MOCK_METHOD2(ProvidesServiceWithName, - void(const std::string&, - const ProvidesServiceCallback& callback)); MOCK_METHOD3(SetOutOfBandPairingData, void(const chromeos::BluetoothOutOfBandPairingData& data, const base::Closure& callback, diff --git a/chrome/browser/chromeos/extensions/bluetooth_event_router.cc b/chrome/browser/chromeos/extensions/bluetooth_event_router.cc index c93c765..9aa5fc3 100644 --- a/chrome/browser/chromeos/extensions/bluetooth_event_router.cc +++ b/chrome/browser/chromeos/extensions/bluetooth_event_router.cc @@ -81,25 +81,13 @@ void ExtensionBluetoothEventRouter::SetSendDiscoveryEvents(bool should_send) { if (should_send && !send_discovery_events_) { for (DeviceList::const_iterator i = discovered_devices_.begin(); i != discovered_devices_.end(); ++i) { - DispatchDeviceEvent(extensions::event_names::kBluetoothOnDeviceDiscovered, - **i); + DispatchDeviceEvent(**i); } } send_discovery_events_ = should_send; } -void ExtensionBluetoothEventRouter::DispatchDeviceEvent( - const char* event_name, const experimental_bluetooth::Device& device) { - scoped_ptr<ListValue> args(new ListValue()); - args->Append(device.ToValue().release()); - profile_->GetExtensionEventRouter()->DispatchEventToRenderers( - event_name, - args.Pass(), - NULL, - GURL()); -} - void ExtensionBluetoothEventRouter::AdapterPresentChanged( chromeos::BluetoothAdapter* adapter, bool present) { if (adapter != adapter_.get()) { @@ -150,15 +138,14 @@ void ExtensionBluetoothEventRouter::DeviceAdded( } experimental_bluetooth::Device* extension_device = - new experimental_bluetooth::Device(); + new experimental_bluetooth::Device(); experimental_bluetooth::BluetoothDeviceToApiDevice(*device, extension_device); discovered_devices_.push_back(extension_device); if (!send_discovery_events_) return; - DispatchDeviceEvent(extensions::event_names::kBluetoothOnDeviceDiscovered, - *extension_device); + DispatchDeviceEvent(*extension_device); } void ExtensionBluetoothEventRouter::DispatchBooleanValueEvent( @@ -169,4 +156,15 @@ void ExtensionBluetoothEventRouter::DispatchBooleanValueEvent( event_name, args.Pass(), NULL, GURL()); } +void ExtensionBluetoothEventRouter::DispatchDeviceEvent( + const experimental_bluetooth::Device& device) { + scoped_ptr<ListValue> args(new ListValue()); + args->Append(device.ToValue().release()); + profile_->GetExtensionEventRouter()->DispatchEventToRenderers( + extensions::event_names::kBluetoothOnDeviceDiscovered, + args.Pass(), + NULL, + GURL()); +} + } // namespace chromeos diff --git a/chrome/browser/chromeos/extensions/bluetooth_event_router.h b/chrome/browser/chromeos/extensions/bluetooth_event_router.h index 6715c4e..c10b973 100644 --- a/chrome/browser/chromeos/extensions/bluetooth_event_router.h +++ b/chrome/browser/chromeos/extensions/bluetooth_event_router.h @@ -47,11 +47,6 @@ class ExtensionBluetoothEventRouter // Sets whether or not DeviceAdded events will be dispatched to extensions. void SetSendDiscoveryEvents(bool should_send); - // Dispatch an event that takes a device as a parameter to all renderers. - void DispatchDeviceEvent( - const char* event_name, - const extensions::api::experimental_bluetooth::Device& device); - // Override from chromeos::BluetoothAdapter::Observer virtual void AdapterPresentChanged(chromeos::BluetoothAdapter* adapter, bool present) OVERRIDE; @@ -68,6 +63,8 @@ class ExtensionBluetoothEventRouter } private: void DispatchBooleanValueEvent(const char* event_name, bool value); + void DispatchDeviceEvent( + const extensions::api::experimental_bluetooth::Device& device); bool send_discovery_events_; bool responsible_for_discovery_; |