diff options
author | jorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-15 04:50:34 +0000 |
---|---|---|
committer | jorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-15 04:50:34 +0000 |
commit | 4e6419cf5374adda16f97be965b8b7e5b225224f (patch) | |
tree | 594ced66460efaedf1071dd7468ba7012d0a6280 /chrome/renderer/render_view.cc | |
parent | fc105849740379470c96501032e377668a2f5e7e (diff) | |
download | chromium_src-4e6419cf5374adda16f97be965b8b7e5b225224f.zip chromium_src-4e6419cf5374adda16f97be965b8b7e5b225224f.tar.gz chromium_src-4e6419cf5374adda16f97be965b8b7e5b225224f.tar.bz2 |
Introduce all the plumbing for Session Storage. This mostly consists of creating and tracking namespace ids in conjunction with the tabs. This is essentially just a bunch of dead code at the moment, but the next patch will get rid of the old way of generating/cloning IDs (initiated by the renderer) and instead use these IDs.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/550017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36331 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/render_view.cc')
-rw-r--r-- | chrome/renderer/render_view.cc | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc index f59d538..b1c2c01 100644 --- a/chrome/renderer/render_view.cc +++ b/chrome/renderer/render_view.cc @@ -246,7 +246,8 @@ static bool UrlMatchesPermissions( int32 RenderView::next_page_id_ = 1; RenderView::RenderView(RenderThreadBase* render_thread, - const WebPreferences& webkit_preferences) + const WebPreferences& webkit_preferences, + int64 session_storage_namespace_id) : RenderWidget(render_thread, true), enabled_bindings_(0), target_url_status_(TARGET_NONE), @@ -281,6 +282,7 @@ RenderView::RenderView(RenderThreadBase* render_thread, #endif document_tag_(0), webkit_preferences_(webkit_preferences), + session_storage_namespace_id_(session_storage_namespace_id), ALLOW_THIS_IN_INITIALIZER_LIST(text_translator_(this)) { page_translator_.reset(new PageTranslator(&text_translator_)); } @@ -339,9 +341,11 @@ RenderView* RenderView::Create( const RendererPreferences& renderer_prefs, const WebPreferences& webkit_prefs, SharedRenderViewCounter* counter, - int32 routing_id) { + int32 routing_id, + int64 session_storage_namespace_id) { DCHECK(routing_id != MSG_ROUTING_NONE); - scoped_refptr<RenderView> view = new RenderView(render_thread, webkit_prefs); + scoped_refptr<RenderView> view = new RenderView(render_thread, webkit_prefs, + session_storage_namespace_id); view->Init(parent_hwnd, opener_id, renderer_prefs, @@ -1360,9 +1364,13 @@ WebView* RenderView::createView(WebFrame* creator) { int32 routing_id = MSG_ROUTING_NONE; bool user_gesture = creator->isProcessingUserGesture(); bool opener_suppressed = creator->willSuppressOpenerInNewFrame(); + int64 cloned_session_storage_namespace_id; render_thread_->Send( - new ViewHostMsg_CreateWindow(routing_id_, user_gesture, &routing_id)); + new ViewHostMsg_CreateWindow(routing_id_, user_gesture, + session_storage_namespace_id_, + &routing_id, + &cloned_session_storage_namespace_id)); if (routing_id == MSG_ROUTING_NONE) return NULL; @@ -1372,7 +1380,8 @@ WebView* RenderView::createView(WebFrame* creator) { renderer_preferences_, webkit_preferences_, shared_popup_counter_, - routing_id); + routing_id, + cloned_session_storage_namespace_id); view->opened_by_user_gesture_ = user_gesture; // Record whether the creator frame is trying to suppress the opener field. |