| 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 f1607dc09f2245f3931914324f1a097ab30003e7..c34f56851f54d1b0f8a3167de6945d9aa91625fb 100644
|
| --- a/chrome/browser/ui/views/website_settings/permissions_bubble_view.cc
|
| +++ b/chrome/browser/ui/views/website_settings/permissions_bubble_view.cc
|
| @@ -29,7 +29,7 @@
|
| bool customization_mode);
|
| virtual ~PermissionsBubbleDelegateView();
|
|
|
| - void Close();
|
| + void ResetOwner();
|
| void SizeToContents();
|
|
|
| // BubbleDelegateView:
|
| @@ -178,9 +178,8 @@
|
| owner_->Closing();
|
| }
|
|
|
| -void PermissionsBubbleDelegateView::Close() {
|
| +void PermissionsBubbleDelegateView::ResetOwner() {
|
| owner_ = NULL;
|
| - GetWidget()->Close();
|
| }
|
|
|
| bool PermissionsBubbleDelegateView::ShouldShowCloseButton() const {
|
| @@ -229,10 +228,7 @@
|
| delegate_(NULL),
|
| bubble_delegate_(NULL) {}
|
|
|
| -PermissionBubbleViewViews::~PermissionBubbleViewViews() {
|
| - if (delegate_)
|
| - delegate_->SetView(NULL);
|
| -}
|
| +PermissionBubbleViewViews::~PermissionBubbleViewViews() {}
|
|
|
| void PermissionBubbleViewViews::SetDelegate(Delegate* delegate) {
|
| delegate_ = delegate;
|
| @@ -242,8 +238,10 @@
|
| const std::vector<PermissionBubbleRequest*>& requests,
|
| const std::vector<bool>& values,
|
| bool customization_mode) {
|
| - if (bubble_delegate_ != NULL)
|
| - bubble_delegate_->Close();
|
| + if (bubble_delegate_ != NULL) {
|
| + bubble_delegate_->ResetOwner();
|
| + bubble_delegate_->StartFade(false);
|
| + }
|
|
|
| PermissionsBubbleDelegateView* bubble_delegate =
|
| new PermissionsBubbleDelegateView(anchor_view_, this,
|
| @@ -257,8 +255,8 @@
|
|
|
| void PermissionBubbleViewViews::Hide() {
|
| if (bubble_delegate_) {
|
| - bubble_delegate_->Close();
|
| - bubble_delegate_ = NULL;
|
| + bubble_delegate_->ResetOwner();
|
| + bubble_delegate_->StartFade(false);
|
| }
|
| }
|
|
|
|
|