summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-04 17:52:31 +0000
committernkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-04 17:52:31 +0000
commit412c7c07f54cdc031d9d241eb4661a833b170a03 (patch)
tree798c66ad5438ff0e58b6a0819021cb03b86f6380
parent4a8453e1fac7ad04b585b786369a31d3213d1cf2 (diff)
downloadchromium_src-412c7c07f54cdc031d9d241eb4661a833b170a03.zip
chromium_src-412c7c07f54cdc031d9d241eb4661a833b170a03.tar.gz
chromium_src-412c7c07f54cdc031d9d241eb4661a833b170a03.tar.bz2
Merge 226852 "Don't recreate web_view when it already exists."
> Don't recreate web_view when it already exists. > > When StartLoad() was called multiple times it let to destruction of WebView and WebContents. > However there's a specific contract how it should be deleted which was not honored: > > web_view_->web_contents()->SetDelegate(NULL); > base::MessageLoop::current()->DeleteSoon(FROM_HERE, web_view_container_.release()); > > BUG=285991 > NOTRY=true > > Review URL: https://codereview.chromium.org/25723003 TBR=nkostylev@chromium.org Review URL: https://codereview.chromium.org/25968008 git-svn-id: svn://svn.chromium.org/chrome/branches/1650/src@227033 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/chromeos/login/simple_web_view_dialog.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/chrome/browser/chromeos/login/simple_web_view_dialog.cc b/chrome/browser/chromeos/login/simple_web_view_dialog.cc
index 8a3941d..0c9eb2c 100644
--- a/chrome/browser/chromeos/login/simple_web_view_dialog.cc
+++ b/chrome/browser/chromeos/login/simple_web_view_dialog.cc
@@ -145,7 +145,8 @@ SimpleWebViewDialog::~SimpleWebViewDialog() {
}
void SimpleWebViewDialog::StartLoad(const GURL& url) {
- web_view_container_.reset(new views::WebView(profile_));
+ if (!web_view_container_.get())
+ web_view_container_.reset(new views::WebView(profile_));
web_view_ = web_view_container_.get();
web_view_->GetWebContents()->SetDelegate(this);
web_view_->LoadInitialURL(url);