Commit bc2e1957 authored by Kenichi Ishibashi's avatar Kenichi Ishibashi Committed by Commit Bot

Add mojom -> web conversion helper function for FetchClientSettingsObject

It's better to place mojom <-> web conversions on the same place.
This CL does not have behavioral changes.

Bug: 937177
Change-Id: I73b6f903566091e89afa83b14a8766ced1ff67d6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1855018Reviewed-by: default avatarHiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: default avatarMatt Falkenhagen <falken@chromium.org>
Commit-Queue: Kenichi Ishibashi <bashi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#704934}
parent 156e82f7
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include "content/public/common/content_client.h" #include "content/public/common/content_client.h"
#include "content/renderer/render_thread_impl.h" #include "content/renderer/render_thread_impl.h"
#include "content/renderer/service_worker/service_worker_context_client.h" #include "content/renderer/service_worker/service_worker_context_client.h"
#include "content/renderer/worker/fetch_client_settings_object_helpers.h"
#include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/pending_remote.h"
#include "third_party/blink/public/common/features.h" #include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/platform/web_content_settings_client.h" #include "third_party/blink/public/platform/web_content_settings_client.h"
...@@ -166,7 +167,10 @@ std::unique_ptr<blink::WebEmbeddedWorkerStartData> ...@@ -166,7 +167,10 @@ std::unique_ptr<blink::WebEmbeddedWorkerStartData>
EmbeddedWorkerInstanceClientImpl::BuildStartData( EmbeddedWorkerInstanceClientImpl::BuildStartData(
const blink::mojom::EmbeddedWorkerStartParams& params) { const blink::mojom::EmbeddedWorkerStartParams& params) {
DCHECK(initiator_thread_task_runner_->BelongsToCurrentThread()); DCHECK(initiator_thread_task_runner_->BelongsToCurrentThread());
auto start_data = std::make_unique<blink::WebEmbeddedWorkerStartData>(); auto start_data = std::make_unique<blink::WebEmbeddedWorkerStartData>(
FetchClientSettingsObjectFromMojomToWeb(
params.outside_fetch_client_settings_object));
start_data->script_url = params.script_url; start_data->script_url = params.script_url;
start_data->user_agent = blink::WebString::FromUTF8(params.user_agent); start_data->user_agent = blink::WebString::FromUTF8(params.user_agent);
start_data->script_type = params.script_type; start_data->script_type = params.script_type;
...@@ -176,15 +180,6 @@ EmbeddedWorkerInstanceClientImpl::BuildStartData( ...@@ -176,15 +180,6 @@ EmbeddedWorkerInstanceClientImpl::BuildStartData(
: blink::WebEmbeddedWorkerStartData::kDontWaitForDebugger; : blink::WebEmbeddedWorkerStartData::kDontWaitForDebugger;
start_data->devtools_worker_token = params.devtools_worker_token; start_data->devtools_worker_token = params.devtools_worker_token;
// TODO(bashi): Consider to have a helper function to convert
// mojom::FetchClientSettingsObject to WebFetchClientSettingsObject.
start_data->outside_fetch_client_settings_object.referrer_policy =
params.outside_fetch_client_settings_object->referrer_policy;
start_data->outside_fetch_client_settings_object.outgoing_referrer =
params.outside_fetch_client_settings_object->outgoing_referrer;
start_data->outside_fetch_client_settings_object.insecure_requests_policy =
params.outside_fetch_client_settings_object->insecure_requests_policy;
return start_data; return start_data;
} }
......
...@@ -17,4 +17,12 @@ FetchClientSettingsObjectFromWebToMojom( ...@@ -17,4 +17,12 @@ FetchClientSettingsObjectFromWebToMojom(
web_settings_object.insecure_requests_policy); web_settings_object.insecure_requests_policy);
} }
blink::WebFetchClientSettingsObject FetchClientSettingsObjectFromMojomToWeb(
const blink::mojom::FetchClientSettingsObjectPtr& mojom_settings_object) {
return blink::WebFetchClientSettingsObject(
mojom_settings_object->referrer_policy,
mojom_settings_object->outgoing_referrer,
mojom_settings_object->insecure_requests_policy);
}
} // namespace content } // namespace content
...@@ -20,6 +20,9 @@ blink::mojom::FetchClientSettingsObjectPtr ...@@ -20,6 +20,9 @@ blink::mojom::FetchClientSettingsObjectPtr
FetchClientSettingsObjectFromWebToMojom( FetchClientSettingsObjectFromWebToMojom(
const blink::WebFetchClientSettingsObject& web_settings_object); const blink::WebFetchClientSettingsObject& web_settings_object);
blink::WebFetchClientSettingsObject FetchClientSettingsObjectFromMojomToWeb(
const blink::mojom::FetchClientSettingsObjectPtr& mojom_settings_object);
} // namespace content } // namespace content
#endif // CONTENT_RENDERER_WORKER_FETCH_CLIENT_SETTINGS_OBJECT_HELPERS_H_ #endif // CONTENT_RENDERER_WORKER_FETCH_CLIENT_SETTINGS_OBJECT_HELPERS_H_
...@@ -27,7 +27,13 @@ struct WebFetchClientSettingsObject { ...@@ -27,7 +27,13 @@ struct WebFetchClientSettingsObject {
mojom::InsecureRequestsPolicy insecure_requests_policy = mojom::InsecureRequestsPolicy insecure_requests_policy =
blink::mojom::InsecureRequestsPolicy::kDoNotUpgrade; blink::mojom::InsecureRequestsPolicy::kDoNotUpgrade;
WebFetchClientSettingsObject() {} WebFetchClientSettingsObject(
network::mojom::ReferrerPolicy referrer_policy,
WebURL outgoing_referrer,
mojom::InsecureRequestsPolicy insecure_requests_policy)
: referrer_policy(referrer_policy),
outgoing_referrer(outgoing_referrer),
insecure_requests_policy(insecure_requests_policy) {}
#if INSIDE_BLINK #if INSIDE_BLINK
explicit WebFetchClientSettingsObject( explicit WebFetchClientSettingsObject(
......
...@@ -58,7 +58,11 @@ struct WebEmbeddedWorkerStartData { ...@@ -58,7 +58,11 @@ struct WebEmbeddedWorkerStartData {
WebFetchClientSettingsObject outside_fetch_client_settings_object; WebFetchClientSettingsObject outside_fetch_client_settings_object;
WebEmbeddedWorkerStartData() : wait_for_debugger_mode(kDontWaitForDebugger) {} explicit WebEmbeddedWorkerStartData(
WebFetchClientSettingsObject outside_fetch_client_settings_object)
: wait_for_debugger_mode(kDontWaitForDebugger),
outside_fetch_client_settings_object(
std::move(outside_fetch_client_settings_object)) {}
}; };
} // namespace blink } // namespace blink
......
...@@ -217,7 +217,12 @@ class WebEmbeddedWorkerImplTest : public testing::Test { ...@@ -217,7 +217,12 @@ class WebEmbeddedWorkerImplTest : public testing::Test {
} }
std::unique_ptr<WebEmbeddedWorkerStartData> CreateStartData() { std::unique_ptr<WebEmbeddedWorkerStartData> CreateStartData() {
auto start_data = std::make_unique<WebEmbeddedWorkerStartData>(); WebFetchClientSettingsObject outside_settings_object(
network::mojom::ReferrerPolicy::kDefault,
/*outgoing_referrer=*/WebURL(script_url_),
blink::mojom::InsecureRequestsPolicy::kDoNotUpgrade);
auto start_data = std::make_unique<WebEmbeddedWorkerStartData>(
std::move(outside_settings_object));
start_data->script_url = script_url_; start_data->script_url = script_url_;
start_data->user_agent = WebString("dummy user agent"); start_data->user_agent = WebString("dummy user agent");
start_data->script_type = mojom::ScriptType::kClassic; start_data->script_type = mojom::ScriptType::kClassic;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment