Commit f95c163a authored by Dominic Farolino's avatar Dominic Farolino Committed by Commit Bot

Add getResourcePriority to WorkerInternals

This CL adds the getResourcePriority method to the WorkerInternals
interface via the partial interface defined in core/fetch. This will
help testing resource priorities fetched from worker contexts
(i.e., Service Workers). Before this CL, getResourcePriority was only
exposed on Internals, and thus all ResourceFetchers associated with
WorkerGlobalScopes could not be queried.

R=kinuko@chromium.org, yhirano@chromium.org, yoav@yoav.ws

Bug: 872776
Change-Id: I010b95441c191cf90dfda7b0d5f58c7e7d6c7c21
Reviewed-on: https://chromium-review.googlesource.com/1249882Reviewed-by: default avatarYutaka Hirano <yhirano@chromium.org>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Dominic Farolino <domfarolino@gmail.com>
Cr-Commit-Position: refs/heads/master@{#595091}
parent 45c596b9
...@@ -5,6 +5,9 @@ ...@@ -5,6 +5,9 @@
#include "third_party/blink/renderer/core/fetch/testing/worker_internals_fetch.h" #include "third_party/blink/renderer/core/fetch/testing/worker_internals_fetch.h"
#include "third_party/blink/renderer/core/fetch/response.h" #include "third_party/blink/renderer/core/fetch/response.h"
#include "third_party/blink/renderer/core/workers/worker_global_scope.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h"
#include "third_party/blink/renderer/platform/testing/url_test_helpers.h"
#include "third_party/blink/renderer/platform/wtf/vector.h" #include "third_party/blink/renderer/platform/wtf/vector.h"
namespace blink { namespace blink {
...@@ -21,4 +24,20 @@ Vector<String> WorkerInternalsFetch::getInternalResponseURLList( ...@@ -21,4 +24,20 @@ Vector<String> WorkerInternalsFetch::getInternalResponseURLList(
return url_list; return url_list;
} }
int WorkerInternalsFetch::getResourcePriority(
WorkerInternals& internals,
const String& url,
WorkerGlobalScope* worker_global) {
if (!worker_global)
return static_cast<int>(ResourceLoadPriority::kUnresolved);
Resource* resource = worker_global->Fetcher()->AllResources().at(
URLTestHelpers::ToKURL(url.Utf8().data()));
if (!resource)
return static_cast<int>(ResourceLoadPriority::kUnresolved);
return static_cast<int>(resource->GetResourceRequest().Priority());
}
} // namespace blink } // namespace blink
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
namespace blink { namespace blink {
class WorkerGlobalScope;
class WorkerInternals; class WorkerInternals;
class Response; class Response;
...@@ -19,6 +20,9 @@ class WorkerInternalsFetch { ...@@ -19,6 +20,9 @@ class WorkerInternalsFetch {
public: public:
static Vector<String> getInternalResponseURLList(WorkerInternals&, Response*); static Vector<String> getInternalResponseURLList(WorkerInternals&, Response*);
static int getResourcePriority(WorkerInternals&,
const String& url,
WorkerGlobalScope*);
}; };
} // namespace blink } // namespace blink
......
...@@ -6,4 +6,5 @@ ...@@ -6,4 +6,5 @@
ImplementedAs=WorkerInternalsFetch ImplementedAs=WorkerInternalsFetch
] partial interface WorkerInternals { ] partial interface WorkerInternals {
sequence<USVString> getInternalResponseURLList(Response response); sequence<USVString> getInternalResponseURLList(Response response);
unsigned long getResourcePriority(DOMString url, WorkerGlobalScope worker_global);
}; };
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