diff options
author | boliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-11 21:41:09 +0000 |
---|---|---|
committer | boliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-11 21:41:09 +0000 |
commit | 710b2607b831359d4dc9cc4154872616920fe2ee (patch) | |
tree | c422922f28f4883031284e2212923f23b14de5c4 /android_webview/renderer/aw_content_renderer_client.cc | |
parent | 0ef67479b891cada0389e798914f3c78a22b8c50 (diff) | |
download | chromium_src-710b2607b831359d4dc9cc4154872616920fe2ee.zip chromium_src-710b2607b831359d4dc9cc4154872616920fe2ee.tar.gz chromium_src-710b2607b831359d4dc9cc4154872616920fe2ee.tar.bz2 |
Implement AwContentRendererClient and remove chrome/ dependency
BUG=
Review URL: https://chromiumcodereview.appspot.com/11096036
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161409 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'android_webview/renderer/aw_content_renderer_client.cc')
-rw-r--r-- | android_webview/renderer/aw_content_renderer_client.cc | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/android_webview/renderer/aw_content_renderer_client.cc b/android_webview/renderer/aw_content_renderer_client.cc new file mode 100644 index 0000000..a1864f4 --- /dev/null +++ b/android_webview/renderer/aw_content_renderer_client.cc @@ -0,0 +1,84 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "android_webview/renderer/aw_content_renderer_client.h" + +#include "android_webview/common/url_constants.h" +#include "android_webview/renderer/aw_render_view_ext.h" +#include "base/utf_string_conversions.h" +#include "content/public/renderer/render_thread.h" +#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h" +#include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityPolicy.h" + +namespace android_webview { + +AwContentRendererClient::AwContentRendererClient() { +} + +AwContentRendererClient::~AwContentRendererClient() { +} + +void AwContentRendererClient::RenderThreadStarted() { + WebKit::WebString content_scheme( + ASCIIToUTF16(android_webview::kContentScheme)); + WebKit::WebSecurityPolicy::registerURLSchemeAsLocal(content_scheme); + + aw_render_process_observer_.reset(new AwRenderProcessObserver); + content::RenderThread::Get()->AddObserver( + aw_render_process_observer_.get()); +} + +void AwContentRendererClient::RenderViewCreated( + content::RenderView* render_view) { + AwRenderViewExt::RenderViewCreated(render_view); +} + +std::string AwContentRendererClient::GetDefaultEncoding() { + // TODO(boliu): query android system locale. + return std::string("ISO-8859-1"); +} + +WebKit::WebPlugin* AwContentRendererClient::CreatePluginReplacement( + content::RenderView* render_view, + const FilePath& plugin_path) { + // TODO(boliu): Call WebViewPlugin::Create with appropriate html for missing + // plugin placeholder. + return NULL; +} + +bool AwContentRendererClient::HasErrorPage(int http_status_code, + std::string* error_domain) { + // TODO(boliu): Implement our own error pages. + return false; +} + +void AwContentRendererClient::GetNavigationErrorStrings( + const WebKit::WebURLRequest& failed_request, + const WebKit::WebURLError& error, + std::string* error_html, + string16* error_description) { + // TODO(boliu): Implement our own error pages. +} + +unsigned long long AwContentRendererClient::VisitedLinkHash( + const char* canonical_url, + size_t length) { + // TODO(boliu): Implement a visited link solution for Android WebView. + // Perhaps componentize chrome implementation or move to content/? + return 0LL; +} + +bool AwContentRendererClient::IsLinkVisited(unsigned long long link_hash) { + // TODO(boliu): Implement a visited link solution for Android WebView. + // Perhaps componentize chrome implementation or move to content/? + return false; +} + +void AwContentRendererClient::PrefetchHostName(const char* hostname, + size_t length) { + // TODO(boliu): Implement hostname prefetch for Android WebView. + // Perhaps componentize chrome implementation or move to content/? +} + +} // namespace android_webview |