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 */) |