summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_view.cc
diff options
context:
space:
mode:
authorjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-15 04:50:34 +0000
committerjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-15 04:50:34 +0000
commit4e6419cf5374adda16f97be965b8b7e5b225224f (patch)
tree594ced66460efaedf1071dd7468ba7012d0a6280 /chrome/renderer/render_view.cc
parentfc105849740379470c96501032e377668a2f5e7e (diff)
downloadchromium_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.cc19
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.