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

Side by Side Diff: content/renderer/bluetooth/bluetooth_dispatcher.cc

Issue 1865913005: Nuke WebPassOwnPtr<T> and replace it with std::unique_ptr<T>. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase 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 #include "content/renderer/bluetooth/bluetooth_dispatcher.h" 5 #include "content/renderer/bluetooth/bluetooth_dispatcher.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory>
10 #include <utility>
11
9 #include "base/lazy_instance.h" 12 #include "base/lazy_instance.h"
13 #include "base/memory/ptr_util.h"
10 #include "base/memory/scoped_ptr.h" 14 #include "base/memory/scoped_ptr.h"
11 #include "base/message_loop/message_loop.h" 15 #include "base/message_loop/message_loop.h"
12 #include "base/thread_task_runner_handle.h" 16 #include "base/thread_task_runner_handle.h"
13 #include "content/child/thread_safe_sender.h" 17 #include "content/child/thread_safe_sender.h"
14 #include "content/common/bluetooth/bluetooth_messages.h" 18 #include "content/common/bluetooth/bluetooth_messages.h"
15 #include "device/bluetooth/bluetooth_uuid.h" 19 #include "device/bluetooth/bluetooth_uuid.h"
16 #include "third_party/WebKit/public/platform/WebPassOwnPtr.h"
17 #include "third_party/WebKit/public/platform/modules/bluetooth/WebBluetoothDevic e.h" 20 #include "third_party/WebKit/public/platform/modules/bluetooth/WebBluetoothDevic e.h"
18 #include "third_party/WebKit/public/platform/modules/bluetooth/WebBluetoothError .h" 21 #include "third_party/WebKit/public/platform/modules/bluetooth/WebBluetoothError .h"
19 #include "third_party/WebKit/public/platform/modules/bluetooth/WebBluetoothRemot eGATTCharacteristic.h" 22 #include "third_party/WebKit/public/platform/modules/bluetooth/WebBluetoothRemot eGATTCharacteristic.h"
20 #include "third_party/WebKit/public/platform/modules/bluetooth/WebBluetoothRemot eGATTCharacteristicInit.h" 23 #include "third_party/WebKit/public/platform/modules/bluetooth/WebBluetoothRemot eGATTCharacteristicInit.h"
21 #include "third_party/WebKit/public/platform/modules/bluetooth/WebBluetoothRemot eGATTService.h" 24 #include "third_party/WebKit/public/platform/modules/bluetooth/WebBluetoothRemot eGATTService.h"
22 #include "third_party/WebKit/public/platform/modules/bluetooth/WebRequestDeviceO ptions.h" 25 #include "third_party/WebKit/public/platform/modules/bluetooth/WebRequestDeviceO ptions.h"
23 26
24 using blink::WebBluetoothDevice; 27 using blink::WebBluetoothDevice;
25 using blink::WebBluetoothError; 28 using blink::WebBluetoothError;
26 using blink::WebBluetoothRemoteGATTCharacteristicInit; 29 using blink::WebBluetoothRemoteGATTCharacteristicInit;
(...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 int thread_id, 587 int thread_id,
585 int request_id, 588 int request_id,
586 const BluetoothDevice& device) { 589 const BluetoothDevice& device) {
587 DCHECK(pending_requests_.Lookup(request_id)) << request_id; 590 DCHECK(pending_requests_.Lookup(request_id)) << request_id;
588 591
589 WebVector<WebString> uuids(device.uuids.size()); 592 WebVector<WebString> uuids(device.uuids.size());
590 for (size_t i = 0; i < device.uuids.size(); ++i) 593 for (size_t i = 0; i < device.uuids.size(); ++i)
591 uuids[i] = WebString::fromUTF8(device.uuids[i].c_str()); 594 uuids[i] = WebString::fromUTF8(device.uuids[i].c_str());
592 595
593 pending_requests_.Lookup(request_id) 596 pending_requests_.Lookup(request_id)
594 ->onSuccess(blink::adoptWebPtr(new WebBluetoothDevice( 597 ->onSuccess(base::WrapUnique(new WebBluetoothDevice(
595 WebString::fromUTF8(device.id), WebString(device.name), 598 WebString::fromUTF8(device.id), WebString(device.name),
596 device.tx_power, device.rssi, device.device_class, 599 device.tx_power, device.rssi, device.device_class,
597 GetWebVendorIdSource(device.vendor_id_source), device.vendor_id, 600 GetWebVendorIdSource(device.vendor_id_source), device.vendor_id,
598 device.product_id, device.product_version, uuids))); 601 device.product_id, device.product_version, uuids)));
599 pending_requests_.Remove(request_id); 602 pending_requests_.Remove(request_id);
600 } 603 }
601 604
602 void BluetoothDispatcher::OnRequestDeviceError(int thread_id, 605 void BluetoothDispatcher::OnRequestDeviceError(int thread_id,
603 int request_id, 606 int request_id,
604 WebBluetoothError error) { 607 WebBluetoothError error) {
(...skipping 19 matching lines...) Expand all
624 } 627 }
625 628
626 void BluetoothDispatcher::OnGetPrimaryServiceSuccess( 629 void BluetoothDispatcher::OnGetPrimaryServiceSuccess(
627 int thread_id, 630 int thread_id,
628 int request_id, 631 int request_id,
629 const std::string& service_instance_id) { 632 const std::string& service_instance_id) {
630 DCHECK(pending_primary_service_requests_.Lookup(request_id)) << request_id; 633 DCHECK(pending_primary_service_requests_.Lookup(request_id)) << request_id;
631 BluetoothPrimaryServiceRequest* request = 634 BluetoothPrimaryServiceRequest* request =
632 pending_primary_service_requests_.Lookup(request_id); 635 pending_primary_service_requests_.Lookup(request_id);
633 request->callbacks->onSuccess( 636 request->callbacks->onSuccess(
634 blink::adoptWebPtr(new WebBluetoothRemoteGATTService( 637 base::WrapUnique(new WebBluetoothRemoteGATTService(
635 WebString::fromUTF8(service_instance_id), request->service_uuid, 638 WebString::fromUTF8(service_instance_id), request->service_uuid,
636 true /* isPrimary */, request->device_id))); 639 true /* isPrimary */, request->device_id)));
637 pending_primary_service_requests_.Remove(request_id); 640 pending_primary_service_requests_.Remove(request_id);
638 } 641 }
639 642
640 void BluetoothDispatcher::OnGetPrimaryServiceError(int thread_id, 643 void BluetoothDispatcher::OnGetPrimaryServiceError(int thread_id,
641 int request_id, 644 int request_id,
642 WebBluetoothError error) { 645 WebBluetoothError error) {
643 DCHECK(pending_primary_service_requests_.Lookup(request_id)) << request_id; 646 DCHECK(pending_primary_service_requests_.Lookup(request_id)) << request_id;
644 647
645 pending_primary_service_requests_.Lookup(request_id) 648 pending_primary_service_requests_.Lookup(request_id)
646 ->callbacks->onError(WebBluetoothError(error)); 649 ->callbacks->onError(WebBluetoothError(error));
647 pending_primary_service_requests_.Remove(request_id); 650 pending_primary_service_requests_.Remove(request_id);
648 } 651 }
649 652
650 void BluetoothDispatcher::OnGetCharacteristicSuccess( 653 void BluetoothDispatcher::OnGetCharacteristicSuccess(
651 int thread_id, 654 int thread_id,
652 int request_id, 655 int request_id,
653 const std::string& characteristic_instance_id, 656 const std::string& characteristic_instance_id,
654 uint32_t characteristic_properties) { 657 uint32_t characteristic_properties) {
655 DCHECK(pending_characteristic_requests_.Lookup(request_id)) << request_id; 658 DCHECK(pending_characteristic_requests_.Lookup(request_id)) << request_id;
656 659
657 BluetoothCharacteristicRequest* request = 660 BluetoothCharacteristicRequest* request =
658 pending_characteristic_requests_.Lookup(request_id); 661 pending_characteristic_requests_.Lookup(request_id);
659 request->callbacks->onSuccess( 662 request->callbacks->onSuccess(
660 blink::adoptWebPtr(new WebBluetoothRemoteGATTCharacteristicInit( 663 base::WrapUnique(new WebBluetoothRemoteGATTCharacteristicInit(
661 request->service_instance_id, 664 request->service_instance_id,
662 WebString::fromUTF8(characteristic_instance_id), 665 WebString::fromUTF8(characteristic_instance_id),
663 request->characteristic_uuid, characteristic_properties))); 666 request->characteristic_uuid, characteristic_properties)));
664 667
665 pending_characteristic_requests_.Remove(request_id); 668 pending_characteristic_requests_.Remove(request_id);
666 } 669 }
667 670
668 void BluetoothDispatcher::OnGetCharacteristicError(int thread_id, 671 void BluetoothDispatcher::OnGetCharacteristicError(int thread_id,
669 int request_id, 672 int request_id,
670 WebBluetoothError error) { 673 WebBluetoothError error) {
671 DCHECK(pending_characteristic_requests_.Lookup(request_id)) << request_id; 674 DCHECK(pending_characteristic_requests_.Lookup(request_id)) << request_id;
672 675
673 pending_characteristic_requests_.Lookup(request_id) 676 pending_characteristic_requests_.Lookup(request_id)
674 ->callbacks->onError(WebBluetoothError(error)); 677 ->callbacks->onError(WebBluetoothError(error));
675 678
676 pending_characteristic_requests_.Remove(request_id); 679 pending_characteristic_requests_.Remove(request_id);
677 } 680 }
678 681
679 void BluetoothDispatcher::OnGetCharacteristicsSuccess( 682 void BluetoothDispatcher::OnGetCharacteristicsSuccess(
680 int thread_id, 683 int thread_id,
681 int request_id, 684 int request_id,
682 const std::vector<std::string>& characteristics_instance_ids, 685 const std::vector<std::string>& characteristics_instance_ids,
683 const std::vector<std::string>& characteristics_uuids, 686 const std::vector<std::string>& characteristics_uuids,
684 const std::vector<uint32_t>& characteristics_properties) { 687 const std::vector<uint32_t>& characteristics_properties) {
685 DCHECK(pending_characteristics_requests_.Lookup(request_id)) << request_id; 688 DCHECK(pending_characteristics_requests_.Lookup(request_id)) << request_id;
686 689
687 BluetoothCharacteristicsRequest* request = 690 BluetoothCharacteristicsRequest* request =
688 pending_characteristics_requests_.Lookup(request_id); 691 pending_characteristics_requests_.Lookup(request_id);
689 692
690 WebVector<blink::WebBluetoothRemoteGATTCharacteristicInit*>* characteristics = 693 // TODO(dcheng): This WebVector should use smart pointers.
691 new WebVector<WebBluetoothRemoteGATTCharacteristicInit*>( 694 std::unique_ptr<WebVector<blink::WebBluetoothRemoteGATTCharacteristicInit*>>
692 characteristics_instance_ids.size()); 695 characteristics(new WebVector<WebBluetoothRemoteGATTCharacteristicInit*>(
696 characteristics_instance_ids.size()));
693 697
694 for (size_t i = 0; i < characteristics_instance_ids.size(); i++) { 698 for (size_t i = 0; i < characteristics_instance_ids.size(); i++) {
695 (*characteristics)[i] = new WebBluetoothRemoteGATTCharacteristicInit( 699 (*characteristics)[i] = new WebBluetoothRemoteGATTCharacteristicInit(
696 request->service_instance_id, 700 request->service_instance_id,
697 WebString::fromUTF8(characteristics_instance_ids[i]), 701 WebString::fromUTF8(characteristics_instance_ids[i]),
698 WebString::fromUTF8(characteristics_uuids[i]), 702 WebString::fromUTF8(characteristics_uuids[i]),
699 characteristics_properties[i]); 703 characteristics_properties[i]);
700 } 704 }
701 705
702 request->callbacks->onSuccess(blink::adoptWebPtr(characteristics)); 706 request->callbacks->onSuccess(std::move(characteristics));
703 707
704 pending_characteristics_requests_.Remove(request_id); 708 pending_characteristics_requests_.Remove(request_id);
705 } 709 }
706 710
707 void BluetoothDispatcher::OnGetCharacteristicsError(int thread_id, 711 void BluetoothDispatcher::OnGetCharacteristicsError(int thread_id,
708 int request_id, 712 int request_id,
709 WebBluetoothError error) { 713 WebBluetoothError error) {
710 DCHECK(pending_characteristics_requests_.Lookup(request_id)) << request_id; 714 DCHECK(pending_characteristics_requests_.Lookup(request_id)) << request_id;
711 715
712 pending_characteristics_requests_.Lookup(request_id) 716 pending_characteristics_requests_.Lookup(request_id)
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
820 int thread_id, 824 int thread_id,
821 const std::string& characteristic_instance_id, 825 const std::string& characteristic_instance_id,
822 const std::vector<uint8_t> new_value) { 826 const std::vector<uint8_t> new_value) {
823 auto active_iter = active_characteristics_.find(characteristic_instance_id); 827 auto active_iter = active_characteristics_.find(characteristic_instance_id);
824 if (active_iter != active_characteristics_.end()) { 828 if (active_iter != active_characteristics_.end()) {
825 active_iter->second->dispatchCharacteristicValueChanged(new_value); 829 active_iter->second->dispatchCharacteristicValueChanged(new_value);
826 } 830 }
827 } 831 }
828 832
829 } // namespace content 833 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698