Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1452)

Unified Diff: content/common/frame_messages.h

Issue 1415603018: OOPIF: Support session restore by combining/splitting frame states. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Clean up and fix bugs Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/web_contents/web_contents_impl.cc ('k') | content/common/navigation_params.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/common/frame_messages.h
diff --git a/content/common/frame_messages.h b/content/common/frame_messages.h
index f4fc8b5b1e3bbe4eca185a760961e2e0d1bd0e88..e9cc4fe55836583be6da2c6c17bf64794f361fd3 100644
--- a/content/common/frame_messages.h
+++ b/content/common/frame_messages.h
@@ -14,6 +14,7 @@
#include "content/common/frame_replication_state.h"
#include "content/common/navigation_gesture.h"
#include "content/common/navigation_params.h"
+#include "content/common/page_state_serialization.h"
#include "content/common/resource_request_body.h"
#include "content/common/savable_subframe.h"
#include "content/public/common/color_suggestion.h"
@@ -60,6 +61,10 @@ IPC_ENUM_TRAITS_MAX_VALUE(blink::WebContextMenuData::InputFieldType,
blink::WebContextMenuData::InputFieldTypeLast)
IPC_ENUM_TRAITS_MAX_VALUE(blink::WebFrameOwnerProperties::ScrollingMode,
blink::WebFrameOwnerProperties::ScrollingMode::Last)
+IPC_ENUM_TRAITS_MAX_VALUE(blink::WebHistoryScrollRestorationType,
+ blink::WebHistoryScrollRestorationType::Last)
+IPC_ENUM_TRAITS_MAX_VALUE(blink::WebHTTPBody::Element::Type,
+ blink::WebHTTPBody::Element::Type::Last)
IPC_ENUM_TRAITS(blink::WebSandboxFlags) // Bitmask.
IPC_ENUM_TRAITS_MAX_VALUE(blink::WebTreeScopeType,
blink::WebTreeScopeType::Last)
@@ -169,6 +174,42 @@ IPC_STRUCT_TRAITS_BEGIN(content::FrameNavigateParams)
IPC_STRUCT_TRAITS_MEMBER(socket_address)
IPC_STRUCT_TRAITS_END()
+IPC_STRUCT_TRAITS_BEGIN(content::ExplodedHttpBodyElement)
+ IPC_STRUCT_TRAITS_MEMBER(type)
+ IPC_STRUCT_TRAITS_MEMBER(data)
+ IPC_STRUCT_TRAITS_MEMBER(file_path)
+ IPC_STRUCT_TRAITS_MEMBER(filesystem_url)
+ IPC_STRUCT_TRAITS_MEMBER(file_start)
+ IPC_STRUCT_TRAITS_MEMBER(file_length)
+ IPC_STRUCT_TRAITS_MEMBER(file_modification_time)
+ IPC_STRUCT_TRAITS_MEMBER(blob_uuid)
+IPC_STRUCT_TRAITS_END()
+
+IPC_STRUCT_TRAITS_BEGIN(content::ExplodedHttpBody)
+ IPC_STRUCT_TRAITS_MEMBER(http_content_type)
+ IPC_STRUCT_TRAITS_MEMBER(elements)
+ IPC_STRUCT_TRAITS_MEMBER(identifier)
+ IPC_STRUCT_TRAITS_MEMBER(contains_passwords)
+ IPC_STRUCT_TRAITS_MEMBER(is_null)
+IPC_STRUCT_TRAITS_END()
+
+IPC_STRUCT_TRAITS_BEGIN(content::ExplodedFrameState)
+ IPC_STRUCT_TRAITS_MEMBER(url_string)
+ IPC_STRUCT_TRAITS_MEMBER(referrer)
+ IPC_STRUCT_TRAITS_MEMBER(target)
+ IPC_STRUCT_TRAITS_MEMBER(state_object)
+ IPC_STRUCT_TRAITS_MEMBER(document_state)
+ IPC_STRUCT_TRAITS_MEMBER(scroll_restoration_type)
+ IPC_STRUCT_TRAITS_MEMBER(visual_viewport_scroll_offset)
+ IPC_STRUCT_TRAITS_MEMBER(scroll_offset)
+ IPC_STRUCT_TRAITS_MEMBER(item_sequence_number)
+ IPC_STRUCT_TRAITS_MEMBER(document_sequence_number)
+ IPC_STRUCT_TRAITS_MEMBER(page_scale_factor)
+ IPC_STRUCT_TRAITS_MEMBER(referrer_policy)
+ IPC_STRUCT_TRAITS_MEMBER(http_body)
+ IPC_STRUCT_TRAITS_MEMBER(children)
+IPC_STRUCT_TRAITS_END()
+
// Parameters structure for FrameHostMsg_DidCommitProvisionalLoad, which has
// too many data parameters to be reasonably put in a predefined IPC message.
IPC_STRUCT_BEGIN_WITH_PARENT(FrameHostMsg_DidCommitProvisionalLoad_Params,
@@ -214,8 +255,13 @@ IPC_STRUCT_BEGIN_WITH_PARENT(FrameHostMsg_DidCommitProvisionalLoad_Params,
IPC_STRUCT_MEMBER(bool, was_fetched_via_proxy)
// Serialized history item state to store in the navigation entry.
+ // Only used if SiteIsolationPolicy::UseSubframeNavigationEntries is false.
IPC_STRUCT_MEMBER(content::PageState, page_state)
+ // Serialized history item state to store in the FrameNavigationEntry.
+ // Only used if SiteIsolationPolicy::UseSubframeNavigationEntries is true.
+ IPC_STRUCT_MEMBER(content::ExplodedFrameState, frame_state)
+
// Original request's URL.
IPC_STRUCT_MEMBER(GURL, original_request_url)
@@ -314,6 +360,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::RequestNavigationParams)
IPC_STRUCT_TRAITS_MEMBER(can_load_local_resources)
IPC_STRUCT_TRAITS_MEMBER(request_time)
IPC_STRUCT_TRAITS_MEMBER(page_state)
+ IPC_STRUCT_TRAITS_MEMBER(frame_state)
IPC_STRUCT_TRAITS_MEMBER(page_id)
IPC_STRUCT_TRAITS_MEMBER(nav_entry_id)
IPC_STRUCT_TRAITS_MEMBER(is_same_document_history_load)
@@ -800,7 +847,8 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_DidStartLoading,
IPC_MESSAGE_ROUTED0(FrameHostMsg_DidStopLoading)
// Notifies the browser that this frame has new session history information.
-IPC_MESSAGE_ROUTED1(FrameHostMsg_UpdateState, content::PageState /* state */)
+IPC_MESSAGE_ROUTED1(FrameHostMsg_UpdateState,
+ content::ExplodedFrameState /* state */)
// Sent when the frame changes its window.name.
IPC_MESSAGE_ROUTED1(FrameHostMsg_DidChangeName, std::string /* name */)
« no previous file with comments | « content/browser/web_contents/web_contents_impl.cc ('k') | content/common/navigation_params.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698