#include "third_party/blink/renderer/modules/service_worker/service_worker_clients.h"
#include <utility>
#include "base/memory/ptr_util.h"
#include "base/memory/scoped_refptr.h"
#include "third_party/blink/public/mojom/service_worker/service_worker_client.mojom-blink.h"
#include "third_party/blink/renderer/bindings/core/v8/callback_promise_adapter.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
#include "third_party/blink/renderer/core/dom/dom_exception.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/workers/worker_location.h"
#include "third_party/blink/renderer/modules/service_worker/service_worker_error.h"
#include "third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h"
#include "third_party/blink/renderer/modules/service_worker/service_worker_window_client.h"
#include "third_party/blink/renderer/platform/bindings/v8_throw_exception.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
namespace blink {
namespace {
mojom::ServiceWorkerClientType GetClientType(const String& type) { … }
void DidGetClient(ScriptPromiseResolver<ServiceWorkerClient>* resolver,
mojom::blink::ServiceWorkerClientInfoPtr info) { … }
void DidClaim(ScriptPromiseResolver<IDLUndefined>* resolver,
mojom::blink::ServiceWorkerErrorType error,
const String& error_msg) { … }
void DidGetClients(
ScriptPromiseResolver<IDLSequence<ServiceWorkerClient>>* resolver,
Vector<mojom::blink::ServiceWorkerClientInfoPtr> infos) { … }
}
ServiceWorkerClients* ServiceWorkerClients::Create() { … }
ServiceWorkerClients::ServiceWorkerClients() = default;
ScriptPromise<ServiceWorkerClient> ServiceWorkerClients::get(
ScriptState* script_state,
const String& id) { … }
ScriptPromise<IDLSequence<ServiceWorkerClient>> ServiceWorkerClients::matchAll(
ScriptState* script_state,
const ClientQueryOptions* options) { … }
ScriptPromise<IDLUndefined> ServiceWorkerClients::claim(
ScriptState* script_state) { … }
ScriptPromise<IDLNullable<ServiceWorkerWindowClient>>
ServiceWorkerClients::openWindow(ScriptState* script_state, const String& url) { … }
}