diff options
Diffstat (limited to 'chrome/renderer')
-rw-r--r-- | chrome/renderer/render_view.cc | 11 | ||||
-rw-r--r-- | chrome/renderer/render_view.h | 4 | ||||
-rw-r--r-- | chrome/renderer/renderer_webapplicationcachehost_impl.cc | 32 | ||||
-rw-r--r-- | chrome/renderer/renderer_webapplicationcachehost_impl.h | 31 | ||||
-rw-r--r-- | chrome/renderer/renderer_webkitclient_impl.cc | 10 | ||||
-rw-r--r-- | chrome/renderer/renderer_webkitclient_impl.h | 2 |
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(); |