Index: content/browser/renderer_host/render_view_host_impl.cc |
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc |
index b49b3396fda66eaacb54672da74a93cf9c0f3469..b03d28fa685cafacbc1f1d2addf55f140067a5e5 100644 |
--- a/content/browser/renderer_host/render_view_host_impl.cc |
+++ b/content/browser/renderer_host/render_view_host_impl.cc |
@@ -190,6 +190,7 @@ RenderViewHostImpl::RenderViewHostImpl( |
waiting_for_drag_context_response_(false), |
enabled_bindings_(0), |
navigations_suspended_(false), |
+ page_id_(-1), |
main_frame_routing_id_(main_frame_routing_id), |
run_modal_reply_msg_(NULL), |
run_modal_opener_id_(MSG_ROUTING_NONE), |
@@ -283,8 +284,10 @@ bool RenderViewHostImpl::CreateRenderView( |
// Ensure the RenderView starts with a next_page_id larger than any existing |
// page ID it might be asked to render. |
int32 next_page_id = 1; |
- if (max_page_id > -1) |
+ if (max_page_id > -1) { |
next_page_id = max_page_id + 1; |
+ page_id_ = max_page_id; |
+ } |
ViewMsg_New_Params params; |
params.renderer_preferences = |
@@ -1111,6 +1114,7 @@ void RenderViewHostImpl::OnRenderProcessGone(int status, int exit_code) { |
} |
void RenderViewHostImpl::OnUpdateState(int32 page_id, const PageState& state) { |
+ CHECK_EQ(page_id_, page_id); |
// Without this check, the renderer can trick the browser into using |
// filenames it can't access in a future session restore. |
if (!CanAccessFilesOfPageState(state)) { |
@@ -1118,12 +1122,13 @@ void RenderViewHostImpl::OnUpdateState(int32 page_id, const PageState& state) { |
return; |
} |
- delegate_->UpdateState(this, page_id, state); |
+ delegate_->UpdateState(this, page_id_, state); |
} |
void RenderViewHostImpl::OnUpdateTargetURL(int32 page_id, const GURL& url) { |
+ CHECK_EQ(page_id_, page_id); |
if (IsRVHStateActive(rvh_state_)) |
- delegate_->UpdateTargetURL(page_id, url); |
+ delegate_->UpdateTargetURL(page_id_, url); |
// Send a notification back to the renderer that we are ready to |
// receive more target urls. |