diff options
author | michaeln@chromium.org <michaeln@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-25 00:46:02 +0000 |
---|---|---|
committer | michaeln@chromium.org <michaeln@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-25 00:46:02 +0000 |
commit | df4cd1577cbd126d827a72cb0a15dcbe38a62a8b (patch) | |
tree | cdefa81e8266d3198ad9716824addc802a35b6a7 /chrome/renderer | |
parent | 2febbc7bc136af7212814e3495c135ec9fa98345 (diff) | |
download | chromium_src-df4cd1577cbd126d827a72cb0a15dcbe38a62a8b.zip chromium_src-df4cd1577cbd126d827a72cb0a15dcbe38a62a8b.tar.gz chromium_src-df4cd1577cbd126d827a72cb0a15dcbe38a62a8b.tar.bz2 |
AppCache: Output some information to the javascript console.
BUG=13685
TEST=manual
Review URL: http://codereview.chromium.org/2805030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50796 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r-- | chrome/renderer/renderer_webapplicationcachehost_impl.cc | 19 | ||||
-rw-r--r-- | chrome/renderer/renderer_webapplicationcachehost_impl.h | 7 |
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_; }; |