| 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() {
|
| - 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();
|
|
|