Chromium Code Reviews| Index: content/browser/bluetooth/bluetooth_dispatcher_host.cc |
| diff --git a/content/browser/bluetooth/bluetooth_dispatcher_host.cc b/content/browser/bluetooth/bluetooth_dispatcher_host.cc |
| index 0edca24d2fd98c6ffd23cae2e2c699f0c650551a..21c66fd1960c991342fb3bd7182ae6807952db8f 100644 |
| --- a/content/browser/bluetooth/bluetooth_dispatcher_host.cc |
| +++ b/content/browser/bluetooth/bluetooth_dispatcher_host.cc |
| @@ -16,16 +16,14 @@ using device::BluetoothAdapterFactory; |
| namespace content { |
| -const uint32 kUnspecifiedDeviceClass = |
| - 0x1F00; // bluetooth.org/en-us/specification/assigned-numbers/baseband |
| const int kScanTime = 5; // 5 seconds of scan time |
| +const int kTestingScanTime = 0; // No need to scan for tests |
| BluetoothDispatcherHost::BluetoothDispatcherHost() |
| : BrowserMessageFilter(BluetoothMsgStart), |
| - bluetooth_mock_data_set_(MockData::NOT_MOCKING), |
| - bluetooth_request_device_reject_type_(BluetoothError::NOT_FOUND), |
| weak_ptr_factory_(this) { |
| DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| + current_scan_time_ = kScanTime; |
| if (BluetoothAdapterFactory::IsBluetoothAdapterAvailable()) |
| BluetoothAdapterFactory::GetAdapter( |
| base::Bind(&BluetoothDispatcherHost::set_adapter, |
| @@ -73,53 +71,21 @@ void BluetoothDispatcherHost::set_adapter( |
| void BluetoothDispatcherHost::OnRequestDevice(int thread_id, int request_id) { |
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| - // TODO(scheib) Extend this very simple mock implementation by using |
| - // device/bluetooth/test mock adapter and related classes. |
| - switch (bluetooth_mock_data_set_) { |
| - case MockData::NOT_MOCKING: { |
| - // TODO(scheib): Filter devices by services: crbug.com/440594 |
| - // TODO(scheib): Device selection UI: crbug.com/436280 |
| - // TODO(scheib): Utilize BluetoothAdapter::Observer::DeviceAdded/Removed. |
| - BluetoothAdapter::DeviceList devices; |
| - |
| - if (adapter_.get()) { |
| - adapter_->StartDiscoverySession( |
| - base::Bind(&BluetoothDispatcherHost::OnDiscoverySessionStarted, |
| - weak_ptr_factory_.GetWeakPtr(), thread_id, request_id), |
| - base::Bind(&BluetoothDispatcherHost::OnDiscoverySessionStartedError, |
| - weak_ptr_factory_.GetWeakPtr(), thread_id, request_id)); |
| - } else { |
| - DLOG(WARNING) << "No BluetoothAdapter. Can't serve requestDevice."; |
| - Send(new BluetoothMsg_RequestDeviceError(thread_id, request_id, |
| - BluetoothError::NOT_FOUND)); |
| - } |
| - return; |
| - } |
| - case MockData::REJECT: { |
| - Send(new BluetoothMsg_RequestDeviceError( |
| - thread_id, request_id, bluetooth_request_device_reject_type_)); |
| - return; |
| - } |
| - case MockData::RESOLVE: { |
| - std::vector<std::string> uuids; |
| - uuids.push_back("00001800-0000-1000-8000-00805f9b34fb"); |
| - uuids.push_back("00001801-0000-1000-8000-00805f9b34fb"); |
| - content::BluetoothDevice device_ipc( |
| - "Empty Mock Device instanceID", // instance_id |
| - base::UTF8ToUTF16("Empty Mock Device name"), // name |
| - kUnspecifiedDeviceClass, // device_class |
| - device::BluetoothDevice::VENDOR_ID_BLUETOOTH, // vendor_id_source |
| - 0xFFFF, // vendor_id |
| - 1, // product_id |
| - 2, // product_version |
| - true, // paired |
| - uuids); // uuids |
| - Send(new BluetoothMsg_RequestDeviceSuccess(thread_id, request_id, |
| - device_ipc)); |
| - return; |
| - } |
| + // TODO(scheib): Filter devices by services: crbug.com/440594 |
| + // TODO(scheib): Device selection UI: crbug.com/436280 |
| + // TODO(scheib): Utilize BluetoothAdapter::Observer::DeviceAdded/Removed. |
| + if (adapter_.get()) { |
| + adapter_->StartDiscoverySession( |
| + base::Bind(&BluetoothDispatcherHost::OnDiscoverySessionStarted, |
| + weak_ptr_factory_.GetWeakPtr(), thread_id, request_id), |
| + base::Bind(&BluetoothDispatcherHost::OnDiscoverySessionStartedError, |
| + weak_ptr_factory_.GetWeakPtr(), thread_id, request_id)); |
| + } else { |
| + DLOG(WARNING) << "No BluetoothAdapter. Can't serve requestDevice."; |
| + Send(new BluetoothMsg_RequestDeviceError(thread_id, request_id, |
| + BluetoothError::NOT_FOUND)); |
| } |
| - NOTREACHED(); |
| + return; |
| } |
| void BluetoothDispatcherHost::OnConnectGATT( |
| @@ -134,20 +100,10 @@ void BluetoothDispatcherHost::OnConnectGATT( |
| } |
| void BluetoothDispatcherHost::SetBluetoothAdapterForTesting( |
|
scheib
2015/05/16 02:39:14
Move to match declaration order.
ortuno
2015/05/18 17:41:55
Done.
|
| - const std::string& name) { |
| + scoped_refptr<device::BluetoothAdapter> mock_adapter) { |
| DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| - if (name == "RejectRequestDevice_NotFoundError") { |
| - bluetooth_mock_data_set_ = MockData::REJECT; |
| - bluetooth_request_device_reject_type_ = BluetoothError::NOT_FOUND; |
| - } else if (name == "RejectRequestDevice_SecurityError") { |
| - bluetooth_mock_data_set_ = MockData::REJECT; |
| - bluetooth_request_device_reject_type_ = BluetoothError::SECURITY; |
| - } else if (name == "ResolveRequestDevice_Empty" || // TODO(scheib): Remove. |
| - name == "Single Empty Device") { |
| - bluetooth_mock_data_set_ = MockData::RESOLVE; |
| - } else { |
| - bluetooth_mock_data_set_ = MockData::NOT_MOCKING; |
| - } |
| + current_scan_time_ = kTestingScanTime; |
| + set_adapter(mock_adapter.Pass()); |
| } |
| void BluetoothDispatcherHost::OnDiscoverySessionStarted( |
| @@ -160,7 +116,7 @@ void BluetoothDispatcherHost::OnDiscoverySessionStarted( |
| base::Bind(&BluetoothDispatcherHost::StopDiscoverySession, |
| weak_ptr_factory_.GetWeakPtr(), thread_id, request_id, |
| base::Passed(&discovery_session)), |
| - base::TimeDelta::FromSeconds(kScanTime)); |
| + base::TimeDelta::FromSeconds(current_scan_time_)); |
| } |
| void BluetoothDispatcherHost::OnDiscoverySessionStartedError(int thread_id, |