diff options
author | jyasskin <jyasskin@chromium.org> | 2016-02-09 14:39:07 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-09 22:41:17 +0000 |
commit | 4a12e67ac24b290e3da1ce7403bcd73be0a4dc8e (patch) | |
tree | e6da8cba10197339f90b55db952f4f6a49017711 /chrome/browser/usb | |
parent | 456fe8e2a64b676531e9d4f24a5268e2523a4d22 (diff) | |
download | chromium_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.cc | 4 | ||||
-rw-r--r-- | chrome/browser/usb/usb_chooser_bubble_delegate.h | 2 | ||||
-rw-r--r-- | chrome/browser/usb/web_usb_permission_bubble.cc | 3 |
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 = |