summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authormichaeln@chromium.org <michaeln@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-25 00:46:02 +0000
committermichaeln@chromium.org <michaeln@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-25 00:46:02 +0000
commitdf4cd1577cbd126d827a72cb0a15dcbe38a62a8b (patch)
treecdefa81e8266d3198ad9716824addc802a35b6a7 /chrome/renderer
parent2febbc7bc136af7212814e3495c135ec9fa98345 (diff)
downloadchromium_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.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_;
};