summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/renderer')
-rw-r--r--chrome/renderer/renderer_webapplicationcachehost_impl.cc19
-rw-r--r--chrome/renderer/renderer_webapplicationcachehost_impl.h7
2 files changed, 22 insertions, 4 deletions
diff --git a/chrome/renderer/renderer_webapplicationcachehost_impl.cc b/chrome/renderer/renderer_webapplicationcachehost_impl.cc
index 88ffd2c..6a2d6e3 100644
--- a/chrome/renderer/renderer_webapplicationcachehost_impl.cc
+++ b/chrome/renderer/renderer_webapplicationcachehost_impl.cc
@@ -7,9 +7,11 @@
#include "chrome/common/content_settings_types.h"
#include "chrome/renderer/render_thread.h"
#include "chrome/renderer/render_view.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebFrame.h"
using appcache::AppCacheBackend;
using WebKit::WebApplicationCacheHostClient;
+using WebKit::WebConsoleMessage;
RendererWebApplicationCacheHostImpl::RendererWebApplicationCacheHostImpl(
RenderView* render_view,
@@ -20,7 +22,17 @@ RendererWebApplicationCacheHostImpl::RendererWebApplicationCacheHostImpl(
routing_id_(render_view->routing_id()) {
}
-RendererWebApplicationCacheHostImpl::~RendererWebApplicationCacheHostImpl() {
+void RendererWebApplicationCacheHostImpl::OnLogMessage(
+ appcache::LogLevel log_level, const std::string& message) {
+ RenderView* 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() {
@@ -30,3 +42,8 @@ void RendererWebApplicationCacheHostImpl::OnContentBlocked() {
content_blocked_ = true;
}
}
+
+RenderView* RendererWebApplicationCacheHostImpl::GetRenderView() {
+ return static_cast<RenderView*>
+ (RenderThread::current()->ResolveRoute(routing_id_));
+}
diff --git a/chrome/renderer/renderer_webapplicationcachehost_impl.h b/chrome/renderer/renderer_webapplicationcachehost_impl.h
index 8a00032..0e4173e 100644
--- a/chrome/renderer/renderer_webapplicationcachehost_impl.h
+++ b/chrome/renderer/renderer_webapplicationcachehost_impl.h
@@ -17,14 +17,15 @@ class RendererWebApplicationCacheHostImpl
WebKit::WebApplicationCacheHostClient* client,
appcache::AppCacheBackend* backend);
- virtual ~RendererWebApplicationCacheHostImpl();
-
// appcache::WebApplicationCacheHostImpl methods.
+ virtual void OnLogMessage(appcache::LogLevel log_level,
+ const std::string& message);
virtual void OnContentBlocked();
private:
- bool content_blocked_;
+ RenderView* GetRenderView();
+ bool content_blocked_;
int routing_id_;
};