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

Unified Diff: chrome/browser/ui/views/website_settings/permissions_bubble_view.cc

Issue 1251633002: Add BubbleManager to manage bubbles and ChromeBubbleManager for events. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Apply Feedback Created 5 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/website_settings/permissions_bubble_view.cc
diff --git a/chrome/browser/ui/views/website_settings/permissions_bubble_view.cc b/chrome/browser/ui/views/website_settings/permissions_bubble_view.cc
index 8f271647d81fb43f767deede9e07a9bf198e2291..4faae02bda0e5ba789a62f4a73fdbb5fa9a424c0 100644
--- a/chrome/browser/ui/views/website_settings/permissions_bubble_view.cc
+++ b/chrome/browser/ui/views/website_settings/permissions_bubble_view.cc
@@ -15,6 +15,7 @@
#include "chrome/browser/ui/views/location_bar/location_icon_view.h"
#include "chrome/browser/ui/views/website_settings/permission_selector_view.h"
#include "chrome/browser/ui/views/website_settings/permission_selector_view_observer.h"
+#include "chrome/browser/ui/website_settings/permission_bubble_delegate.h"
#include "chrome/browser/ui/website_settings/permission_bubble_request.h"
#include "chrome/common/pref_names.h"
#include "chrome/grit/generated_resources.h"
@@ -406,26 +407,26 @@ void PermissionsBubbleDelegateView::UpdateAnchor(
//////////////////////////////////////////////////////////////////////////////
// PermissionBubbleViewViews
-PermissionBubbleViewViews::PermissionBubbleViewViews(Browser* browser)
- : browser_(browser),
- delegate_(nullptr),
- bubble_delegate_(nullptr) {
- DCHECK(browser);
+PermissionBubbleViewViews::PermissionBubbleViewViews(
+ PermissionBubbleDelegate* delegate)
+ : delegate_(delegate), bubble_delegate_(nullptr) {
+ DCHECK(delegate);
}
PermissionBubbleViewViews::~PermissionBubbleViewViews() {
}
// static
-scoped_ptr<PermissionBubbleView> PermissionBubbleView::Create(
- Browser* browser) {
- return make_scoped_ptr(new PermissionBubbleViewViews(browser));
+scoped_ptr<BubbleUI> PermissionBubbleView::Create(
+ PermissionBubbleDelegate* delegate) {
+ return make_scoped_ptr(new PermissionBubbleViewViews(delegate));
}
views::View* PermissionBubbleViewViews::GetAnchorView() {
groby-ooo-7-16 2015/08/06 21:32:56 Once we have a Cocoa version, too, let's see how m
hcarmona 2015/08/07 02:12:58 Sounds good
- BrowserView* browser_view = BrowserView::GetBrowserViewForBrowser(browser_);
+ BrowserView* browser_view =
+ BrowserView::GetBrowserViewForBrowser(delegate_->browser());
- if (browser_->SupportsWindowFeature(Browser::FEATURE_LOCATIONBAR))
+ if (delegate_->browser()->SupportsWindowFeature(Browser::FEATURE_LOCATIONBAR))
return browser_view->GetLocationBarView()->location_icon_view();
if (browser_view->IsFullscreenBubbleVisible())
@@ -435,30 +436,29 @@ views::View* PermissionBubbleViewViews::GetAnchorView() {
}
views::BubbleBorder::Arrow PermissionBubbleViewViews::GetAnchorArrow() {
- if (browser_->SupportsWindowFeature(Browser::FEATURE_LOCATIONBAR))
+ if (delegate_->browser()->SupportsWindowFeature(Browser::FEATURE_LOCATIONBAR))
return views::BubbleBorder::TOP_LEFT;
return views::BubbleBorder::NONE;
}
-void PermissionBubbleViewViews::SetDelegate(Delegate* delegate) {
+void PermissionBubbleViewViews::SetDelegate(
+ PermissionBubbleDelegate* delegate) {
delegate_ = delegate;
}
-void PermissionBubbleViewViews::Show(
- const std::vector<PermissionBubbleRequest*>& requests,
- const std::vector<bool>& values) {
+void PermissionBubbleViewViews::Show() {
if (bubble_delegate_)
bubble_delegate_->Close();
- bubble_delegate_ =
- new PermissionsBubbleDelegateView(
- GetAnchorView(), GetAnchorArrow(), this,
- browser_->profile()->GetPrefs()->GetString(prefs::kAcceptLanguages),
- requests, values);
+ bubble_delegate_ = new PermissionsBubbleDelegateView(
+ GetAnchorView(), GetAnchorArrow(), this,
+ delegate_->browser()->profile()->GetPrefs()->GetString(
+ prefs::kAcceptLanguages),
+ delegate_->requests(), delegate_->accept_states());
// Set |parent_window| because some valid anchors can become hidden.
views::Widget* widget = views::Widget::GetWidgetForNativeWindow(
- browser_->window()->GetNativeWindow());
+ delegate_->browser()->window()->GetNativeWindow());
bubble_delegate_->set_parent_window(widget->GetNativeView());
views::BubbleDelegateView::CreateBubble(bubble_delegate_)->Show();

Powered by Google App Engine
This is Rietveld 408576698