Commit e9a8766f authored by hubbe@chromium.org's avatar hubbe@chromium.org

Revert of [WebsiteSettings] Set view to null on manager to ensure no stale...

Revert of [WebsiteSettings] Set view to null on manager to ensure no stale access. (https://codereview.chromium.org/162713003/)

Reason for revert:
http://build.chromium.org/p/chromium.memory/builders/Linux%20ASAN%20Tests%20%282%29/builds/23000

Original issue's description:
> [WebsiteSettings] Set view to null on manager to ensure no stale access.
> 
> R=leng@chromium.org, markusheintz@chromium.org
> BUG=343234
> 
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=251392

TBR=leng@chromium.org,markusheintz@chromium.org,gbillock@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=343234

Review URL: https://codereview.chromium.org/167613002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251409 0039d316-1c4b-4281-b951-d872f2087c98
parent b3b6b6fc
......@@ -43,7 +43,7 @@ class PermissionsBubbleDelegateView : public views::BubbleDelegateView,
bool customization_mode);
virtual ~PermissionsBubbleDelegateView();
void Close();
void ResetOwner();
void SizeToContents();
// BubbleDelegateView:
......@@ -192,9 +192,8 @@ PermissionsBubbleDelegateView::~PermissionsBubbleDelegateView() {
owner_->Closing();
}
void PermissionsBubbleDelegateView::Close() {
void PermissionsBubbleDelegateView::ResetOwner() {
owner_ = NULL;
GetWidget()->Close();
}
bool PermissionsBubbleDelegateView::ShouldShowCloseButton() const {
......@@ -243,10 +242,7 @@ PermissionBubbleViewViews::PermissionBubbleViewViews(views::View* anchor_view)
delegate_(NULL),
bubble_delegate_(NULL) {}
PermissionBubbleViewViews::~PermissionBubbleViewViews() {
if (delegate_)
delegate_->SetView(NULL);
}
PermissionBubbleViewViews::~PermissionBubbleViewViews() {}
void PermissionBubbleViewViews::SetDelegate(Delegate* delegate) {
delegate_ = delegate;
......@@ -256,8 +252,10 @@ void PermissionBubbleViewViews::Show(
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,
......@@ -271,8 +269,8 @@ void PermissionBubbleViewViews::Show(
void PermissionBubbleViewViews::Hide() {
if (bubble_delegate_) {
bubble_delegate_->Close();
bubble_delegate_ = NULL;
bubble_delegate_->ResetOwner();
bubble_delegate_->StartFade(false);
}
}
......
......@@ -44,7 +44,7 @@ class PermissionBubbleManager
// Set the active view for the permission bubble. If this is NULL, it
// means the permission bubble is no longer showing.
virtual void SetView(PermissionBubbleView* view) OVERRIDE;
virtual void SetView(PermissionBubbleView* view);
protected:
// Sets the coalesce time interval to |interval_ms|. For testing only.
......
......@@ -25,7 +25,6 @@ class PermissionBubbleView {
virtual void Accept() = 0;
virtual void Deny() = 0;
virtual void Closing() = 0;
virtual void SetView(PermissionBubbleView* view) = 0;
};
// Sets the delegate which will receive UI events forwarded from the bubble.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment