diff options
Diffstat (limited to 'chrome/renderer/renderer_webapplicationcachehost_impl.cc')
-rw-r--r-- | chrome/renderer/renderer_webapplicationcachehost_impl.cc | 19 |
1 files changed, 18 insertions, 1 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_)); +} |