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

Side by Side Diff: trunk/src/chrome/renderer/chrome_content_renderer_client.cc

Issue 14369002: Revert 194514 - New network error page: Fix resubmit warning page (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/renderer/chrome_content_renderer_client.h" 5 #include "chrome/renderer/chrome_content_renderer_client.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 810 matching lines...) Expand 10 before | Expand all | Expand 10 after
821 return true; 821 return true;
822 } 822 }
823 823
824 void ChromeContentRendererClient::GetNavigationErrorStrings( 824 void ChromeContentRendererClient::GetNavigationErrorStrings(
825 const WebKit::WebURLRequest& failed_request, 825 const WebKit::WebURLRequest& failed_request,
826 const WebKit::WebURLError& error, 826 const WebKit::WebURLError& error,
827 std::string* error_html, 827 std::string* error_html,
828 string16* error_description) { 828 string16* error_description) {
829 const GURL failed_url = error.unreachableURL; 829 const GURL failed_url = error.unreachableURL;
830 const Extension* extension = NULL; 830 const Extension* extension = NULL;
831 const bool is_repost =
832 error.reason == net::ERR_CACHE_MISS &&
833 error.domain == WebString::fromUTF8(net::kErrorDomain) &&
834 EqualsASCII(failed_request.httpMethod(), "POST");
831 835
832 if (failed_url.is_valid() && 836 if (failed_url.is_valid() &&
833 !failed_url.SchemeIs(extensions::kExtensionScheme)) { 837 !failed_url.SchemeIs(extensions::kExtensionScheme)) {
834 extension = extension_dispatcher_->extensions()->GetExtensionOrAppByURL( 838 extension = extension_dispatcher_->extensions()->GetExtensionOrAppByURL(
835 ExtensionURLInfo(failed_url)); 839 ExtensionURLInfo(failed_url));
836 } 840 }
837 841
838 bool is_post = EqualsASCII(failed_request.httpMethod(), "POST");
839
840 if (error_html) { 842 if (error_html) {
841 // Use a local error page. 843 // Use a local error page.
842 int resource_id; 844 int resource_id;
843 DictionaryValue error_strings; 845 DictionaryValue error_strings;
844 if (extension && !extension->from_bookmark()) { 846 if (extension && !extension->from_bookmark()) {
845 LocalizedError::GetAppErrorStrings(error, failed_url, extension, 847 LocalizedError::GetAppErrorStrings(error, failed_url, extension,
846 &error_strings); 848 &error_strings);
847 849
848 // TODO(erikkay): Should we use a different template for different 850 // TODO(erikkay): Should we use a different template for different
849 // error messages? 851 // error messages?
850 resource_id = IDR_ERROR_APP_HTML; 852 resource_id = IDR_ERROR_APP_HTML;
851 } else { 853 } else {
852 LocalizedError::GetStrings( 854 if (is_repost) {
853 error, 855 LocalizedError::GetFormRepostStrings(failed_url, &error_strings);
854 is_post, 856 } else {
855 RenderThread::Get()->GetLocale(), 857 LocalizedError::GetStrings(error, &error_strings,
856 &error_strings); 858 RenderThread::Get()->GetLocale());
859 }
857 resource_id = IDR_NET_ERROR_HTML; 860 resource_id = IDR_NET_ERROR_HTML;
858 } 861 }
859 862
860 const base::StringPiece template_html( 863 const base::StringPiece template_html(
861 ResourceBundle::GetSharedInstance().GetRawDataResource( 864 ResourceBundle::GetSharedInstance().GetRawDataResource(
862 resource_id)); 865 resource_id));
863 if (template_html.empty()) { 866 if (template_html.empty()) {
864 NOTREACHED() << "unable to load template. ID: " << resource_id; 867 NOTREACHED() << "unable to load template. ID: " << resource_id;
865 } else { 868 } else {
866 // "t" is the id of the templates root node. 869 // "t" is the id of the templates root node.
867 *error_html = webui::GetTemplatesHtml(template_html, &error_strings, "t"); 870 *error_html = webui::GetTemplatesHtml(template_html, &error_strings, "t");
868 } 871 }
869 } 872 }
870 873
871 if (error_description) { 874 if (error_description) {
872 if (!extension) 875 if (!extension && !is_repost)
873 *error_description = LocalizedError::GetErrorDetails(error, is_post); 876 *error_description = LocalizedError::GetErrorDetails(error);
874 } 877 }
875 } 878 }
876 879
877 bool ChromeContentRendererClient::RunIdleHandlerWhenWidgetsHidden() { 880 bool ChromeContentRendererClient::RunIdleHandlerWhenWidgetsHidden() {
878 return !extension_dispatcher_->is_extension_process(); 881 return !extension_dispatcher_->is_extension_process();
879 } 882 }
880 883
881 bool ChromeContentRendererClient::AllowPopup() { 884 bool ChromeContentRendererClient::AllowPopup() {
882 extensions::ChromeV8Context* current_context = 885 extensions::ChromeV8Context* current_context =
883 extension_dispatcher_->v8_context_set().GetCurrent(); 886 extension_dispatcher_->v8_context_set().GetCurrent();
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after
1229 1232
1230 for (size_t i = 0; i < request_os_file_handle_allowed_hosts_.size(); ++i) { 1233 for (size_t i = 0; i < request_os_file_handle_allowed_hosts_.size(); ++i) {
1231 if (MatchPattern(inner.host(), request_os_file_handle_allowed_hosts_[i])) 1234 if (MatchPattern(inner.host(), request_os_file_handle_allowed_hosts_[i]))
1232 return true; 1235 return true;
1233 } 1236 }
1234 1237
1235 return false; 1238 return false;
1236 } 1239 }
1237 1240
1238 } // namespace chrome 1241 } // namespace chrome
OLDNEW
« no previous file with comments | « trunk/src/chrome/common/localized_error.cc ('k') | trunk/src/chrome/renderer/net/net_error_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698