diff options
author | nkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-04 17:52:31 +0000 |
---|---|---|
committer | nkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-04 17:52:31 +0000 |
commit | 412c7c07f54cdc031d9d241eb4661a833b170a03 (patch) | |
tree | 798c66ad5438ff0e58b6a0819021cb03b86f6380 | |
parent | 4a8453e1fac7ad04b585b786369a31d3213d1cf2 (diff) | |
download | chromium_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.cc | 3 |
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); |