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 003f8dd39419161086024c69ff8d8482d74e91ae..7d4cec513ceb3f5bb92e6632be0b020ad505ec7d 100644 |
--- a/chrome/browser/usb/usb_tab_helper.h |
+++ b/chrome/browser/usb/usb_tab_helper.h |
@@ -19,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, |
@@ -34,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>; |
@@ -41,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); |
- std::map<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); |
}; |