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

Side by Side Diff: components/webusb/webusb_detector.cc

Issue 1289423002: Add webusb notification UI code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: removed OpenURL member function from WebUsbBrowserClient Created 5 years, 3 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
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "components/webusb/webusb_detector.h"
6
7 #include "base/memory/scoped_ptr.h"
8 #include "components/webusb/webusb_browser_client.h"
9 #include "device/core/device_client.h"
10 #include "device/usb/usb_device.h"
11 #include "device/usb/usb_ids.h"
12
13 namespace webusb {
14
15 namespace {
16
17 WebUsbDetector* webusb_detector = nullptr;
18
19 } // namespace
20
21 WebUsbDetector::WebUsbDetector() : observer_(this) {
22 Initialize();
23 }
24
25 WebUsbDetector::~WebUsbDetector() {}
26
27 WebUsbDetector* WebUsbDetector::Get() {
28 return webusb_detector;
29 }
30
31 void WebUsbDetector::Set(WebUsbDetector* detector) {
32 webusb_detector = detector;
33 }
34
35 void WebUsbDetector::Initialize() {
36 if (!webusb::WebUsbBrowserClient::Get()) {
37 return;
38 }
39
40 device::UsbService* usb_service =
41 device::DeviceClient::Get()->GetUsbService();
42 if (!usb_service)
43 return;
44
45 observer_.Add(usb_service);
46 }
47
48 void WebUsbDetector::OnDeviceAdded(scoped_refptr<device::UsbDevice> device) {
49 const base::string16& product_name = device->product_string();
50 if (product_name.empty()) {
51 return;
52 }
53
54 const GURL& landing_page = device->webusb_landing_page();
55 if (!landing_page.is_valid()) {
stevenjb 2015/08/27 16:56:02 Where does webusb_landing_page come from, and is c
Reilly Grant (use Gerrit) 2015/08/27 17:03:00 webusb_landing_page comes from the device. Let's l
juncai 2015/08/27 19:58:39 Done.
56 return;
57 }
58
59 std::string notification_id = device->guid();
60
61 webusb::WebUsbBrowserClient::Get()->OnDeviceAdded(product_name, landing_page,
62 notification_id);
63 }
64
65 void WebUsbDetector::OnDeviceRemoved(scoped_refptr<device::UsbDevice> device) {
66 std::string notification_id = device->guid();
67 webusb::WebUsbBrowserClient::Get()->OnDeviceRemoved(notification_id);
68 }
69
70 } // namespace webusb
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698