summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/renderer')
-rw-r--r--chrome/renderer/render_view.cc11
-rw-r--r--chrome/renderer/render_view.h4
-rw-r--r--chrome/renderer/renderer_webapplicationcachehost_impl.cc32
-rw-r--r--chrome/renderer/renderer_webapplicationcachehost_impl.h31
-rw-r--r--chrome/renderer/renderer_webkitclient_impl.cc10
-rw-r--r--chrome/renderer/renderer_webkitclient_impl.h2
6 files changed, 78 insertions, 12 deletions
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
index a1353f7..9dc6442 100644
--- a/chrome/renderer/render_view.cc
+++ b/chrome/renderer/render_view.cc
@@ -22,6 +22,7 @@
#include "base/string_util.h"
#include "base/time.h"
#include "build/build_config.h"
+#include "chrome/common/appcache/appcache_dispatcher.h"
#include "chrome/common/bindings_policy.h"
#include "chrome/common/child_process_logging.h"
#include "chrome/common/chrome_switches.h"
@@ -51,6 +52,7 @@
#include "chrome/renderer/print_web_view_helper.h"
#include "chrome/renderer/render_process.h"
#include "chrome/renderer/render_thread.h"
+#include "chrome/renderer/renderer_webapplicationcachehost_impl.h"
#include "chrome/renderer/renderer_webstoragenamespace_impl.h"
#include "chrome/renderer/spellchecker/spellcheck.h"
#include "chrome/renderer/user_script_slave.h"
@@ -143,6 +145,8 @@ using webkit_glue::PasswordForm;
using webkit_glue::PasswordFormDomManager;
using WebKit::WebAccessibilityCache;
using WebKit::WebAccessibilityObject;
+using WebKit::WebApplicationCacheHost;
+using WebKit::WebApplicationCacheHostClient;
using WebKit::WebColor;
using WebKit::WebColorName;
using WebKit::WebConsoleMessage;
@@ -2145,6 +2149,13 @@ WebMediaPlayer* RenderView::createMediaPlayer(
return new webkit_glue::WebMediaPlayerImpl(client, factory, factory_factory);
}
+WebApplicationCacheHost* RenderView::createApplicationCacheHost(
+ WebFrame* frame, WebApplicationCacheHostClient* client) {
+ return new RendererWebApplicationCacheHostImpl(
+ FromWebView(frame->view()), client,
+ RenderThread::current()->appcache_dispatcher()->backend_proxy());
+}
+
WebCookieJar* RenderView::cookieJar() {
return &cookie_jar_;
}
diff --git a/chrome/renderer/render_view.h b/chrome/renderer/render_view.h
index 3ef8732..6f67b4d 100644
--- a/chrome/renderer/render_view.h
+++ b/chrome/renderer/render_view.h
@@ -98,6 +98,8 @@ struct FileUploadData;
namespace WebKit {
class WebAccessibilityCache;
+class WebApplicationCacheHost;
+class WebApplicationCacheHostClient;
class WebDataSource;
class WebDragData;
class WebGeolocationServiceInterface;
@@ -301,6 +303,8 @@ class RenderView : public RenderWidget,
const WebKit::WebString& name, unsigned long long documentId);
virtual WebKit::WebMediaPlayer* createMediaPlayer(
WebKit::WebFrame* frame, WebKit::WebMediaPlayerClient* client);
+ virtual WebKit::WebApplicationCacheHost* createApplicationCacheHost(
+ WebKit::WebFrame* frame, WebKit::WebApplicationCacheHostClient* client);
virtual WebKit::WebCookieJar* cookieJar();
virtual void willClose(WebKit::WebFrame* frame);
virtual bool allowPlugins(WebKit::WebFrame* frame, bool enabled_per_settings);
diff --git a/chrome/renderer/renderer_webapplicationcachehost_impl.cc b/chrome/renderer/renderer_webapplicationcachehost_impl.cc
new file mode 100644
index 0000000..88ffd2c
--- /dev/null
+++ b/chrome/renderer/renderer_webapplicationcachehost_impl.cc
@@ -0,0 +1,32 @@
+// Copyright (c) 2010 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 "chrome/renderer/renderer_webapplicationcachehost_impl.h"
+
+#include "chrome/common/content_settings_types.h"
+#include "chrome/renderer/render_thread.h"
+#include "chrome/renderer/render_view.h"
+
+using appcache::AppCacheBackend;
+using WebKit::WebApplicationCacheHostClient;
+
+RendererWebApplicationCacheHostImpl::RendererWebApplicationCacheHostImpl(
+ RenderView* render_view,
+ WebApplicationCacheHostClient* client,
+ AppCacheBackend* backend)
+ : WebApplicationCacheHostImpl(client, backend),
+ content_blocked_(false),
+ routing_id_(render_view->routing_id()) {
+}
+
+RendererWebApplicationCacheHostImpl::~RendererWebApplicationCacheHostImpl() {
+}
+
+void RendererWebApplicationCacheHostImpl::OnContentBlocked() {
+ if (!content_blocked_) {
+ RenderThread::current()->Send(new ViewHostMsg_ContentBlocked(
+ routing_id_, CONTENT_SETTINGS_TYPE_COOKIES));
+ content_blocked_ = true;
+ }
+}
diff --git a/chrome/renderer/renderer_webapplicationcachehost_impl.h b/chrome/renderer/renderer_webapplicationcachehost_impl.h
new file mode 100644
index 0000000..8a00032
--- /dev/null
+++ b/chrome/renderer/renderer_webapplicationcachehost_impl.h
@@ -0,0 +1,31 @@
+// Copyright (c) 2010 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.
+
+#ifndef CHROME_RENDERER_RENDERER_WEBAPPLICATIONCACHEHOST_IMPL_H_
+#define CHROME_RENDERER_RENDERER_WEBAPPLICATIONCACHEHOST_IMPL_H_
+
+#include "webkit/appcache/web_application_cache_host_impl.h"
+
+class RenderView;
+
+class RendererWebApplicationCacheHostImpl
+ : public appcache::WebApplicationCacheHostImpl {
+ public:
+ RendererWebApplicationCacheHostImpl(
+ RenderView* render_view,
+ WebKit::WebApplicationCacheHostClient* client,
+ appcache::AppCacheBackend* backend);
+
+ virtual ~RendererWebApplicationCacheHostImpl();
+
+ // appcache::WebApplicationCacheHostImpl methods.
+ virtual void OnContentBlocked();
+
+ private:
+ bool content_blocked_;
+
+ int routing_id_;
+};
+
+#endif // CHROME_RENDERER_RENDERER_WEBAPPLICATIONCACHEHOST_IMPL_H_
diff --git a/chrome/renderer/renderer_webkitclient_impl.cc b/chrome/renderer/renderer_webkitclient_impl.cc
index 70bccc9..c5b042a 100644
--- a/chrome/renderer/renderer_webkitclient_impl.cc
+++ b/chrome/renderer/renderer_webkitclient_impl.cc
@@ -13,7 +13,6 @@
#include "base/command_line.h"
#include "base/file_path.h"
#include "base/platform_file.h"
-#include "chrome/common/appcache/appcache_dispatcher.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/database_util.h"
#include "chrome/common/render_messages.h"
@@ -32,7 +31,6 @@
#include "third_party/WebKit/WebKit/chromium/public/WebString.h"
#include "third_party/WebKit/WebKit/chromium/public/WebURL.h"
#include "third_party/WebKit/WebKit/chromium/public/WebVector.h"
-#include "webkit/appcache/web_application_cache_host_impl.h"
#include "webkit/glue/webkit_glue.h"
#if defined(OS_LINUX)
@@ -43,8 +41,6 @@
#include "base/file_descriptor_posix.h"
#endif
-using WebKit::WebApplicationCacheHost;
-using WebKit::WebApplicationCacheHostClient;
using WebKit::WebFrame;
using WebKit::WebKitClient;
using WebKit::WebStorageArea;
@@ -182,12 +178,6 @@ void RendererWebKitClientImpl::dispatchStorageEvent(
url, is_local_storage);
}
-WebApplicationCacheHost* RendererWebKitClientImpl::createApplicationCacheHost(
- WebApplicationCacheHostClient* client) {
- return new appcache::WebApplicationCacheHostImpl(client,
- RenderThread::current()->appcache_dispatcher()->backend_proxy());
-}
-
//------------------------------------------------------------------------------
WebString RendererWebKitClientImpl::MimeRegistry::mimeTypeForExtension(
diff --git a/chrome/renderer/renderer_webkitclient_impl.h b/chrome/renderer/renderer_webkitclient_impl.h
index b9232d2..3606eaa 100644
--- a/chrome/renderer/renderer_webkitclient_impl.h
+++ b/chrome/renderer/renderer_webkitclient_impl.h
@@ -64,8 +64,6 @@ class RendererWebKitClientImpl : public webkit_glue::WebKitClientImpl {
unsigned key_size_index,
const WebKit::WebString& challenge,
const WebKit::WebURL& url);
- virtual WebKit::WebApplicationCacheHost* createApplicationCacheHost(
- WebKit::WebApplicationCacheHostClient*);
virtual WebKit::WebSharedWorkerRepository* sharedWorkerRepository();
virtual WebKit::WebGraphicsContext3D* createGraphicsContext3D();