Index: chrome/browser/usb/usb_tab_helper.h |
diff --git a/chrome/browser/usb/usb_tab_helper.h b/chrome/browser/usb/usb_tab_helper.h |
index c2bb342e7dc12a3e421177c46c3e77fcc0174262..7d4cec513ceb3f5bb92e6632be0b020ad505ec7d 100644 |
--- a/chrome/browser/usb/usb_tab_helper.h |
+++ b/chrome/browser/usb/usb_tab_helper.h |
@@ -5,7 +5,8 @@ |
#ifndef CHROME_BROWSER_USB_USB_TAB_HELPER_H_ |
#define CHROME_BROWSER_USB_USB_TAB_HELPER_H_ |
-#include "base/containers/scoped_ptr_map.h" |
+#include <map> |
+ |
#include "base/macros.h" |
#include "content/public/browser/web_contents_observer.h" |
#include "content/public/browser/web_contents_user_data.h" |
@@ -18,7 +19,14 @@ class PermissionProvider; |
} |
} |
-class WebUSBPermissionProvider; |
+namespace webusb { |
+class WebUsbPermissionBubble; |
+} |
+ |
+struct FrameUsbServices; |
+ |
+typedef std::map<content::RenderFrameHost*, scoped_ptr<FrameUsbServices>> |
+ FrameUsbServicesMap; |
// Per-tab owner of USB services provided to render frames within that tab. |
class UsbTabHelper : public content::WebContentsObserver, |
@@ -33,6 +41,10 @@ class UsbTabHelper : public content::WebContentsObserver, |
content::RenderFrameHost* render_frame_host, |
mojo::InterfaceRequest<device::usb::DeviceManager> request); |
+ void CreatePermissionBubble( |
+ content::RenderFrameHost* render_frame_host, |
+ mojo::InterfaceRequest<webusb::WebUsbPermissionBubble> request); |
+ |
private: |
explicit UsbTabHelper(content::WebContents* web_contents); |
friend class content::WebContentsUserData<UsbTabHelper>; |
@@ -40,12 +52,18 @@ class UsbTabHelper : public content::WebContentsObserver, |
// content::WebContentsObserver overrides: |
void RenderFrameDeleted(content::RenderFrameHost* render_frame_host) override; |
+ FrameUsbServices* GetFrameUsbService( |
+ content::RenderFrameHost* render_frame_host); |
+ |
void GetPermissionProvider( |
content::RenderFrameHost* render_frame_host, |
mojo::InterfaceRequest<device::usb::PermissionProvider> request); |
- base::ScopedPtrMap<content::RenderFrameHost*, |
- scoped_ptr<WebUSBPermissionProvider>> permission_provider_; |
+ void GetPermissionBubble( |
+ content::RenderFrameHost* render_frame_host, |
+ mojo::InterfaceRequest<webusb::WebUsbPermissionBubble> request); |
+ |
+ FrameUsbServicesMap frame_usb_services_; |
DISALLOW_COPY_AND_ASSIGN(UsbTabHelper); |
}; |