Index: content/browser/tab_contents/navigation_entry.h |
diff --git a/content/browser/tab_contents/navigation_entry.h b/content/browser/tab_contents/navigation_entry.h |
index 6b139a189d74efa858fb23cd4bf549fc7129c873..20c098167a342a84cdf6034b429b080a720590bd 100644 |
--- a/content/browser/tab_contents/navigation_entry.h |
+++ b/content/browser/tab_contents/navigation_entry.h |
@@ -331,6 +331,15 @@ class CONTENT_EXPORT NavigationEntry { |
return extra_headers_; |
} |
+ // Used to support swapouts of frames with non-null openers. |
+ void set_opener_content_frame_id(int64 id) { |
+ opener_content_frame_id_ = id; |
+ } |
+ |
+ int64 opener_content_frame_id() const { |
+ return opener_content_frame_id_; |
+ } |
+ |
// Page-related helpers ------------------------------------------------------ |
// Returns the title to be displayed on the tab. This could be the title of |
@@ -471,6 +480,13 @@ class CONTENT_EXPORT NavigationEntry { |
// continues as normal. |
GlobalRequestID transferred_global_request_id_; |
+ // If we're navigating a frame that should have an opener (such as when we |
+ // open a cross-process pop-up window), we store the content frame id of the |
+ // expected opener here so that we can re-create it if needed. If the frame |
+ // does not have an opener, this is -1. This is not persisted because |
+ // scripting connections are not currently persisted. |
+ int64 opener_content_frame_id_; |
+ |
// Copy and assignment is explicitly allowed for this class. |
}; |