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

Side by Side Diff: extensions/browser/api/usb/usb_api.cc

Issue 503873002: Remove implicit conversions from scoped_refptr to T* in extensions/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 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 "extensions/browser/api/usb/usb_api.h" 5 #include "extensions/browser/api/usb/usb_api.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 431
432 UsbService* service = UsbService::GetInstance(); 432 UsbService* service = UsbService::GetInstance();
433 if (!service) { 433 if (!service) {
434 CompleteWithError(kErrorInitService); 434 CompleteWithError(kErrorInitService);
435 return NULL; 435 return NULL;
436 } 436 }
437 scoped_refptr<UsbDevice> device; 437 scoped_refptr<UsbDevice> device;
438 438
439 device = service->GetDeviceById(input_device.device); 439 device = service->GetDeviceById(input_device.device);
440 440
441 if (!device) { 441 if (!device.get()) {
442 CompleteWithError(kErrorNoDevice); 442 CompleteWithError(kErrorNoDevice);
443 return NULL; 443 return NULL;
444 } 444 }
445 445
446 if (device->vendor_id() != input_device.vendor_id || 446 if (device->vendor_id() != input_device.vendor_id ||
447 device->product_id() != input_device.product_id) { 447 device->product_id() != input_device.product_id) {
448 // Must act as if there is no such a device. 448 // Must act as if there is no such a device.
449 // Otherwise can be used to finger print unauthorized devices. 449 // Otherwise can be used to finger print unauthorized devices.
450 CompleteWithError(kErrorNoDevice); 450 CompleteWithError(kErrorNoDevice);
451 return NULL; 451 return NULL;
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
585 #else 585 #else
586 OpenDevices(devices.Pass()); 586 OpenDevices(devices.Pass());
587 #endif // OS_CHROMEOS 587 #endif // OS_CHROMEOS
588 } 588 }
589 589
590 void UsbFindDevicesFunction::OpenDevices(ScopedDeviceVector devices) { 590 void UsbFindDevicesFunction::OpenDevices(ScopedDeviceVector devices) {
591 base::ListValue* result = new base::ListValue(); 591 base::ListValue* result = new base::ListValue();
592 592
593 for (size_t i = 0; i < devices->size(); ++i) { 593 for (size_t i = 0; i < devices->size(); ++i) {
594 scoped_refptr<UsbDeviceHandle> device_handle = devices->at(i)->Open(); 594 scoped_refptr<UsbDeviceHandle> device_handle = devices->at(i)->Open();
595 if (device_handle) 595 if (device_handle.get())
596 device_handles_.push_back(device_handle); 596 device_handles_.push_back(device_handle);
597 } 597 }
598 598
599 for (size_t i = 0; i < device_handles_.size(); ++i) { 599 for (size_t i = 0; i < device_handles_.size(); ++i) {
600 UsbDeviceHandle* const device_handle = device_handles_[i].get(); 600 UsbDeviceHandle* const device_handle = device_handles_[i].get();
601 UsbDeviceResource* const resource = 601 UsbDeviceResource* const resource =
602 new UsbDeviceResource(extension_->id(), device_handle); 602 new UsbDeviceResource(extension_->id(), device_handle);
603 603
604 result->Append(PopulateConnectionHandle(manager_->Add(resource), 604 result->Append(PopulateConnectionHandle(manager_->Add(resource),
605 parameters_->options.vendor_id, 605 parameters_->options.vendor_id,
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
702 702
703 bool UsbOpenDeviceFunction::Prepare() { 703 bool UsbOpenDeviceFunction::Prepare() {
704 parameters_ = OpenDevice::Params::Create(*args_); 704 parameters_ = OpenDevice::Params::Create(*args_);
705 EXTENSION_FUNCTION_VALIDATE(parameters_.get()); 705 EXTENSION_FUNCTION_VALIDATE(parameters_.get());
706 return true; 706 return true;
707 } 707 }
708 708
709 void UsbOpenDeviceFunction::AsyncWorkStart() { 709 void UsbOpenDeviceFunction::AsyncWorkStart() {
710 scoped_refptr<UsbDevice> device = 710 scoped_refptr<UsbDevice> device =
711 GetDeviceOrOrCompleteWithError(parameters_->device); 711 GetDeviceOrOrCompleteWithError(parameters_->device);
712 if (!device) 712 if (!device.get())
713 return; 713 return;
714 714
715 handle_ = device->Open(); 715 handle_ = device->Open();
716 if (!handle_) { 716 if (!handle_.get()) {
717 SetError(kErrorOpen); 717 SetError(kErrorOpen);
718 AsyncWorkCompleted(); 718 AsyncWorkCompleted();
719 return; 719 return;
720 } 720 }
721 721
722 SetResult(PopulateConnectionHandle( 722 SetResult(PopulateConnectionHandle(
723 manager_->Add(new UsbDeviceResource(extension_->id(), handle_)), 723 manager_->Add(new UsbDeviceResource(extension_->id(), handle_)),
724 handle_->GetDevice()->vendor_id(), 724 handle_->GetDevice()->vendor_id(),
725 handle_->GetDevice()->product_id())); 725 handle_->GetDevice()->product_id()));
726 AsyncWorkCompleted(); 726 AsyncWorkCompleted();
727 } 727 }
728 728
729 UsbListInterfacesFunction::UsbListInterfacesFunction() { 729 UsbListInterfacesFunction::UsbListInterfacesFunction() {
730 } 730 }
731 731
732 UsbListInterfacesFunction::~UsbListInterfacesFunction() { 732 UsbListInterfacesFunction::~UsbListInterfacesFunction() {
733 } 733 }
734 734
735 bool UsbListInterfacesFunction::Prepare() { 735 bool UsbListInterfacesFunction::Prepare() {
736 parameters_ = ListInterfaces::Params::Create(*args_); 736 parameters_ = ListInterfaces::Params::Create(*args_);
737 EXTENSION_FUNCTION_VALIDATE(parameters_.get()); 737 EXTENSION_FUNCTION_VALIDATE(parameters_.get());
738 return true; 738 return true;
739 } 739 }
740 740
741 void UsbListInterfacesFunction::AsyncWorkStart() { 741 void UsbListInterfacesFunction::AsyncWorkStart() {
742 scoped_refptr<UsbDeviceHandle> device_handle = 742 scoped_refptr<UsbDeviceHandle> device_handle =
743 GetDeviceHandleOrCompleteWithError(parameters_->handle); 743 GetDeviceHandleOrCompleteWithError(parameters_->handle);
744 if (!device_handle) 744 if (!device_handle.get())
745 return; 745 return;
746 746
747 scoped_refptr<UsbConfigDescriptor> config = 747 scoped_refptr<UsbConfigDescriptor> config =
748 device_handle->GetDevice()->ListInterfaces(); 748 device_handle->GetDevice()->ListInterfaces();
749 749
750 if (!config) { 750 if (!config.get()) {
751 SetError(kErrorCannotListInterfaces); 751 SetError(kErrorCannotListInterfaces);
752 AsyncWorkCompleted(); 752 AsyncWorkCompleted();
753 return; 753 return;
754 } 754 }
755 755
756 result_.reset(new base::ListValue()); 756 result_.reset(new base::ListValue());
757 757
758 for (size_t i = 0, num_interfaces = config->GetNumInterfaces(); 758 for (size_t i = 0, num_interfaces = config->GetNumInterfaces();
759 i < num_interfaces; 759 i < num_interfaces;
760 ++i) { 760 ++i) {
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
860 860
861 bool UsbCloseDeviceFunction::Prepare() { 861 bool UsbCloseDeviceFunction::Prepare() {
862 parameters_ = CloseDevice::Params::Create(*args_); 862 parameters_ = CloseDevice::Params::Create(*args_);
863 EXTENSION_FUNCTION_VALIDATE(parameters_.get()); 863 EXTENSION_FUNCTION_VALIDATE(parameters_.get());
864 return true; 864 return true;
865 } 865 }
866 866
867 void UsbCloseDeviceFunction::AsyncWorkStart() { 867 void UsbCloseDeviceFunction::AsyncWorkStart() {
868 scoped_refptr<UsbDeviceHandle> device_handle = 868 scoped_refptr<UsbDeviceHandle> device_handle =
869 GetDeviceHandleOrCompleteWithError(parameters_->handle); 869 GetDeviceHandleOrCompleteWithError(parameters_->handle);
870 if (!device_handle) 870 if (!device_handle.get())
871 return; 871 return;
872 872
873 device_handle->Close(); 873 device_handle->Close();
874 RemoveUsbDeviceResource(parameters_->handle.handle); 874 RemoveUsbDeviceResource(parameters_->handle.handle);
875 AsyncWorkCompleted(); 875 AsyncWorkCompleted();
876 } 876 }
877 877
878 UsbClaimInterfaceFunction::UsbClaimInterfaceFunction() { 878 UsbClaimInterfaceFunction::UsbClaimInterfaceFunction() {
879 } 879 }
880 880
881 UsbClaimInterfaceFunction::~UsbClaimInterfaceFunction() { 881 UsbClaimInterfaceFunction::~UsbClaimInterfaceFunction() {
882 } 882 }
883 883
884 bool UsbClaimInterfaceFunction::Prepare() { 884 bool UsbClaimInterfaceFunction::Prepare() {
885 parameters_ = ClaimInterface::Params::Create(*args_); 885 parameters_ = ClaimInterface::Params::Create(*args_);
886 EXTENSION_FUNCTION_VALIDATE(parameters_.get()); 886 EXTENSION_FUNCTION_VALIDATE(parameters_.get());
887 return true; 887 return true;
888 } 888 }
889 889
890 void UsbClaimInterfaceFunction::AsyncWorkStart() { 890 void UsbClaimInterfaceFunction::AsyncWorkStart() {
891 scoped_refptr<UsbDeviceHandle> device_handle = 891 scoped_refptr<UsbDeviceHandle> device_handle =
892 GetDeviceHandleOrCompleteWithError(parameters_->handle); 892 GetDeviceHandleOrCompleteWithError(parameters_->handle);
893 if (!device_handle) 893 if (!device_handle.get())
894 return; 894 return;
895 895
896 bool success = device_handle->ClaimInterface(parameters_->interface_number); 896 bool success = device_handle->ClaimInterface(parameters_->interface_number);
897 897
898 if (!success) 898 if (!success)
899 SetError(kErrorCannotClaimInterface); 899 SetError(kErrorCannotClaimInterface);
900 AsyncWorkCompleted(); 900 AsyncWorkCompleted();
901 } 901 }
902 902
903 UsbReleaseInterfaceFunction::UsbReleaseInterfaceFunction() { 903 UsbReleaseInterfaceFunction::UsbReleaseInterfaceFunction() {
904 } 904 }
905 905
906 UsbReleaseInterfaceFunction::~UsbReleaseInterfaceFunction() { 906 UsbReleaseInterfaceFunction::~UsbReleaseInterfaceFunction() {
907 } 907 }
908 908
909 bool UsbReleaseInterfaceFunction::Prepare() { 909 bool UsbReleaseInterfaceFunction::Prepare() {
910 parameters_ = ReleaseInterface::Params::Create(*args_); 910 parameters_ = ReleaseInterface::Params::Create(*args_);
911 EXTENSION_FUNCTION_VALIDATE(parameters_.get()); 911 EXTENSION_FUNCTION_VALIDATE(parameters_.get());
912 return true; 912 return true;
913 } 913 }
914 914
915 void UsbReleaseInterfaceFunction::AsyncWorkStart() { 915 void UsbReleaseInterfaceFunction::AsyncWorkStart() {
916 scoped_refptr<UsbDeviceHandle> device_handle = 916 scoped_refptr<UsbDeviceHandle> device_handle =
917 GetDeviceHandleOrCompleteWithError(parameters_->handle); 917 GetDeviceHandleOrCompleteWithError(parameters_->handle);
918 if (!device_handle) 918 if (!device_handle.get())
919 return; 919 return;
920 920
921 bool success = device_handle->ReleaseInterface(parameters_->interface_number); 921 bool success = device_handle->ReleaseInterface(parameters_->interface_number);
922 if (!success) 922 if (!success)
923 SetError(kErrorCannotReleaseInterface); 923 SetError(kErrorCannotReleaseInterface);
924 AsyncWorkCompleted(); 924 AsyncWorkCompleted();
925 } 925 }
926 926
927 UsbSetInterfaceAlternateSettingFunction:: 927 UsbSetInterfaceAlternateSettingFunction::
928 UsbSetInterfaceAlternateSettingFunction() { 928 UsbSetInterfaceAlternateSettingFunction() {
929 } 929 }
930 930
931 UsbSetInterfaceAlternateSettingFunction:: 931 UsbSetInterfaceAlternateSettingFunction::
932 ~UsbSetInterfaceAlternateSettingFunction() { 932 ~UsbSetInterfaceAlternateSettingFunction() {
933 } 933 }
934 934
935 bool UsbSetInterfaceAlternateSettingFunction::Prepare() { 935 bool UsbSetInterfaceAlternateSettingFunction::Prepare() {
936 parameters_ = SetInterfaceAlternateSetting::Params::Create(*args_); 936 parameters_ = SetInterfaceAlternateSetting::Params::Create(*args_);
937 EXTENSION_FUNCTION_VALIDATE(parameters_.get()); 937 EXTENSION_FUNCTION_VALIDATE(parameters_.get());
938 return true; 938 return true;
939 } 939 }
940 940
941 void UsbSetInterfaceAlternateSettingFunction::AsyncWorkStart() { 941 void UsbSetInterfaceAlternateSettingFunction::AsyncWorkStart() {
942 scoped_refptr<UsbDeviceHandle> device_handle = 942 scoped_refptr<UsbDeviceHandle> device_handle =
943 GetDeviceHandleOrCompleteWithError(parameters_->handle); 943 GetDeviceHandleOrCompleteWithError(parameters_->handle);
944 if (!device_handle) 944 if (!device_handle.get())
945 return; 945 return;
946 946
947 bool success = device_handle->SetInterfaceAlternateSetting( 947 bool success = device_handle->SetInterfaceAlternateSetting(
948 parameters_->interface_number, parameters_->alternate_setting); 948 parameters_->interface_number, parameters_->alternate_setting);
949 if (!success) 949 if (!success)
950 SetError(kErrorCannotSetInterfaceAlternateSetting); 950 SetError(kErrorCannotSetInterfaceAlternateSetting);
951 951
952 AsyncWorkCompleted(); 952 AsyncWorkCompleted();
953 } 953 }
954 954
955 UsbControlTransferFunction::UsbControlTransferFunction() { 955 UsbControlTransferFunction::UsbControlTransferFunction() {
956 } 956 }
957 957
958 UsbControlTransferFunction::~UsbControlTransferFunction() { 958 UsbControlTransferFunction::~UsbControlTransferFunction() {
959 } 959 }
960 960
961 bool UsbControlTransferFunction::Prepare() { 961 bool UsbControlTransferFunction::Prepare() {
962 parameters_ = ControlTransfer::Params::Create(*args_); 962 parameters_ = ControlTransfer::Params::Create(*args_);
963 EXTENSION_FUNCTION_VALIDATE(parameters_.get()); 963 EXTENSION_FUNCTION_VALIDATE(parameters_.get());
964 return true; 964 return true;
965 } 965 }
966 966
967 void UsbControlTransferFunction::AsyncWorkStart() { 967 void UsbControlTransferFunction::AsyncWorkStart() {
968 scoped_refptr<UsbDeviceHandle> device_handle = 968 scoped_refptr<UsbDeviceHandle> device_handle =
969 GetDeviceHandleOrCompleteWithError(parameters_->handle); 969 GetDeviceHandleOrCompleteWithError(parameters_->handle);
970 if (!device_handle) 970 if (!device_handle.get())
971 return; 971 return;
972 972
973 const ControlTransferInfo& transfer = parameters_->transfer_info; 973 const ControlTransferInfo& transfer = parameters_->transfer_info;
974 974
975 UsbEndpointDirection direction; 975 UsbEndpointDirection direction;
976 UsbDeviceHandle::TransferRequestType request_type; 976 UsbDeviceHandle::TransferRequestType request_type;
977 UsbDeviceHandle::TransferRecipient recipient; 977 UsbDeviceHandle::TransferRecipient recipient;
978 size_t size = 0; 978 size_t size = 0;
979 979
980 if (!ConvertDirectionSafely(transfer.direction, &direction) || 980 if (!ConvertDirectionSafely(transfer.direction, &direction) ||
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1017 1017
1018 bool UsbBulkTransferFunction::Prepare() { 1018 bool UsbBulkTransferFunction::Prepare() {
1019 parameters_ = BulkTransfer::Params::Create(*args_); 1019 parameters_ = BulkTransfer::Params::Create(*args_);
1020 EXTENSION_FUNCTION_VALIDATE(parameters_.get()); 1020 EXTENSION_FUNCTION_VALIDATE(parameters_.get());
1021 return true; 1021 return true;
1022 } 1022 }
1023 1023
1024 void UsbBulkTransferFunction::AsyncWorkStart() { 1024 void UsbBulkTransferFunction::AsyncWorkStart() {
1025 scoped_refptr<UsbDeviceHandle> device_handle = 1025 scoped_refptr<UsbDeviceHandle> device_handle =
1026 GetDeviceHandleOrCompleteWithError(parameters_->handle); 1026 GetDeviceHandleOrCompleteWithError(parameters_->handle);
1027 if (!device_handle) 1027 if (!device_handle.get())
1028 return; 1028 return;
1029 1029
1030 const GenericTransferInfo& transfer = parameters_->transfer_info; 1030 const GenericTransferInfo& transfer = parameters_->transfer_info;
1031 1031
1032 UsbEndpointDirection direction; 1032 UsbEndpointDirection direction;
1033 size_t size = 0; 1033 size_t size = 0;
1034 1034
1035 if (!ConvertDirectionSafely(transfer.direction, &direction)) { 1035 if (!ConvertDirectionSafely(transfer.direction, &direction)) {
1036 AsyncWorkCompleted(); 1036 AsyncWorkCompleted();
1037 return; 1037 return;
(...skipping 28 matching lines...) Expand all
1066 1066
1067 bool UsbInterruptTransferFunction::Prepare() { 1067 bool UsbInterruptTransferFunction::Prepare() {
1068 parameters_ = InterruptTransfer::Params::Create(*args_); 1068 parameters_ = InterruptTransfer::Params::Create(*args_);
1069 EXTENSION_FUNCTION_VALIDATE(parameters_.get()); 1069 EXTENSION_FUNCTION_VALIDATE(parameters_.get());
1070 return true; 1070 return true;
1071 } 1071 }
1072 1072
1073 void UsbInterruptTransferFunction::AsyncWorkStart() { 1073 void UsbInterruptTransferFunction::AsyncWorkStart() {
1074 scoped_refptr<UsbDeviceHandle> device_handle = 1074 scoped_refptr<UsbDeviceHandle> device_handle =
1075 GetDeviceHandleOrCompleteWithError(parameters_->handle); 1075 GetDeviceHandleOrCompleteWithError(parameters_->handle);
1076 if (!device_handle) 1076 if (!device_handle.get())
1077 return; 1077 return;
1078 1078
1079 const GenericTransferInfo& transfer = parameters_->transfer_info; 1079 const GenericTransferInfo& transfer = parameters_->transfer_info;
1080 1080
1081 UsbEndpointDirection direction; 1081 UsbEndpointDirection direction;
1082 size_t size = 0; 1082 size_t size = 0;
1083 1083
1084 if (!ConvertDirectionSafely(transfer.direction, &direction)) { 1084 if (!ConvertDirectionSafely(transfer.direction, &direction)) {
1085 AsyncWorkCompleted(); 1085 AsyncWorkCompleted();
1086 return; 1086 return;
(...skipping 28 matching lines...) Expand all
1115 1115
1116 bool UsbIsochronousTransferFunction::Prepare() { 1116 bool UsbIsochronousTransferFunction::Prepare() {
1117 parameters_ = IsochronousTransfer::Params::Create(*args_); 1117 parameters_ = IsochronousTransfer::Params::Create(*args_);
1118 EXTENSION_FUNCTION_VALIDATE(parameters_.get()); 1118 EXTENSION_FUNCTION_VALIDATE(parameters_.get());
1119 return true; 1119 return true;
1120 } 1120 }
1121 1121
1122 void UsbIsochronousTransferFunction::AsyncWorkStart() { 1122 void UsbIsochronousTransferFunction::AsyncWorkStart() {
1123 scoped_refptr<UsbDeviceHandle> device_handle = 1123 scoped_refptr<UsbDeviceHandle> device_handle =
1124 GetDeviceHandleOrCompleteWithError(parameters_->handle); 1124 GetDeviceHandleOrCompleteWithError(parameters_->handle);
1125 if (!device_handle) 1125 if (!device_handle.get())
1126 return; 1126 return;
1127 1127
1128 const IsochronousTransferInfo& transfer = parameters_->transfer_info; 1128 const IsochronousTransferInfo& transfer = parameters_->transfer_info;
1129 const GenericTransferInfo& generic_transfer = transfer.transfer_info; 1129 const GenericTransferInfo& generic_transfer = transfer.transfer_info;
1130 1130
1131 size_t size = 0; 1131 size_t size = 0;
1132 UsbEndpointDirection direction; 1132 UsbEndpointDirection direction;
1133 1133
1134 if (!ConvertDirectionSafely(generic_transfer.direction, &direction)) { 1134 if (!ConvertDirectionSafely(generic_transfer.direction, &direction)) {
1135 AsyncWorkCompleted(); 1135 AsyncWorkCompleted();
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
1182 1182
1183 bool UsbResetDeviceFunction::Prepare() { 1183 bool UsbResetDeviceFunction::Prepare() {
1184 parameters_ = ResetDevice::Params::Create(*args_); 1184 parameters_ = ResetDevice::Params::Create(*args_);
1185 EXTENSION_FUNCTION_VALIDATE(parameters_.get()); 1185 EXTENSION_FUNCTION_VALIDATE(parameters_.get());
1186 return true; 1186 return true;
1187 } 1187 }
1188 1188
1189 void UsbResetDeviceFunction::AsyncWorkStart() { 1189 void UsbResetDeviceFunction::AsyncWorkStart() {
1190 scoped_refptr<UsbDeviceHandle> device_handle = 1190 scoped_refptr<UsbDeviceHandle> device_handle =
1191 GetDeviceHandleOrCompleteWithError(parameters_->handle); 1191 GetDeviceHandleOrCompleteWithError(parameters_->handle);
1192 if (!device_handle) 1192 if (!device_handle.get())
1193 return; 1193 return;
1194 1194
1195 bool success = device_handle->ResetDevice(); 1195 bool success = device_handle->ResetDevice();
1196 if (!success) { 1196 if (!success) {
1197 device_handle->Close(); 1197 device_handle->Close();
1198 RemoveUsbDeviceResource(parameters_->handle.handle); 1198 RemoveUsbDeviceResource(parameters_->handle.handle);
1199 SetResult(new base::FundamentalValue(false)); 1199 SetResult(new base::FundamentalValue(false));
1200 CompleteWithError(kErrorResetDevice); 1200 CompleteWithError(kErrorResetDevice);
1201 return; 1201 return;
1202 } 1202 }
1203 1203
1204 SetResult(new base::FundamentalValue(true)); 1204 SetResult(new base::FundamentalValue(true));
1205 AsyncWorkCompleted(); 1205 AsyncWorkCompleted();
1206 } 1206 }
1207 1207
1208 } // namespace extensions 1208 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/browser/api/serial/serial_apitest.cc ('k') | extensions/browser/api/usb_private/usb_private_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698