| 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 6171cd915c9c41bc322fe2706be3c86c4a3c879b..850544b61dcd24aba3330be1bb8bae9f5ff6c3a3 100644
|
| --- a/chrome/browser/ui/views/website_settings/permissions_bubble_view.cc
|
| +++ b/chrome/browser/ui/views/website_settings/permissions_bubble_view.cc
|
| @@ -43,7 +43,7 @@ class PermissionsBubbleDelegateView : public views::BubbleDelegateView,
|
| bool customization_mode);
|
| virtual ~PermissionsBubbleDelegateView();
|
|
|
| - void ResetOwner();
|
| + void Close();
|
| void SizeToContents();
|
|
|
| // BubbleDelegateView:
|
| @@ -192,8 +192,9 @@ PermissionsBubbleDelegateView::~PermissionsBubbleDelegateView() {
|
| owner_->Closing();
|
| }
|
|
|
| -void PermissionsBubbleDelegateView::ResetOwner() {
|
| +void PermissionsBubbleDelegateView::Close() {
|
| owner_ = NULL;
|
| + GetWidget()->Close();
|
| }
|
|
|
| bool PermissionsBubbleDelegateView::ShouldShowCloseButton() const {
|
| @@ -242,7 +243,10 @@ PermissionBubbleViewViews::PermissionBubbleViewViews(views::View* anchor_view)
|
| delegate_(NULL),
|
| bubble_delegate_(NULL) {}
|
|
|
| -PermissionBubbleViewViews::~PermissionBubbleViewViews() {}
|
| +PermissionBubbleViewViews::~PermissionBubbleViewViews() {
|
| + if (delegate_)
|
| + delegate_->SetView(NULL);
|
| +}
|
|
|
| void PermissionBubbleViewViews::SetDelegate(Delegate* delegate) {
|
| delegate_ = delegate;
|
| @@ -252,10 +256,8 @@ void PermissionBubbleViewViews::Show(
|
| const std::vector<PermissionBubbleRequest*>& requests,
|
| const std::vector<bool>& values,
|
| bool customization_mode) {
|
| - if (bubble_delegate_ != NULL) {
|
| - bubble_delegate_->ResetOwner();
|
| - bubble_delegate_->StartFade(false);
|
| - }
|
| + if (bubble_delegate_ != NULL)
|
| + bubble_delegate_->Close();
|
|
|
| PermissionsBubbleDelegateView* bubble_delegate =
|
| new PermissionsBubbleDelegateView(anchor_view_, this,
|
| @@ -269,8 +271,8 @@ void PermissionBubbleViewViews::Show(
|
|
|
| void PermissionBubbleViewViews::Hide() {
|
| if (bubble_delegate_) {
|
| - bubble_delegate_->ResetOwner();
|
| - bubble_delegate_->StartFade(false);
|
| + bubble_delegate_->Close();
|
| + bubble_delegate_ = NULL;
|
| }
|
| }
|
|
|
|
|