diff options
author | shishir@chromium.org <shishir@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-07 08:19:15 +0000 |
---|---|---|
committer | shishir@chromium.org <shishir@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-07 08:19:15 +0000 |
commit | a09a7546f7535a6909886c473e1555d59b9ed88e (patch) | |
tree | 7f9f61e3c7b699ebc60a2b5c5d011280e6ef72d5 /chrome/browser/instant/instant_controller.cc | |
parent | f9285be839ca1efd30a3d4ddb27e479bd364639b (diff) | |
download | chromium_src-a09a7546f7535a6909886c473e1555d59b9ed88e.zip chromium_src-a09a7546f7535a6909886c473e1555d59b9ed88e.tar.gz chromium_src-a09a7546f7535a6909886c473e1555d59b9ed88e.tar.bz2 |
Recreate InstantLoader when its underlying RenderView dies.
Currently the new loader created is not updated with the previous status and
the omnibox input stays the same as before the crash. If the user changes the
omnibox input in any way, instant will showup as expected.
BUG=159327
Review URL: https://chromiumcodereview.appspot.com/11412180
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171723 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/instant/instant_controller.cc')
-rw-r--r-- | chrome/browser/instant/instant_controller.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/chrome/browser/instant/instant_controller.cc b/chrome/browser/instant/instant_controller.cc index 1e63886..02e2c0d 100644 --- a/chrome/browser/instant/instant_controller.cc +++ b/chrome/browser/instant/instant_controller.cc @@ -766,6 +766,15 @@ void InstantController::InstantLoaderContentsFocused() { #endif } +void InstantController::InstantLoaderRenderViewGone() { + ++blacklisted_urls_[loader_->instant_url()]; + HideInternal(); + delete loader_->ReleaseContents(); + // Delay deletion as we have gotten here from an InstantLoader method. + MessageLoop::current()->DeleteSoon(FROM_HERE, loader_.release()); + CreateDefaultLoader(); +} + bool InstantController::ResetLoader(const TemplateURL* template_url, const content::WebContents* active_tab) { std::string instant_url; |