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

Unified Diff: chrome/renderer/chrome_content_renderer_client.cc

Issue 8142032: Add error description to the DidFailProvisionalLoad callback. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Created 9 years, 2 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/renderer/chrome_content_renderer_client.cc
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
index 39a108a0ac70e38f0e06fbf5350f61ccc8d6f467..cfbe96a3826019dc57132018a588ee704afecfe1 100644
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -533,7 +533,7 @@ void ChromeContentRendererClient::ShowErrorPage(RenderView* render_view,
std::string ChromeContentRendererClient::GetNavigationErrorHtml(
const WebURLRequest& failed_request,
const WebURLError& error) {
- GURL failed_url = error.unreachableURL;
+ const GURL failed_url(error.unreachableURL);
jam 2011/10/05 17:12:06 nit: the compiler is smart enough to call the copy
mkosiba (inactive) 2011/10/05 17:53:18 Ok, I'm going to keep the const in there though.
std::string html;
const Extension* extension = NULL;
@@ -573,6 +573,25 @@ std::string ChromeContentRendererClient::GetNavigationErrorHtml(
return html;
}
+string16 ChromeContentRendererClient::GetNavigationErrorDescription(
+ const WebKit::WebURLRequest& failed_request,
+ const WebKit::WebURLError& error) {
+ const GURL failed_url = error.unreachableURL;
mmenke 2011/10/05 16:05:18 nit: const GURL failed_url(error.unreachableURL);
mmenke 2011/10/05 17:40:11 This comment was made along the line of "if you're
mkosiba (inactive) 2011/10/05 17:53:18 Done.
+ const Extension* extension = NULL;
+ const bool is_repost =
+ error.reason == net::ERR_CACHE_MISS &&
+ error.domain == WebString::fromUTF8(net::kErrorDomain) &&
+ EqualsASCII(failed_request.httpMethod(), "POST");
mmenke 2011/10/05 16:05:18 We now have this logic in 3 places: Here, just ab
mkosiba (inactive) 2011/10/05 17:53:18 I don't think making that information a parameter
mmenke 2011/10/05 18:07:28 If you end up merging the two functions, as per Jo
+
+ if (failed_url.is_valid() && !failed_url.SchemeIs(chrome::kExtensionScheme))
+ extension = extension_dispatcher_->extensions()->GetByURL(failed_url);
+
+ if (!extension && !is_repost)
+ return LocalizedError::GetErrorDetails(error);
+ else
+ return string16();
+}
+
bool ChromeContentRendererClient::RunIdleHandlerWhenWidgetsHidden() {
return !extension_dispatcher_->is_extension_process();
}

Powered by Google App Engine
This is Rietveld 408576698