Convert content::CommonNavigationParams to mojom.
Bug: 984550
Change-Id: Id0acde76f86c50a2568d050c7b082d6510c3c108
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1700291
Reviewed-by: Tao Bai <[email protected]>
Reviewed-by: Camille Lamy <[email protected]>
Reviewed-by: Scott Violet <[email protected]>
Reviewed-by: Daniel Cheng <[email protected]>
Commit-Queue: Lucas Gadani <[email protected]>
Cr-Commit-Position: refs/heads/master@{#681955}
diff --git a/content/browser/frame_host/navigation_controller_impl.cc b/content/browser/frame_host/navigation_controller_impl.cc
index 6a3cca0f..2b7c0c1a 100644
--- a/content/browser/frame_host/navigation_controller_impl.cc
+++ b/content/browser/frame_host/navigation_controller_impl.cc
@@ -302,38 +302,37 @@
output_entry->set_replaced_entry_data(data);
}
-FrameMsg_Navigate_Type::Value GetNavigationType(
- const GURL& old_url,
- const GURL& new_url,
- ReloadType reload_type,
- NavigationEntryImpl* entry,
- const FrameNavigationEntry& frame_entry,
- bool is_same_document_history_load) {
+mojom::NavigationType GetNavigationType(const GURL& old_url,
+ const GURL& new_url,
+ ReloadType reload_type,
+ NavigationEntryImpl* entry,
+ const FrameNavigationEntry& frame_entry,
+ bool is_same_document_history_load) {
// Reload navigations
switch (reload_type) {
case ReloadType::NORMAL:
- return FrameMsg_Navigate_Type::RELOAD;
+ return mojom::NavigationType::RELOAD;
case ReloadType::BYPASSING_CACHE:
- return FrameMsg_Navigate_Type::RELOAD_BYPASSING_CACHE;
+ return mojom::NavigationType::RELOAD_BYPASSING_CACHE;
case ReloadType::ORIGINAL_REQUEST_URL:
- return FrameMsg_Navigate_Type::RELOAD_ORIGINAL_REQUEST_URL;
+ return mojom::NavigationType::RELOAD_ORIGINAL_REQUEST_URL;
case ReloadType::NONE:
break; // Fall through to rest of function.
}
if (entry->restore_type() == RestoreType::LAST_SESSION_EXITED_CLEANLY) {
if (entry->GetHasPostData())
- return FrameMsg_Navigate_Type::RESTORE_WITH_POST;
+ return mojom::NavigationType::RESTORE_WITH_POST;
else
- return FrameMsg_Navigate_Type::RESTORE;
+ return mojom::NavigationType::RESTORE;
}
// History navigations.
if (frame_entry.page_state().IsValid()) {
if (is_same_document_history_load)
- return FrameMsg_Navigate_Type::HISTORY_SAME_DOCUMENT;
+ return mojom::NavigationType::HISTORY_SAME_DOCUMENT;
else
- return FrameMsg_Navigate_Type::HISTORY_DIFFERENT_DOCUMENT;
+ return mojom::NavigationType::HISTORY_DIFFERENT_DOCUMENT;
}
DCHECK(!is_same_document_history_load);
@@ -350,9 +349,9 @@
// are classified before this check.
if (new_url.has_ref() && old_url.EqualsIgnoringRef(new_url) &&
frame_entry.method() == "GET") {
- return FrameMsg_Navigate_Type::SAME_DOCUMENT;
+ return mojom::NavigationType::SAME_DOCUMENT;
} else {
- return FrameMsg_Navigate_Type::DIFFERENT_DOCUMENT;
+ return mojom::NavigationType::DIFFERENT_DOCUMENT;
}
}
@@ -3052,7 +3051,7 @@
// will be updated when the BeforeUnload ack is received.
base::TimeTicks navigation_start = base::TimeTicks::Now();
- FrameMsg_Navigate_Type::Value navigation_type =
+ mojom::NavigationType navigation_type =
GetNavigationType(node->current_url(), // old_url
url_to_load, // new_url
reload_type, // reload_type
@@ -3072,20 +3071,24 @@
const GURL& history_url_for_data_url =
params.base_url_for_data_url.is_empty() ? GURL() : virtual_url;
- CommonNavigationParams common_params(
- url_to_load, params.initiator_origin, params.referrer,
- params.transition_type, navigation_type, download_policy,
- should_replace_current_entry, params.base_url_for_data_url,
- history_url_for_data_url, previews_state, navigation_start,
- params.load_type == LOAD_TYPE_HTTP_POST ? "POST" : "GET",
- params.post_data, base::Optional<SourceLocation>(),
- params.started_from_context_menu, has_user_gesture, InitiatorCSPInfo(),
- std::vector<int>(), params.href_translate,
- false /* is_history_navigation_in_new_child_frame */, params.input_start);
+ mojom::CommonNavigationParamsPtr common_params =
+ mojom::CommonNavigationParams::New(
+ url_to_load, params.initiator_origin,
+ blink::mojom::Referrer::New(params.referrer.url,
+ params.referrer.policy),
+ params.transition_type, navigation_type, download_policy,
+ should_replace_current_entry, params.base_url_for_data_url,
+ history_url_for_data_url, previews_state, navigation_start,
+ params.load_type == LOAD_TYPE_HTTP_POST ? "POST" : "GET",
+ params.post_data, base::Optional<SourceLocation>(),
+ params.started_from_context_menu, has_user_gesture,
+ InitiatorCSPInfo(), std::vector<int>(), params.href_translate,
+ false /* is_history_navigation_in_new_child_frame */,
+ params.input_start);
CommitNavigationParams commit_params(
frame_entry->committed_origin(), override_user_agent,
- params.redirect_chain, common_params.url, common_params.method,
+ params.redirect_chain, common_params->url, common_params->method,
params.can_load_local_resources, frame_entry->page_state(),
entry->GetUniqueID(), entry->GetSubframeUniqueNames(node),
true /* intended_as_new_entry */, -1 /* pending_history_list_offset */,
@@ -3109,8 +3112,9 @@
base::ReplaceChars(params.extra_headers, "\n", "\r\n", &extra_headers_crlf);
auto navigation_request = NavigationRequest::CreateBrowserInitiated(
- node, common_params, commit_params, !params.is_renderer_initiated,
- extra_headers_crlf, *frame_entry, entry, request_body,
+ node, std::move(common_params), commit_params,
+ !params.is_renderer_initiated, extra_headers_crlf, *frame_entry, entry,
+ request_body,
params.navigation_ui_data ? params.navigation_ui_data->Clone() : nullptr);
navigation_request->set_from_download_cross_origin_redirect(
params.from_download_cross_origin_redirect);
@@ -3175,7 +3179,7 @@
// will be updated when the BeforeUnload ack is received.
base::TimeTicks navigation_start = base::TimeTicks::Now();
- FrameMsg_Navigate_Type::Value navigation_type = GetNavigationType(
+ mojom::NavigationType navigation_type = GetNavigationType(
frame_tree_node->current_url(), // old_url
dest_url, // new_url
reload_type, // reload_type
@@ -3196,24 +3200,27 @@
}
// Create the NavigationParams based on |entry| and |frame_entry|.
- CommonNavigationParams common_params = entry->ConstructCommonNavigationParams(
- *frame_entry, request_body, dest_url, dest_referrer, navigation_type,
- previews_state, navigation_start, base::TimeTicks() /* input_start */);
- common_params.is_history_navigation_in_new_child_frame =
+ mojom::CommonNavigationParamsPtr common_params =
+ entry->ConstructCommonNavigationParams(
+ *frame_entry, request_body, dest_url,
+ blink::mojom::Referrer::New(dest_referrer.url, dest_referrer.policy),
+ navigation_type, previews_state, navigation_start,
+ base::TimeTicks() /* input_start */);
+ common_params->is_history_navigation_in_new_child_frame =
is_history_navigation_in_new_child_frame;
// TODO(clamy): |intended_as_new_entry| below should always be false once
// Reload no longer leads to this being called for a pending NavigationEntry
// of index -1.
CommitNavigationParams commit_params = entry->ConstructCommitNavigationParams(
- *frame_entry, common_params.url, origin_to_commit, common_params.method,
+ *frame_entry, common_params->url, origin_to_commit, common_params->method,
entry->GetSubframeUniqueNames(frame_tree_node),
GetPendingEntryIndex() == -1 /* intended_as_new_entry */,
GetIndexOfEntry(entry), GetLastCommittedEntryIndex(), GetEntryCount());
commit_params.post_content_type = post_content_type;
return NavigationRequest::CreateBrowserInitiated(
- frame_tree_node, common_params, commit_params,
+ frame_tree_node, std::move(common_params), commit_params,
!entry->is_renderer_initiated(), entry->extra_headers(), *frame_entry,
entry, request_body, nullptr /* navigation_ui_data */);
}