summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-30 10:23:47 +0000
committermukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-30 10:23:47 +0000
commitd230fb1160aa05627549c019488bdebdcd30d652 (patch)
tree417a0585d749e6da3fb7e3492c91247a2fee8cbb
parenteeedaa6980f8153c09841240313ed7ee088a2cc8 (diff)
downloadchromium_src-d230fb1160aa05627549c019488bdebdcd30d652.zip
chromium_src-d230fb1160aa05627549c019488bdebdcd30d652.tar.gz
chromium_src-d230fb1160aa05627549c019488bdebdcd30d652.tar.bz2
Ensure calling Close and set_listener(NULL) on End().
WebContentsImpl's dtor calls End() but it may not cause set_listener(NULL) in some case, which may cause a use-after-free. This CL always reset them at End(). This would mean DidEndColorChooser() may be called twice, so web_contents_ has to be reset to NULL once DidEndColorChooser() is called. BUG=338464 R=keishi@chromium.org Review URL: https://codereview.chromium.org/148223009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247917 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/ui/views/color_chooser_aura.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/chrome/browser/ui/views/color_chooser_aura.cc b/chrome/browser/ui/views/color_chooser_aura.cc
index d7bf7eb..33e9260 100644
--- a/chrome/browser/ui/views/color_chooser_aura.cc
+++ b/chrome/browser/ui/views/color_chooser_aura.cc
@@ -35,7 +35,7 @@ void ColorChooserAura::OnColorChooserDialogClosed() {
}
void ColorChooserAura::End() {
- if (widget_ && widget_->IsVisible()) {
+ if (widget_) {
view_->set_listener(NULL);
widget_->Close();
view_ = NULL;