summaryrefslogtreecommitdiffstats
path: root/chrome/browser/instant/instant_controller.cc
diff options
context:
space:
mode:
authorshishir@chromium.org <shishir@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-07 08:19:15 +0000
committershishir@chromium.org <shishir@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-07 08:19:15 +0000
commita09a7546f7535a6909886c473e1555d59b9ed88e (patch)
tree7f9f61e3c7b699ebc60a2b5c5d011280e6ef72d5 /chrome/browser/instant/instant_controller.cc
parentf9285be839ca1efd30a3d4ddb27e479bd364639b (diff)
downloadchromium_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.cc9
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;