Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(388)

Side by Side Diff: content/browser/bluetooth/bluetooth_dispatcher_host.cc

Issue 1874893002: Convert //content/browser from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 // ID Not In Map Note: 5 // ID Not In Map Note:
6 // A service, characteristic, or descriptor ID not in the corresponding 6 // A service, characteristic, or descriptor ID not in the corresponding
7 // BluetoothDispatcherHost map [service_to_device_, characteristic_to_service_, 7 // BluetoothDispatcherHost map [service_to_device_, characteristic_to_service_,
8 // descriptor_to_characteristic_] implies a hostile renderer because a renderer 8 // descriptor_to_characteristic_] implies a hostile renderer because a renderer
9 // obtains the corresponding ID from this class and it will be added to the map 9 // obtains the corresponding ID from this class and it will be added to the map
10 // at that time. 10 // at that time.
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 case BluetoothGattService::GATT_ERROR_NOT_SUPPORTED: 201 case BluetoothGattService::GATT_ERROR_NOT_SUPPORTED:
202 RecordGATTOperationOutcome(operation, 202 RecordGATTOperationOutcome(operation,
203 UMAGATTOperationOutcome::NOT_SUPPORTED); 203 UMAGATTOperationOutcome::NOT_SUPPORTED);
204 return blink::WebBluetoothError::GATT_NOT_SUPPORTED; 204 return blink::WebBluetoothError::GATT_NOT_SUPPORTED;
205 } 205 }
206 NOTREACHED(); 206 NOTREACHED();
207 return blink::WebBluetoothError::GATT_UNTRANSLATED_ERROR_CODE; 207 return blink::WebBluetoothError::GATT_UNTRANSLATED_ERROR_CODE;
208 } 208 }
209 209
210 void StopDiscoverySession( 210 void StopDiscoverySession(
211 scoped_ptr<device::BluetoothDiscoverySession> discovery_session) { 211 std::unique_ptr<device::BluetoothDiscoverySession> discovery_session) {
212 // Nothing goes wrong if the discovery session fails to stop, and we don't 212 // Nothing goes wrong if the discovery session fails to stop, and we don't
213 // need to wait for it before letting the user's script proceed, so we ignore 213 // need to wait for it before letting the user's script proceed, so we ignore
214 // the results here. 214 // the results here.
215 discovery_session->Stop(base::Bind(&base::DoNothing), 215 discovery_session->Stop(base::Bind(&base::DoNothing),
216 base::Bind(&base::DoNothing)); 216 base::Bind(&base::DoNothing));
217 } 217 }
218 218
219 // TODO(ortuno): This should really be a BluetoothDevice method. 219 // TODO(ortuno): This should really be a BluetoothDevice method.
220 // Replace when implemented. http://crbug.com/552022 220 // Replace when implemented. http://crbug.com/552022
221 std::vector<BluetoothGattService*> GetPrimaryServicesByUUID( 221 std::vector<BluetoothGattService*> GetPrimaryServicesByUUID(
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 origin(origin), 378 origin(origin),
379 filters(filters), 379 filters(filters),
380 optional_services(optional_services) {} 380 optional_services(optional_services) {}
381 381
382 void AddFilteredDevice(const device::BluetoothDevice& device) { 382 void AddFilteredDevice(const device::BluetoothDevice& device) {
383 if (chooser && MatchesFilters(device, filters)) { 383 if (chooser && MatchesFilters(device, filters)) {
384 chooser->AddDevice(device.GetAddress(), device.GetName()); 384 chooser->AddDevice(device.GetAddress(), device.GetName());
385 } 385 }
386 } 386 }
387 387
388 scoped_ptr<device::BluetoothDiscoveryFilter> ComputeScanFilter() const { 388 std::unique_ptr<device::BluetoothDiscoveryFilter> ComputeScanFilter() const {
389 std::set<BluetoothUUID> services; 389 std::set<BluetoothUUID> services;
390 for (const BluetoothScanFilter& filter : filters) { 390 for (const BluetoothScanFilter& filter : filters) {
391 services.insert(filter.services.begin(), filter.services.end()); 391 services.insert(filter.services.begin(), filter.services.end());
392 } 392 }
393 scoped_ptr<device::BluetoothDiscoveryFilter> discovery_filter( 393 std::unique_ptr<device::BluetoothDiscoveryFilter> discovery_filter(
394 new device::BluetoothDiscoveryFilter( 394 new device::BluetoothDiscoveryFilter(
395 device::BluetoothDiscoveryFilter::TRANSPORT_DUAL)); 395 device::BluetoothDiscoveryFilter::TRANSPORT_DUAL));
396 for (const BluetoothUUID& service : services) { 396 for (const BluetoothUUID& service : services) {
397 discovery_filter->AddUUID(service); 397 discovery_filter->AddUUID(service);
398 } 398 }
399 return discovery_filter; 399 return discovery_filter;
400 } 400 }
401 401
402 const int thread_id; 402 const int thread_id;
403 const int request_id; 403 const int request_id;
404 const int frame_routing_id; 404 const int frame_routing_id;
405 const url::Origin origin; 405 const url::Origin origin;
406 const std::vector<BluetoothScanFilter> filters; 406 const std::vector<BluetoothScanFilter> filters;
407 const std::vector<BluetoothUUID> optional_services; 407 const std::vector<BluetoothUUID> optional_services;
408 scoped_ptr<BluetoothChooser> chooser; 408 std::unique_ptr<BluetoothChooser> chooser;
409 scoped_ptr<device::BluetoothDiscoverySession> discovery_session; 409 std::unique_ptr<device::BluetoothDiscoverySession> discovery_session;
410 }; 410 };
411 411
412 BluetoothDispatcherHost::CacheQueryResult::CacheQueryResult() {} 412 BluetoothDispatcherHost::CacheQueryResult::CacheQueryResult() {}
413 413
414 BluetoothDispatcherHost::CacheQueryResult::CacheQueryResult( 414 BluetoothDispatcherHost::CacheQueryResult::CacheQueryResult(
415 CacheQueryOutcome outcome) 415 CacheQueryOutcome outcome)
416 : outcome(outcome) {} 416 : outcome(outcome) {}
417 417
418 BluetoothDispatcherHost::CacheQueryResult::~CacheQueryResult() {} 418 BluetoothDispatcherHost::CacheQueryResult::~CacheQueryResult() {}
419 419
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 auto connection_iter = device_id_to_connection_map_.find(device_id); 469 auto connection_iter = device_id_to_connection_map_.find(device_id);
470 if (connection_iter != device_id_to_connection_map_.end()) { 470 if (connection_iter != device_id_to_connection_map_.end()) {
471 return connection_iter->second->IsConnected(); 471 return connection_iter->second->IsConnected();
472 } 472 }
473 return false; 473 return false;
474 } 474 }
475 475
476 void BluetoothDispatcherHost::ConnectedDevicesMap::InsertOrReplace( 476 void BluetoothDispatcherHost::ConnectedDevicesMap::InsertOrReplace(
477 int frame_routing_id, 477 int frame_routing_id,
478 const std::string& device_id, 478 const std::string& device_id,
479 scoped_ptr<device::BluetoothGattConnection> connection) { 479 std::unique_ptr<device::BluetoothGattConnection> connection) {
480 auto connection_iter = device_id_to_connection_map_.find(device_id); 480 auto connection_iter = device_id_to_connection_map_.find(device_id);
481 if (connection_iter == device_id_to_connection_map_.end()) { 481 if (connection_iter == device_id_to_connection_map_.end()) {
482 IncrementBluetoothConnectedDeviceCount(frame_routing_id); 482 IncrementBluetoothConnectedDeviceCount(frame_routing_id);
483 frame_ids_device_ids_.insert(std::make_pair(frame_routing_id, device_id)); 483 frame_ids_device_ids_.insert(std::make_pair(frame_routing_id, device_id));
484 } else { 484 } else {
485 device_id_to_connection_map_.erase(connection_iter); 485 device_id_to_connection_map_.erase(connection_iter);
486 } 486 }
487 device_id_to_connection_map_[device_id] = std::move(connection); 487 device_id_to_connection_map_[device_id] = std::move(connection);
488 } 488 }
489 489
(...skipping 813 matching lines...) Expand 10 before | Expand all | Expand 10 after
1303 session->chooser->SetAdapterPresence( 1303 session->chooser->SetAdapterPresence(
1304 BluetoothChooser::AdapterPresence::POWERED_OFF); 1304 BluetoothChooser::AdapterPresence::POWERED_OFF);
1305 return; 1305 return;
1306 } 1306 }
1307 1307
1308 StartDeviceDiscovery(session, chooser_id); 1308 StartDeviceDiscovery(session, chooser_id);
1309 } 1309 }
1310 1310
1311 void BluetoothDispatcherHost::OnDiscoverySessionStarted( 1311 void BluetoothDispatcherHost::OnDiscoverySessionStarted(
1312 int chooser_id, 1312 int chooser_id,
1313 scoped_ptr<device::BluetoothDiscoverySession> discovery_session) { 1313 std::unique_ptr<device::BluetoothDiscoverySession> discovery_session) {
1314 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1314 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1315 VLOG(1) << "Started discovery session for " << chooser_id; 1315 VLOG(1) << "Started discovery session for " << chooser_id;
1316 if (RequestDeviceSession* session = 1316 if (RequestDeviceSession* session =
1317 request_device_sessions_.Lookup(chooser_id)) { 1317 request_device_sessions_.Lookup(chooser_id)) {
1318 session->discovery_session = std::move(discovery_session); 1318 session->discovery_session = std::move(discovery_session);
1319 1319
1320 // Arrange to stop discovery later. 1320 // Arrange to stop discovery later.
1321 discovery_session_timer_.Reset(); 1321 discovery_session_timer_.Reset();
1322 } else { 1322 } else {
1323 VLOG(1) << "Chooser " << chooser_id 1323 VLOG(1) << "Chooser " << chooser_id
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
1465 session->request_id, device_ipc)); 1465 session->request_id, device_ipc));
1466 request_device_sessions_.Remove(chooser_id); 1466 request_device_sessions_.Remove(chooser_id);
1467 } 1467 }
1468 1468
1469 void BluetoothDispatcherHost::OnGATTConnectionCreated( 1469 void BluetoothDispatcherHost::OnGATTConnectionCreated(
1470 int thread_id, 1470 int thread_id,
1471 int request_id, 1471 int request_id,
1472 int frame_routing_id, 1472 int frame_routing_id,
1473 const std::string& device_id, 1473 const std::string& device_id,
1474 base::TimeTicks start_time, 1474 base::TimeTicks start_time,
1475 scoped_ptr<device::BluetoothGattConnection> connection) { 1475 std::unique_ptr<device::BluetoothGattConnection> connection) {
1476 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1476 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1477 RecordConnectGATTTimeSuccess(base::TimeTicks::Now() - start_time); 1477 RecordConnectGATTTimeSuccess(base::TimeTicks::Now() - start_time);
1478 RecordConnectGATTOutcome(UMAConnectGATTOutcome::SUCCESS); 1478 RecordConnectGATTOutcome(UMAConnectGATTOutcome::SUCCESS);
1479 connected_devices_map_->InsertOrReplace(frame_routing_id, device_id, 1479 connected_devices_map_->InsertOrReplace(frame_routing_id, device_id,
1480 std::move(connection)); 1480 std::move(connection));
1481 Send(new BluetoothMsg_GATTServerConnectSuccess(thread_id, request_id)); 1481 Send(new BluetoothMsg_GATTServerConnectSuccess(thread_id, request_id));
1482 } 1482 }
1483 1483
1484 void BluetoothDispatcherHost::OnCreateGATTConnectionError( 1484 void BluetoothDispatcherHost::OnCreateGATTConnectionError(
1485 int thread_id, 1485 int thread_id,
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
1532 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1532 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1533 // TranslateGATTError calls RecordGATTOperationOutcome. 1533 // TranslateGATTError calls RecordGATTOperationOutcome.
1534 Send(new BluetoothMsg_ReadCharacteristicValueError( 1534 Send(new BluetoothMsg_ReadCharacteristicValueError(
1535 thread_id, request_id, 1535 thread_id, request_id,
1536 TranslateGATTError(error_code, UMAGATTOperation::CHARACTERISTIC_READ))); 1536 TranslateGATTError(error_code, UMAGATTOperation::CHARACTERISTIC_READ)));
1537 } 1537 }
1538 1538
1539 void BluetoothDispatcherHost::OnStartNotifySessionSuccess( 1539 void BluetoothDispatcherHost::OnStartNotifySessionSuccess(
1540 int thread_id, 1540 int thread_id,
1541 int request_id, 1541 int request_id,
1542 scoped_ptr<device::BluetoothGattNotifySession> notify_session) { 1542 std::unique_ptr<device::BluetoothGattNotifySession> notify_session) {
1543 RecordStartNotificationsOutcome(UMAGATTOperationOutcome::SUCCESS); 1543 RecordStartNotificationsOutcome(UMAGATTOperationOutcome::SUCCESS);
1544 1544
1545 // Copy Characteristic Instance ID before passing scoped pointer because 1545 // Copy Characteristic Instance ID before passing scoped pointer because
1546 // compilers may evaluate arguments in any order. 1546 // compilers may evaluate arguments in any order.
1547 const std::string characteristic_instance_id = 1547 const std::string characteristic_instance_id =
1548 notify_session->GetCharacteristicIdentifier(); 1548 notify_session->GetCharacteristicIdentifier();
1549 characteristic_id_to_notify_session_.insert( 1549 characteristic_id_to_notify_session_.insert(
1550 std::make_pair(characteristic_instance_id, std::move(notify_session))); 1550 std::make_pair(characteristic_instance_id, std::move(notify_session)));
1551 1551
1552 Send(new BluetoothMsg_StartNotificationsSuccess(thread_id, request_id)); 1552 Send(new BluetoothMsg_StartNotificationsSuccess(thread_id, request_id));
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
1677 1677
1678 bool BluetoothDispatcherHost::CanFrameAccessCharacteristicInstance( 1678 bool BluetoothDispatcherHost::CanFrameAccessCharacteristicInstance(
1679 int frame_routing_id, 1679 int frame_routing_id,
1680 const std::string& characteristic_instance_id) { 1680 const std::string& characteristic_instance_id) {
1681 return QueryCacheForCharacteristic(GetOrigin(frame_routing_id), 1681 return QueryCacheForCharacteristic(GetOrigin(frame_routing_id),
1682 characteristic_instance_id) 1682 characteristic_instance_id)
1683 .outcome != CacheQueryOutcome::BAD_RENDERER; 1683 .outcome != CacheQueryOutcome::BAD_RENDERER;
1684 } 1684 }
1685 1685
1686 } // namespace content 1686 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/bluetooth/bluetooth_dispatcher_host.h ('k') | content/browser/bootstrap_sandbox_manager_mac.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698