Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2599)

Unified Diff: content/renderer/render_thread_impl.cc

Issue 10162015: Pull domstorage specifics out of RenderThreadImpl into DomStorageDispatcher (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/render_thread_impl.h ('k') | content/renderer/render_view_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_thread_impl.cc
===================================================================
--- content/renderer/render_thread_impl.cc (revision 136129)
+++ content/renderer/render_thread_impl.cc (working copy)
@@ -47,6 +47,9 @@
#include "content/public/renderer/render_process_observer.h"
#include "content/public/renderer/render_view_visitor.h"
#include "content/renderer/devtools_agent_filter.h"
+#include "content/renderer/dom_storage/dom_storage_dispatcher.h"
+#include "content/renderer/dom_storage/webstoragearea_impl.h"
+#include "content/renderer/dom_storage/webstoragenamespace_impl.h"
#include "content/renderer/gpu/compositor_thread.h"
#include "content/renderer/media/audio_input_message_filter.h"
#include "content/renderer/media/audio_message_filter.h"
@@ -57,8 +60,6 @@
#include "content/renderer/render_process_impl.h"
#include "content/renderer/render_view_impl.h"
#include "content/renderer/renderer_webkitplatformsupport_impl.h"
-#include "content/renderer/renderer_webstoragearea_impl.h"
-#include "content/renderer/renderer_webstoragenamespace_impl.h"
#include "grit/content_resources.h"
#include "ipc/ipc_channel_handle.h"
#include "ipc/ipc_platform_file.h"
@@ -76,7 +77,6 @@
#include "third_party/WebKit/Source/WebKit/chromium/public/WebRuntimeFeatures.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebScriptController.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityPolicy.h"
-#include "third_party/WebKit/Source/WebKit/chromium/public/WebStorageEventDispatcher.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h"
#include "ui/base/ui_base_switches.h"
@@ -105,7 +105,6 @@
using WebKit::WebScriptController;
using WebKit::WebSecurityPolicy;
using WebKit::WebString;
-using WebKit::WebStorageEventDispatcher;
using WebKit::WebView;
using content::RenderProcessObserver;
@@ -210,6 +209,7 @@
compositor_initialized_ = false;
appcache_dispatcher_.reset(new AppCacheDispatcher(Get()));
+ dom_storage_dispatcher_.reset(new DomStorageDispatcher());
main_thread_indexed_db_dispatcher_.reset(new IndexedDBDispatcher());
media_stream_center_ = NULL;
@@ -810,44 +810,6 @@
content::RenderView::ForEach(&zoomer);
}
-void RenderThreadImpl::OnDOMStorageEvent(
- const DOMStorageMsg_Event_Params& params) {
- EnsureWebKitInitialized();
-
- bool originated_in_process = params.connection_id != 0;
- RendererWebStorageAreaImpl* originating_area = NULL;
- if (originated_in_process) {
- originating_area = RendererWebStorageAreaImpl::FromConnectionId(
- params.connection_id);
- }
-
- if (params.namespace_id == dom_storage::kLocalStorageNamespaceId) {
- WebStorageEventDispatcher::dispatchLocalStorageEvent(
- params.key,
- params.old_value,
- params.new_value,
- params.origin,
- params.page_url,
- originating_area,
- originated_in_process);
- } else if (originated_in_process) {
- // TODO(michaeln): For now, we only raise session storage events into the
- // process which caused the event to occur. However there are cases where
- // sessions can span process boundaries, so there are correctness issues.
- RendererWebStorageNamespaceImpl
- session_namespace_for_event_dispatch(params.namespace_id);
- WebStorageEventDispatcher::dispatchSessionStorageEvent(
- params.key,
- params.old_value,
- params.new_value,
- params.origin,
- params.page_url,
- session_namespace_for_event_dispatch,
- originating_area,
- originated_in_process);
- }
-}
-
bool RenderThreadImpl::OnControlMessageReceived(const IPC::Message& msg) {
ObserverListBase<RenderProcessObserver>::Iterator it(observers_);
RenderProcessObserver* observer;
@@ -857,8 +819,10 @@
}
// Some messages are handled by delegates.
- if (appcache_dispatcher_->OnMessageReceived(msg))
+ if (appcache_dispatcher_->OnMessageReceived(msg) ||
+ dom_storage_dispatcher_->OnMessageReceived(msg)) {
return true;
+ }
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(RenderThreadImpl, msg)
@@ -870,7 +834,6 @@
IPC_MESSAGE_HANDLER(ViewMsg_New, OnCreateNewView)
IPC_MESSAGE_HANDLER(ViewMsg_PurgePluginListCache, OnPurgePluginListCache)
IPC_MESSAGE_HANDLER(ViewMsg_NetworkStateChanged, OnNetworkStateChanged)
- IPC_MESSAGE_HANDLER(DOMStorageMsg_Event, OnDOMStorageEvent)
IPC_MESSAGE_HANDLER(ViewMsg_TempCrashWithData, OnTempCrashWithData)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
« no previous file with comments | « content/renderer/render_thread_impl.h ('k') | content/renderer/render_view_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698