diff options
Diffstat (limited to 'content/renderer/render_view_impl.cc')
-rw-r--r-- | content/renderer/render_view_impl.cc | 33 |
1 files changed, 12 insertions, 21 deletions
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc index f03c700..ce57e9c 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc @@ -314,8 +314,6 @@ static WebReferrerPolicy getReferrerPolicyFromRequest( /////////////////////////////////////////////////////////////////////////////// -int32 RenderViewImpl::next_page_id_ = 1; - struct RenderViewImpl::PendingFileChooser { PendingFileChooser(const content::FileChooserParams& p, WebFileChooserCompletion* c) @@ -334,7 +332,8 @@ RenderViewImpl::RenderViewImpl( SharedRenderViewCounter* counter, int32 routing_id, int64 session_storage_namespace_id, - const string16& frame_name) + const string16& frame_name, + int32 next_page_id) : RenderWidget(WebKit::WebPopupTypeNone), webkit_preferences_(webkit_prefs), send_content_state_immediately_(false), @@ -346,6 +345,7 @@ RenderViewImpl::RenderViewImpl( opener_suppressed_(false), page_id_(-1), last_page_id_sent_to_browser_(-1), + next_page_id_(next_page_id), history_list_offset_(-1), history_list_length_(0), target_url_status_(TARGET_NONE), @@ -371,6 +371,9 @@ RenderViewImpl::RenderViewImpl( if (opener_id != MSG_ROUTING_NONE) opener_id_ = opener_id; + // Ensure we start with a valid next_page_id_ from the browser. + DCHECK_GE(next_page_id_, 0); + #if defined(ENABLE_NOTIFICATIONS) notification_provider_ = new NotificationProvider(this); #else @@ -506,7 +509,8 @@ RenderViewImpl* RenderViewImpl::Create( SharedRenderViewCounter* counter, int32 routing_id, int64 session_storage_namespace_id, - const string16& frame_name) { + const string16& frame_name, + int32 next_page_id) { DCHECK(routing_id != MSG_ROUTING_NONE); return new RenderViewImpl( parent_hwnd, @@ -516,17 +520,8 @@ RenderViewImpl* RenderViewImpl::Create( counter, routing_id, session_storage_namespace_id, - frame_name); // adds reference -} - -// static -void RenderViewImpl::SetNextPageID(int32 next_page_id) { - // This method is called on startup or when the browser knows it needs to - // inflate the page_id when re-using the process. The renderer may have - // incremented this just as the browser was sending the message, but we - // only care that next_page_id_ is at least as large as next_page_id. - if (next_page_id > next_page_id_) - next_page_id_ = next_page_id; + frame_name, + next_page_id); // adds reference } void RenderViewImpl::AddObserver(RenderViewObserver* observer) { @@ -633,7 +628,6 @@ bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) { OnResetPageEncodingToDefault) IPC_MESSAGE_HANDLER(ViewMsg_ScriptEvalRequest, OnScriptEvalRequest) IPC_MESSAGE_HANDLER(ViewMsg_CSSInsertRequest, OnCSSInsertRequest) - IPC_MESSAGE_HANDLER(ViewMsg_ReservePageIDRange, OnReservePageIDRange) IPC_MESSAGE_HANDLER(DragMsg_TargetDragEnter, OnDragTargetDragEnter) IPC_MESSAGE_HANDLER(DragMsg_TargetDragOver, OnDragTargetDragOver) IPC_MESSAGE_HANDLER(DragMsg_TargetDragLeave, OnDragTargetDragLeave) @@ -1352,7 +1346,8 @@ WebView* RenderViewImpl::createView( shared_popup_counter_, routing_id, cloned_session_storage_namespace_id, - frame_name); + frame_name, + 1); view->opened_by_user_gesture_ = params.user_gesture; // Record whether the creator frame is trying to suppress the opener field. @@ -3793,10 +3788,6 @@ void RenderViewImpl::OnSetWebUIProperty(const std::string& name, GetWebUIBindings()->SetProperty(name, value); } -void RenderViewImpl::OnReservePageIDRange(int size_of_range) { - next_page_id_ += size_of_range + 1; -} - void RenderViewImpl::OnDragTargetDragEnter(const WebDropData& drop_data, const gfx::Point& client_point, const gfx::Point& screen_point, |