| 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.
|
|
|