summaryrefslogtreecommitdiffstats
path: root/chromium/content/renderer/renderer_webapplicationcachehost_impl.cc
diff options
context:
space:
mode:
authorZeno Albisser <zeno.albisser@digia.com>2013-08-15 21:46:11 +0200
committerZeno Albisser <zeno.albisser@digia.com>2013-08-15 21:46:11 +0200
commit679147eead574d186ebf3069647b4c23e8ccace6 (patch)
treefc247a0ac8ff119f7c8550879ebb6d3dd8d1ff69 /chromium/content/renderer/renderer_webapplicationcachehost_impl.cc
Initial import.
Diffstat (limited to 'chromium/content/renderer/renderer_webapplicationcachehost_impl.cc')
-rw-r--r--chromium/content/renderer/renderer_webapplicationcachehost_impl.cc62
1 files changed, 62 insertions, 0 deletions
diff --git a/chromium/content/renderer/renderer_webapplicationcachehost_impl.cc b/chromium/content/renderer/renderer_webapplicationcachehost_impl.cc
new file mode 100644
index 00000000000..42b281c10db
--- /dev/null
+++ b/chromium/content/renderer/renderer_webapplicationcachehost_impl.cc
@@ -0,0 +1,62 @@
+// 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 "content/renderer/renderer_webapplicationcachehost_impl.h"
+
+#include "content/common/view_messages.h"
+#include "content/renderer/render_thread_impl.h"
+#include "content/renderer/render_view_impl.h"
+#include "third_party/WebKit/public/web/WebFrame.h"
+#include "third_party/WebKit/public/web/WebView.h"
+
+using appcache::AppCacheBackend;
+using WebKit::WebApplicationCacheHostClient;
+using WebKit::WebConsoleMessage;
+
+namespace content {
+
+RendererWebApplicationCacheHostImpl::RendererWebApplicationCacheHostImpl(
+ RenderViewImpl* render_view,
+ WebApplicationCacheHostClient* client,
+ AppCacheBackend* backend)
+ : WebApplicationCacheHostImpl(client, backend),
+ routing_id_(render_view->routing_id()) {
+}
+
+void RendererWebApplicationCacheHostImpl::OnLogMessage(
+ appcache::LogLevel log_level, const std::string& message) {
+ if (RenderThreadImpl::current()->layout_test_mode())
+ return;
+
+ RenderViewImpl* render_view = GetRenderView();
+ if (!render_view || !render_view->webview() ||
+ !render_view->webview()->mainFrame())
+ return;
+
+ WebKit::WebFrame* frame = render_view->webview()->mainFrame();
+ frame->addMessageToConsole(WebConsoleMessage(
+ static_cast<WebConsoleMessage::Level>(log_level),
+ WebKit::WebString::fromUTF8(message.c_str())));
+}
+
+void RendererWebApplicationCacheHostImpl::OnContentBlocked(
+ const GURL& manifest_url) {
+ RenderThreadImpl::current()->Send(new ViewHostMsg_AppCacheAccessed(
+ routing_id_, manifest_url, true));
+}
+
+void RendererWebApplicationCacheHostImpl::OnCacheSelected(
+ const appcache::AppCacheInfo& info) {
+ if (!info.manifest_url.is_empty()) {
+ RenderThreadImpl::current()->Send(new ViewHostMsg_AppCacheAccessed(
+ routing_id_, info.manifest_url, false));
+ }
+ WebApplicationCacheHostImpl::OnCacheSelected(info);
+}
+
+RenderViewImpl* RendererWebApplicationCacheHostImpl::GetRenderView() {
+ return RenderViewImpl::FromRoutingID(routing_id_);
+}
+
+} // namespace content