Commit a5cca4ab authored by Minggang Wang's avatar Minggang Wang Committed by Commit Bot

[OnionSoup] typemap network.mojom.RequestPriority with net::RequestPriority for Blink variant

This CL builds typemapping network.mojom.RequestPriority=net::RequestPriority
for Blink variant. Because the struct traits exist, we reuse them.

This CL is part of a series of CLs which are targeted to typemap
network.mojom.URLRequest with network::ResourceRequest for Blink variant
finally.

1. https://chromium-review.googlesource.com/c/chromium/src/+/1669131
2. This CL
3. https://chromium-review.googlesource.com/c/chromium/src/+/1680505
4. https://chromium-review.googlesource.com/c/chromium/src/+/1679984
5. https://chromium-review.googlesource.com/c/chromium/src/+/1683493

BUG=860403

Change-Id: Ibc736d0dd671f0057aa5484076effdea5d9c0941
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1672768
Commit-Queue: Minggang Wang <minggang.wang@intel.com>
Reviewed-by: default avatarMakoto Shimazu <shimazu@chromium.org>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#676246}
parent 53c528aa
......@@ -4,7 +4,10 @@
# TODO(minggang): Delete this file once all typemappings for network.mojom.URLRequest are done.
mojom = "//services/network/public/mojom/url_loader.mojom"
public_headers = [ "//services/network/public/cpp/resource_request_body.h" ]
public_headers = [
"//net/base/request_priority.h",
"//services/network/public/cpp/resource_request_body.h",
]
traits_headers = [ "//services/network/public/cpp/url_request_mojom_traits.h" ]
public_deps = [
"//services/network/public/cpp:cpp_base",
......@@ -12,4 +15,5 @@ public_deps = [
type_mappings = [
"network.mojom.DataElement=network::DataElement[move_only]",
"network.mojom.URLRequestBody=scoped_refptr<network::ResourceRequestBody>[nullable_is_same_type,copyable_pass_by_value]",
"network.mojom.RequestPriority=net::RequestPriority",
]
......@@ -4,4 +4,5 @@ include_rules = [
"+mojo/public/cpp/bindings/binding_set.h",
"+mojo/public/cpp/system/data_pipe.h",
"+mojo/public/cpp/system/simple_watcher.h",
"+net/base/request_priority.h",
]
......@@ -4,6 +4,7 @@
#include "third_party/blink/renderer/core/fetch/fetch_request_data.h"
#include "net/base/request_priority.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/public/platform/web_http_body.h"
#include "third_party/blink/public/platform/web_url_request.h"
......@@ -19,34 +20,30 @@
#include "third_party/blink/renderer/platform/loader/fetch/resource_request.h"
#include "third_party/blink/renderer/platform/network/http_names.h"
namespace mojo {
template <>
struct TypeConverter<::blink::ResourceLoadPriority,
network::mojom::blink::RequestPriority> {
static ::blink::ResourceLoadPriority Convert(
network::mojom::blink::RequestPriority priority) {
switch (priority) {
case network::mojom::blink::RequestPriority::kThrottled:
break;
case network::mojom::blink::RequestPriority::kIdle:
return ::blink::ResourceLoadPriority::kVeryLow;
case network::mojom::blink::RequestPriority::kLowest:
return ::blink::ResourceLoadPriority::kLow;
case network::mojom::blink::RequestPriority::kLow:
return ::blink::ResourceLoadPriority::kMedium;
case network::mojom::blink::RequestPriority::kMedium:
return ::blink::ResourceLoadPriority::kHigh;
case network::mojom::blink::RequestPriority::kHighest:
return ::blink::ResourceLoadPriority::kVeryHigh;
}
namespace {
NOTREACHED() << priority;
return blink::ResourceLoadPriority::kUnresolved;
::blink::ResourceLoadPriority ConvertRequestPriorityToResourceLoadPriority(
net::RequestPriority priority) {
switch (priority) {
case net::RequestPriority::THROTTLED:
break;
case net::RequestPriority::IDLE:
return ::blink::ResourceLoadPriority::kVeryLow;
case net::RequestPriority::LOWEST:
return ::blink::ResourceLoadPriority::kLow;
case net::RequestPriority::LOW:
return ::blink::ResourceLoadPriority::kMedium;
case net::RequestPriority::MEDIUM:
return ::blink::ResourceLoadPriority::kHigh;
case net::RequestPriority::HIGHEST:
return ::blink::ResourceLoadPriority::kVeryHigh;
}
};
} // namespace mojo
NOTREACHED() << priority;
return blink::ResourceLoadPriority::kUnresolved;
}
} // namespace
namespace blink {
......@@ -123,7 +120,7 @@ FetchRequestData* FetchRequestData::Create(
request->SetKeepalive(fetch_api_request.keepalive);
request->SetIsHistoryNavigation(fetch_api_request.is_history_navigation);
request->SetPriority(
mojo::ConvertTo<ResourceLoadPriority>(fetch_api_request.priority));
ConvertRequestPriorityToResourceLoadPriority(fetch_api_request.priority));
if (fetch_api_request.fetch_window_id)
request->SetWindowId(fetch_api_request.fetch_window_id.value());
return request;
......
......@@ -772,6 +772,10 @@ _CONFIG = [
'base::NullableString16',
'net::ParseMimeTypeWithoutParameter',
],
},
{
'paths': ['third_party/blink/renderer/core/fetch/fetch_request_data.cc'],
'allowed': ['net::RequestPriority'],
}
]
......
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