summaryrefslogtreecommitdiffstats
path: root/content/browser/tab_contents/navigation_entry.h
diff options
context:
space:
mode:
authormpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-03 02:00:48 +0000
committermpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-03 02:00:48 +0000
commit4ad5d77d96dfc6f08a845b6871ecbffa64d6f6e2 (patch)
tree269f9c3132012cea865b9630082ba9009d08f8df /content/browser/tab_contents/navigation_entry.h
parent143ee25a94004844d0edc8ab5c57913af5d2056f (diff)
downloadchromium_src-4ad5d77d96dfc6f08a845b6871ecbffa64d6f6e2.zip
chromium_src-4ad5d77d96dfc6f08a845b6871ecbffa64d6f6e2.tar.gz
chromium_src-4ad5d77d96dfc6f08a845b6871ecbffa64d6f6e2.tar.bz2
Fix a bug where redirect chain gets lost on process swap.
BUG=79520 TEST= Review URL: http://codereview.chromium.org/8669014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112847 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/tab_contents/navigation_entry.h')
-rw-r--r--content/browser/tab_contents/navigation_entry.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/content/browser/tab_contents/navigation_entry.h b/content/browser/tab_contents/navigation_entry.h
index eea3f35..8648ebb 100644
--- a/content/browser/tab_contents/navigation_entry.h
+++ b/content/browser/tab_contents/navigation_entry.h
@@ -10,6 +10,7 @@
#include "base/basictypes.h"
#include "base/memory/ref_counted.h"
+#include "content/browser/renderer_host/global_request_id.h"
#include "content/common/content_export.h"
#include "content/public/common/page_transition_types.h"
#include "content/public/common/page_type.h"
@@ -412,6 +413,15 @@ class CONTENT_EXPORT NavigationEntry {
return restore_type_;
}
+ void set_transferred_global_request_id(
+ const GlobalRequestID& transferred_global_request_id) {
+ transferred_global_request_id_ = transferred_global_request_id;
+ }
+
+ GlobalRequestID transferred_global_request_id() const {
+ return transferred_global_request_id_;
+ }
+
private:
// WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
// Session/Tab restore save portions of this class so that it can be recreated
@@ -451,6 +461,15 @@ class CONTENT_EXPORT NavigationEntry {
// cleared to force a refresh.
mutable string16 cached_display_title_;
+ // In case a navigation is transferred to a new RVH but the request has
+ // been generated in the renderer already, this identifies the old request so
+ // that it can be resumed. The old request is stored until the
+ // ResourceDispatcher receives the navigation from the renderer which
+ // carries this |transferred_global_request_id_| annotation. Once the request
+ // is transferred to the new process, this is cleared and the request
+ // continues as normal.
+ GlobalRequestID transferred_global_request_id_;
+
// Copy and assignment is explicitly allowed for this class.
};