diff options
author | Andras Becsi <andras.becsi@digia.com> | 2014-10-10 18:29:27 +0200 |
---|---|---|
committer | Andras Becsi <andras.becsi@digia.com> | 2014-10-14 12:06:10 +0200 |
commit | f1e16024b7d608e5d4dc2144d2c97eca73c951ef (patch) | |
tree | b9ded287ec69b49a3eede526628481a9af5d6f47 /src/core/renderer | |
parent | 38e68ab97b6de2f66bd367785d71831d9a154687 (diff) |
Add setting ErrorPageEnabled
This is required so that embedders can implement custom error pages,
and is also needed for tests, where error-page loading has side-effects
on subsequent page loads.
Change-Id: I5ae276a58864a2fa9d7b608bea3340b482a92f4e
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Diffstat (limited to 'src/core/renderer')
-rw-r--r-- | src/core/renderer/content_renderer_client_qt.cpp | 7 | ||||
-rw-r--r-- | src/core/renderer/content_renderer_client_qt.h | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp index 6d4315b64..451aaac4b 100644 --- a/src/core/renderer/content_renderer_client_qt.cpp +++ b/src/core/renderer/content_renderer_client_qt.cpp @@ -39,6 +39,7 @@ #include "base/strings/utf_string_conversions.h" #include "chrome/common/localized_error.h" #include "components/visitedlink/renderer/visitedlink_slave.h" +#include "content/public/renderer/render_frame.h" #include "content/public/renderer/render_thread.h" #include "content/public/renderer/render_view.h" #include "net/base/net_errors.h" @@ -46,6 +47,7 @@ #include "third_party/WebKit/public/platform/WebURLRequest.h" #include "ui/base/resource/resource_bundle.h" #include "ui/base/webui/jstemplate_builder.h" +#include "webkit/common/webpreferences.h" #include "renderer/qt_render_view_observer.h" @@ -84,6 +86,11 @@ bool ContentRendererClientQt::HasErrorPage(int httpStatusCode, std::string *erro return true; } +bool ContentRendererClientQt::ShouldSuppressErrorPage(content::RenderFrame *frame, const GURL &) +{ + return !(frame->GetWebkitPreferences().enable_error_page); +} + // To tap into the chromium localized strings. Ripped from the chrome layer (highly simplified). void ContentRendererClientQt::GetNavigationErrorStrings(content::RenderView* render_view, blink::WebFrame *frame, const blink::WebURLRequest &failed_request, const blink::WebURLError &error, std::string *error_html, base::string16 *error_description) { diff --git a/src/core/renderer/content_renderer_client_qt.h b/src/core/renderer/content_renderer_client_qt.h index 386495e20..505262fc8 100644 --- a/src/core/renderer/content_renderer_client_qt.h +++ b/src/core/renderer/content_renderer_client_qt.h @@ -50,7 +50,7 @@ public: virtual void RenderThreadStarted() Q_DECL_OVERRIDE; virtual void RenderViewCreated(content::RenderView *render_view) Q_DECL_OVERRIDE; - virtual bool ShouldSuppressErrorPage(content::RenderFrame *, const GURL &) Q_DECL_OVERRIDE { return false; } + virtual bool ShouldSuppressErrorPage(content::RenderFrame *, const GURL &) Q_DECL_OVERRIDE; virtual bool HasErrorPage(int httpStatusCode, std::string *errorDomain) Q_DECL_OVERRIDE; virtual void GetNavigationErrorStrings(content::RenderView* render_view, blink::WebFrame* frame, const blink::WebURLRequest& failed_request , const blink::WebURLError& error, std::string* error_html, base::string16* error_description) Q_DECL_OVERRIDE; |