#include "content/renderer/service_worker/service_worker_provider_context.h"
#include <memory>
#include <set>
#include <string>
#include <utility>
#include <vector>
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/run_loop.h"
#include "base/test/task_environment.h"
#include "content/public/common/content_features.h"
#include "content/renderer/service_worker/controller_service_worker_connector.h"
#include "content/renderer/service_worker/web_service_worker_provider_impl.h"
#include "mojo/public/cpp/bindings/associated_receiver_set.h"
#include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
#include "services/network/public/cpp/shared_url_loader_factory.h"
#include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h"
#include "services/network/public/cpp/wrapper_shared_url_loader_factory.h"
#include "services/network/public/mojom/fetch_api.mojom-shared.h"
#include "services/network/public/mojom/url_loader_factory.mojom.h"
#include "services/network/test/test_url_loader_client.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom.h"
#include "third_party/blink/public/mojom/loader/fetch_client_settings_object.mojom.h"
#include "third_party/blink/public/mojom/service_worker/dispatch_fetch_event_params.mojom.h"
#include "third_party/blink/public/mojom/service_worker/service_worker_container.mojom.h"
#include "third_party/blink/public/mojom/service_worker/service_worker_container_type.mojom.h"
#include "third_party/blink/public/mojom/service_worker/service_worker_error_type.mojom.h"
#include "third_party/blink/public/mojom/service_worker/service_worker_object.mojom.h"
#include "third_party/blink/public/mojom/service_worker/service_worker_registration.mojom.h"
#include "third_party/blink/public/mojom/service_worker/service_worker_registration_options.mojom.h"
#include "third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom.h"
#include "third_party/blink/public/platform/modules/service_worker/web_service_worker_provider_client.h"
#include "third_party/blink/public/platform/scheduler/test/renderer_scheduler_test_support.h"
namespace content {
namespace service_worker_provider_context_unittest {
class MockServiceWorkerObjectHost
: public blink::mojom::ServiceWorkerObjectHost { … };
class MockWebServiceWorkerProviderClientImpl
: public blink::WebServiceWorkerProviderClient { … };
class FakeURLLoaderFactory final : public network::mojom::URLLoaderFactory { … };
class FakeControllerServiceWorker
: public blink::mojom::ControllerServiceWorker { … };
class FakeServiceWorkerContainerHost
: public blink::mojom::ServiceWorkerContainerHost { … };
class ServiceWorkerProviderContextTest : public testing::Test { … };
TEST_F(ServiceWorkerProviderContextTest, SetController) { … }
TEST_F(ServiceWorkerProviderContextTest, SetController_Null) { … }
TEST_F(ServiceWorkerProviderContextTest, SetControllerServiceWorker) { … }
TEST_F(ServiceWorkerProviderContextTest, ControllerWithoutFetchHandler) { … }
TEST_F(ServiceWorkerProviderContextTest, PostMessageToClient) { … }
TEST_F(ServiceWorkerProviderContextTest, CountFeature) { … }
TEST_F(ServiceWorkerProviderContextTest, OnNetworkProviderDestroyed) { … }
TEST_F(ServiceWorkerProviderContextTest,
SubresourceLoaderFactoryUseableAfterContextDestructs) { … }
}
}