summaryrefslogtreecommitdiffstats
path: root/content/renderer/render_view_impl.h
diff options
context:
space:
mode:
authorcreis@chromium.org <creis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-16 21:51:46 +0000
committercreis@chromium.org <creis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-16 21:51:46 +0000
commit74ce1adb65e73eb76fe37326cf754acfc246380a (patch)
tree53c55f1b4905f5e0bb1faa843a14ff98fd02a852 /content/renderer/render_view_impl.h
parent3fbd9c17a738598053f5ad5cba746370075166cb (diff)
downloadchromium_src-74ce1adb65e73eb76fe37326cf754acfc246380a.zip
chromium_src-74ce1adb65e73eb76fe37326cf754acfc246380a.tar.gz
chromium_src-74ce1adb65e73eb76fe37326cf754acfc246380a.tar.bz2
Make page IDs be specific to a RenderView rather than global to its process.
This avoids races that cause the browser to kill the renderer. BUG=106616 TEST=Restore Chrome with an extension's options page showing. Review URL: http://codereview.chromium.org/8910020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114862 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/render_view_impl.h')
-rw-r--r--content/renderer/render_view_impl.h22
1 files changed, 7 insertions, 15 deletions
diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h
index b4554cb..4e7c94c 100644
--- a/content/renderer/render_view_impl.h
+++ b/content/renderer/render_view_impl.h
@@ -172,20 +172,12 @@ class RenderViewImpl : public RenderWidget,
SharedRenderViewCounter* counter,
int32 routing_id,
int64 session_storage_namespace_id,
- const string16& frame_name);
+ const string16& frame_name,
+ int32 next_page_id);
// Returns the RenderViewImpl containing the given WebView.
CONTENT_EXPORT static RenderViewImpl* FromWebView(WebKit::WebView* webview);
- // Sets the "next page id" counter.
- static void SetNextPageID(int32 next_page_id);
-
- // TODO(creis): Remove when we no longer need
- // RenderThreadImpl::OnTempCrashWithData.
- static int32 next_page_id() {
- return next_page_id_;
- }
-
// May return NULL when the view is closing.
CONTENT_EXPORT WebKit::WebView* webview() const;
@@ -685,7 +677,8 @@ class RenderViewImpl : public RenderWidget,
SharedRenderViewCounter* counter,
int32 routing_id,
int64 session_storage_namespace_id,
- const string16& frame_name);
+ const string16& frame_name,
+ int32 next_page_id);
// Do not delete directly. This class is reference counted.
virtual ~RenderViewImpl();
@@ -809,7 +802,6 @@ class RenderViewImpl : public RenderWidget,
void OnRedo();
void OnReloadFrame();
void OnReplace(const string16& text);
- void OnReservePageIDRange(int size_of_range);
void OnResetPageEncodingToDefault();
void OnScriptEvalRequest(const string16& frame_xpath,
const string16& jscript,
@@ -1024,9 +1016,9 @@ class RenderViewImpl : public RenderWidget,
// goes back.
int32 last_page_id_sent_to_browser_;
- // The next available page ID to use. This ensures that the page IDs are
- // globally unique in the renderer.
- static int32 next_page_id_;
+ // The next available page ID to use for this RenderView. These IDs are
+ // specific to a given RenderView and the frames within it.
+ int32 next_page_id_;
// The offset of the current item in the history list.
int history_list_offset_;