summaryrefslogtreecommitdiffstats
path: root/chrome/browser/usb
diff options
context:
space:
mode:
authorjyasskin <jyasskin@chromium.org>2016-02-09 14:39:07 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-09 22:41:17 +0000
commit4a12e67ac24b290e3da1ce7403bcd73be0a4dc8e (patch)
treee6da8cba10197339f90b55db952f4f6a49017711 /chrome/browser/usb
parent456fe8e2a64b676531e9d4f24a5268e2523a4d22 (diff)
downloadchromium_src-4a12e67ac24b290e3da1ce7403bcd73be0a4dc8e.zip
chromium_src-4a12e67ac24b290e3da1ce7403bcd73be0a4dc8e.tar.gz
chromium_src-4a12e67ac24b290e3da1ce7403bcd73be0a4dc8e.tar.bz2
Make sure bubbles in Views close before their RenderFrameHosts.
This is probably covered by navigation, but that isn't obvious from reading the code, so this change adds code to close bubbles directly. BUG=571466 Review URL: https://codereview.chromium.org/1572743002 Cr-Commit-Position: refs/heads/master@{#374503}
Diffstat (limited to 'chrome/browser/usb')
-rw-r--r--chrome/browser/usb/usb_chooser_bubble_delegate.cc4
-rw-r--r--chrome/browser/usb/usb_chooser_bubble_delegate.h2
-rw-r--r--chrome/browser/usb/web_usb_permission_bubble.cc3
3 files changed, 5 insertions, 4 deletions
diff --git a/chrome/browser/usb/usb_chooser_bubble_delegate.cc b/chrome/browser/usb/usb_chooser_bubble_delegate.cc
index 99e7b65..7ef9ea5 100644
--- a/chrome/browser/usb/usb_chooser_bubble_delegate.cc
+++ b/chrome/browser/usb/usb_chooser_bubble_delegate.cc
@@ -73,11 +73,11 @@ bool FindInAllowedOrigins(const device::WebUsbAllowedOrigins* allowed_origins,
} // namespace
UsbChooserBubbleDelegate::UsbChooserBubbleDelegate(
- Browser* browser,
+ content::RenderFrameHost* owner,
mojo::Array<device::usb::DeviceFilterPtr> device_filters,
content::RenderFrameHost* render_frame_host,
const webusb::WebUsbPermissionBubble::GetPermissionCallback& callback)
- : ChooserBubbleDelegate(browser),
+ : ChooserBubbleDelegate(owner),
render_frame_host_(render_frame_host),
callback_(callback),
usb_service_observer_(this),
diff --git a/chrome/browser/usb/usb_chooser_bubble_delegate.h b/chrome/browser/usb/usb_chooser_bubble_delegate.h
index af4526b..9d18a97 100644
--- a/chrome/browser/usb/usb_chooser_bubble_delegate.h
+++ b/chrome/browser/usb/usb_chooser_bubble_delegate.h
@@ -33,7 +33,7 @@ class UsbChooserBubbleDelegate : public ChooserBubbleDelegate,
public device::UsbService::Observer {
public:
UsbChooserBubbleDelegate(
- Browser* browser,
+ content::RenderFrameHost* owner,
mojo::Array<device::usb::DeviceFilterPtr> device_filters,
content::RenderFrameHost* render_frame_host,
const webusb::WebUsbPermissionBubble::GetPermissionCallback& callback);
diff --git a/chrome/browser/usb/web_usb_permission_bubble.cc b/chrome/browser/usb/web_usb_permission_bubble.cc
index d1f7a8f..6ba7d26 100644
--- a/chrome/browser/usb/web_usb_permission_bubble.cc
+++ b/chrome/browser/usb/web_usb_permission_bubble.cc
@@ -34,7 +34,8 @@ void ChromeWebUsbPermissionBubble::GetPermission(
content::WebContents::FromRenderFrameHost(render_frame_host_);
Browser* browser = chrome::FindBrowserWithWebContents(web_contents);
scoped_ptr<UsbChooserBubbleDelegate> bubble_delegate(
- new UsbChooserBubbleDelegate(browser, std::move(device_filters),
+ new UsbChooserBubbleDelegate(render_frame_host_,
+ std::move(device_filters),
render_frame_host_, callback));
UsbChooserBubbleDelegate* bubble_delegate_ptr = bubble_delegate.get();
BubbleReference bubble_controller =