summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-16 00:35:16 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-16 00:35:16 +0000
commit61d6e608a4d9a5355e66ac9a6ba59743f650262b (patch)
tree48aef1900fdd9db12a3834c861f716f76ebec176 /chrome/browser/chromeos
parent7414152403af46252eb1a003b2a9cbb0eeeb41cf (diff)
downloadchromium_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')
-rw-r--r--chrome/browser/chromeos/bluetooth/bluetooth_device.h4
-rw-r--r--chrome/browser/chromeos/bluetooth/test/mock_bluetooth_device.h3
-rw-r--r--chrome/browser/chromeos/extensions/bluetooth_event_router.cc30
-rw-r--r--chrome/browser/chromeos/extensions/bluetooth_event_router.h7
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_;