Commit c42ee16b authored by Donna Wu's avatar Donna Wu Committed by Commit Bot

Use const UsbDeviceInfo reference for UsbChooserContext::Observer.

This CL made |device_info| parameter to UsbChooserContext::observer
a const device::mojom::UsbDeviceInfo& to reduce wasted clones.

Bug: 699790
Change-Id: Id9b670fab75b185fd2a55e4832e5d92cb6479aa7
Reviewed-on: https://chromium-review.googlesource.com/1249738
Commit-Queue: Donna Wu <donna.wu@intel.com>
Reviewed-by: default avatarReilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595340}
parent 5c72aa8d
......@@ -74,10 +74,10 @@ base::DictionaryValue DeviceInfoToDictValue(
} // namespace
void UsbChooserContext::Observer::OnDeviceAdded(
device::mojom::UsbDeviceInfoPtr device_info) {}
const device::mojom::UsbDeviceInfo& device_info) {}
void UsbChooserContext::Observer::OnDeviceRemoved(
device::mojom::UsbDeviceInfoPtr device_info) {}
const device::mojom::UsbDeviceInfo& device_info) {}
void UsbChooserContext::Observer::OnDeviceManagerConnectionError() {}
......@@ -300,7 +300,7 @@ void UsbChooserContext::OnDeviceAdded(
// Notify all observers.
for (auto& observer : observer_list_)
observer.OnDeviceAdded(device_info->Clone());
observer.OnDeviceAdded(*device_info);
}
void UsbChooserContext::OnDeviceRemoved(
......@@ -309,7 +309,7 @@ void UsbChooserContext::OnDeviceRemoved(
// Notify all observers.
for (auto& observer : observer_list_)
observer.OnDeviceRemoved(device_info->Clone());
observer.OnDeviceRemoved(*device_info);
for (auto& map_entry : ephemeral_devices_)
map_entry.second.erase(device_info->guid);
......
......@@ -28,8 +28,8 @@ class UsbChooserContext : public ChooserContextBase,
class Observer : public base::CheckedObserver {
public:
virtual void OnDeviceAdded(device::mojom::UsbDeviceInfoPtr);
virtual void OnDeviceRemoved(device::mojom::UsbDeviceInfoPtr);
virtual void OnDeviceAdded(const device::mojom::UsbDeviceInfo&);
virtual void OnDeviceRemoved(const device::mojom::UsbDeviceInfo&);
virtual void OnDeviceManagerConnectionError();
};
......
......@@ -163,10 +163,10 @@ void UsbChooserController::OpenHelpCenterUrl() const {
}
void UsbChooserController::OnDeviceAdded(
device::mojom::UsbDeviceInfoPtr device_info) {
if (DisplayDevice(*device_info)) {
base::string16 device_name = FormatUsbDeviceName(*device_info);
devices_.push_back(std::make_pair(std::move(device_info), device_name));
const device::mojom::UsbDeviceInfo& device_info) {
if (DisplayDevice(device_info)) {
base::string16 device_name = FormatUsbDeviceName(device_info);
devices_.push_back(std::make_pair(device_info.Clone(), device_name));
++device_name_map_[device_name];
if (view())
view()->OnOptionAdded(devices_.size() - 1);
......@@ -174,9 +174,9 @@ void UsbChooserController::OnDeviceAdded(
}
void UsbChooserController::OnDeviceRemoved(
device::mojom::UsbDeviceInfoPtr device_info) {
const device::mojom::UsbDeviceInfo& device_info) {
for (auto it = devices_.begin(); it != devices_.end(); ++it) {
if (it->first->guid == device_info->guid) {
if (it->first->guid == device_info.guid) {
size_t index = it - devices_.begin();
DCHECK_GT(device_name_map_[it->second], 0);
if (--device_name_map_[it->second] == 0)
......
......@@ -47,8 +47,9 @@ class UsbChooserController : public ChooserController,
void OpenHelpCenterUrl() const override;
// UsbChooserContext::Observer implementation:
void OnDeviceAdded(device::mojom::UsbDeviceInfoPtr device_info) override;
void OnDeviceRemoved(device::mojom::UsbDeviceInfoPtr device_info) override;
void OnDeviceAdded(const device::mojom::UsbDeviceInfo& device_info) override;
void OnDeviceRemoved(
const device::mojom::UsbDeviceInfo& device_info) override;
void OnDeviceManagerConnectionError() override;
private:
......
......@@ -118,26 +118,24 @@ void WebUsbServiceImpl::SetClient(
}
void WebUsbServiceImpl::OnDeviceAdded(
device::mojom::UsbDeviceInfoPtr device_info) {
DCHECK(device_info);
if (!HasDevicePermission(*device_info))
const device::mojom::UsbDeviceInfo& device_info) {
if (!HasDevicePermission(device_info))
return;
clients_.ForAllPtrs(
[&device_info](device::mojom::UsbDeviceManagerClient* client) {
client->OnDeviceAdded(device_info->Clone());
client->OnDeviceAdded(device_info.Clone());
});
}
void WebUsbServiceImpl::OnDeviceRemoved(
device::mojom::UsbDeviceInfoPtr device_info) {
DCHECK(device_info);
if (!HasDevicePermission(*device_info))
const device::mojom::UsbDeviceInfo& device_info) {
if (!HasDevicePermission(device_info))
return;
clients_.ForAllPtrs(
[&device_info](device::mojom::UsbDeviceManagerClient* client) {
client->OnDeviceRemoved(device_info->Clone());
client->OnDeviceRemoved(device_info.Clone());
});
}
......
......@@ -57,8 +57,9 @@ class WebUsbServiceImpl : public blink::mojom::WebUsbService,
std::vector<device::mojom::UsbDeviceInfoPtr> device_info_list);
// UsbChooserContext::Observer implementation:
void OnDeviceAdded(device::mojom::UsbDeviceInfoPtr device_info) override;
void OnDeviceRemoved(device::mojom::UsbDeviceInfoPtr device_info) override;
void OnDeviceAdded(const device::mojom::UsbDeviceInfo& device_info) override;
void OnDeviceRemoved(
const device::mojom::UsbDeviceInfo& device_info) override;
void OnDeviceManagerConnectionError() override;
// device::mojom::UsbDeviceClient implementation:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment