Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3005)

Unified Diff: chrome/browser/ui/search/instant_page.cc

Issue 14043009: Fall back to local page if online NTP fails to load. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove logic to always try to load a server-provided NTP on frontmost tab. Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/search/instant_page.cc
diff --git a/chrome/browser/ui/search/instant_page.cc b/chrome/browser/ui/search/instant_page.cc
index c21c3078477e9fdb8974f9da4181205e97113cf3..c195e56d79d616866b18791f0c497ab6a947caf1 100644
--- a/chrome/browser/ui/search/instant_page.cc
+++ b/chrome/browser/ui/search/instant_page.cc
@@ -7,7 +7,9 @@
#include "base/utf_string_conversions.h"
#include "chrome/common/render_messages.h"
#include "chrome/common/url_constants.h"
+#include "content/public/browser/navigation_details.h"
#include "content/public/browser/web_contents.h"
+#include "content/public/common/frame_navigate_params.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/font.h"
@@ -192,6 +194,16 @@ void InstantPage::DidCommitProvisionalLoadForFrame(
delegate_->InstantPageAboutToNavigateMainFrame(contents(), url);
}
+void InstantPage::DidFailProvisionalLoad(
+ int64 frame_id,
samarth 2013/05/01 06:26:47 nit: comment out the parameter names that you won'
David Black 2013/05/02 00:49:45 Done.
+ bool is_main_frame,
+ const GURL& validated_url,
+ int error_code,
+ const string16& error_description,
+ content::RenderViewHost* render_view_host) {
+ delegate_->InstantPageLoadFailed(contents());
+}
+
void InstantPage::OnSetSuggestions(
int page_id,
const std::vector<InstantSuggestion>& suggestions) {
@@ -257,3 +269,13 @@ void InstantPage::OnUndoMostVisitedDeletion(InstantRestrictedID restricted_id) {
void InstantPage::OnUndoAllMostVisitedDeletions() {
delegate_->UndoAllMostVisitedDeletions();
}
+
+void InstantPage::DidNavigateMainFrame(
+ const content::LoadCommittedDetails& details,
+ const content::FrameNavigateParams& params) {
samarth 2013/05/01 06:26:47 Likewise, here
David Black 2013/05/02 00:49:45 Done.
+ // A 204 can be sent by the search provider as a lightweight signal
+ // to fall back to the local page, and we obviously want to fall back
+ // if we get any response code that indicates an error.
+ if (details.http_status_code == 204 || details.http_status_code >= 400)
+ delegate_->InstantPageLoadFailed(contents());
+}

Powered by Google App Engine
This is Rietveld 408576698