| Index: content/browser/loader/mojo_async_resource_handler.cc
|
| diff --git a/content/browser/loader/mojo_async_resource_handler.cc b/content/browser/loader/mojo_async_resource_handler.cc
|
| index c2070cdb6b9ddac81f96e656c381eb4382bd423b..0c5cb064ca517bdf1ad488d21a67ab8558ac13a2 100644
|
| --- a/content/browser/loader/mojo_async_resource_handler.cc
|
| +++ b/content/browser/loader/mojo_async_resource_handler.cc
|
| @@ -21,6 +21,7 @@
|
| #include "content/browser/loader/resource_controller.h"
|
| #include "content/browser/loader/resource_dispatcher_host_impl.h"
|
| #include "content/browser/loader/resource_request_info_impl.h"
|
| +#include "content/browser/loader/resource_scheduler.h"
|
| #include "content/browser/loader/upload_progress_tracker.h"
|
| #include "content/common/resource_request_completion_status.h"
|
| #include "content/public/browser/global_request_id.h"
|
| @@ -30,6 +31,7 @@
|
| #include "mojo/public/cpp/bindings/message.h"
|
| #include "net/base/io_buffer.h"
|
| #include "net/base/mime_sniffer.h"
|
| +#include "net/base/request_priority.h"
|
| #include "net/url_request/redirect_info.h"
|
|
|
| namespace content {
|
| @@ -65,6 +67,27 @@ void NotReached(mojom::URLLoaderAssociatedRequest mojo_request,
|
| NOTREACHED();
|
| }
|
|
|
| +net::RequestPriority NetRequestPriorityForMojoRequestPriority(
|
| + mojom::RequestPriority priority) {
|
| + switch (priority) {
|
| + case mojom::RequestPriority::kThrottled:
|
| + return net::THROTTLED;
|
| + case mojom::RequestPriority::kIdle:
|
| + return net::IDLE;
|
| + case mojom::RequestPriority::kLowest:
|
| + return net::LOWEST;
|
| + case mojom::RequestPriority::kLow:
|
| + return net::LOW;
|
| + case mojom::RequestPriority::kMedium:
|
| + return net::MEDIUM;
|
| + case mojom::RequestPriority::kHighest:
|
| + return net::HIGHEST;
|
| + }
|
| +
|
| + NOTREACHED();
|
| + return static_cast<net::RequestPriority>(priority);
|
| +}
|
| +
|
| } // namespace
|
|
|
| // This class is for sharing the ownership of a ScopedDataPipeProducerHandle
|
| @@ -341,6 +364,13 @@ void MojoAsyncResourceHandler::FollowRedirect() {
|
| controller()->Resume();
|
| }
|
|
|
| +void MojoAsyncResourceHandler::SetPriority(mojom::RequestPriority priority,
|
| + int32_t intra_priority_value) {
|
| + ResourceDispatcherHostImpl::Get()->scheduler()->ReprioritizeRequest(
|
| + request(), NetRequestPriorityForMojoRequestPriority(priority),
|
| + intra_priority_value);
|
| +}
|
| +
|
| void MojoAsyncResourceHandler::OnWritableForTesting() {
|
| OnWritable(MOJO_RESULT_OK);
|
| }
|
|
|