#include "third_party/blink/renderer/platform/loader/fetch/resource_loader.h"
#include <string>
#include <utility>
#include "base/containers/span.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/scoped_feature_list.h"
#include "mojo/public/c/system/data_pipe.h"
#include "net/http/http_response_headers.h"
#include "services/network/public/mojom/fetch_api.mojom-blink.h"
#include "services/network/public/mojom/url_response_head.mojom.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink.h"
#include "third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom-blink.h"
#include "third_party/blink/public/platform/resource_load_info_notifier_wrapper.h"
#include "third_party/blink/public/platform/web_url.h"
#include "third_party/blink/public/platform/web_url_request_extra_data.h"
#include "third_party/blink/renderer/platform/exported/wrapped_resource_response.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
#include "third_party/blink/renderer/platform/loader/fetch/detachable_use_counter.h"
#include "third_party/blink/renderer/platform/loader/fetch/raw_resource.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_load_scheduler.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_response.h"
#include "third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.h"
#include "third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader_factory.h"
#include "third_party/blink/renderer/platform/loader/testing/bytes_consumer_test_reader.h"
#include "third_party/blink/renderer/platform/loader/testing/mock_fetch_context.h"
#include "third_party/blink/renderer/platform/loader/testing/test_resource_fetcher_properties.h"
#include "third_party/blink/renderer/platform/network/http_names.h"
#include "third_party/blink/renderer/platform/testing/mock_context_lifecycle_notifier.h"
#include "third_party/blink/renderer/platform/testing/noop_url_loader.h"
#include "third_party/blink/renderer/platform/testing/testing_platform_support_with_mock_scheduler.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
namespace {
_;
class MockUseCounter : public GarbageCollected<MockUseCounter>,
public UseCounter { … };
}
class ResourceLoaderTest : public testing::Test { … };
std::ostream& operator<<(std::ostream& o, const ResourceLoaderTest::From& f) { … }
TEST_F(ResourceLoaderTest, LoadResponseBody) { … }
TEST_F(ResourceLoaderTest, LoadDataURL_AsyncAndNonStream) { … }
class TestRawResourceClient final
: public GarbageCollected<TestRawResourceClient>,
public RawResourceClient { … };
TEST_F(ResourceLoaderTest, LoadDataURL_AsyncAndStream) { … }
TEST_F(ResourceLoaderTest, LoadDataURL_AsyncEmptyData) { … }
TEST_F(ResourceLoaderTest, LoadDataURL_Sync) { … }
TEST_F(ResourceLoaderTest, LoadDataURL_SyncEmptyData) { … }
TEST_F(ResourceLoaderTest, LoadDataURL_DefersAsyncAndNonStream) { … }
TEST_F(ResourceLoaderTest, LoadDataURL_DefersAsyncAndStream) { … }
namespace {
bool WillFollowRedirect(ResourceLoader* loader, KURL new_url) { … }
}
TEST_F(ResourceLoaderTest, AuthorizationCrossOriginRedirect) { … }
TEST_F(ResourceLoaderTest, CrossOriginRedirect_NoAuthorization) { … }
class ResourceLoaderSubresourceFilterCnameAliasTest
: public ResourceLoaderTest { … };
TEST_F(ResourceLoaderSubresourceFilterCnameAliasTest,
DnsAliasesCheckedBySubresourceFilterDisallowed_TaggedAndBlocked) { … }
TEST_F(ResourceLoaderSubresourceFilterCnameAliasTest,
DnsAliasesCheckedBySubresourceFilterDisallowed_BlockedOnly) { … }
TEST_F(ResourceLoaderSubresourceFilterCnameAliasTest,
DnsAliasesCheckedBySubresourceFilterDisallowed_TaggedOnly) { … }
TEST_F(ResourceLoaderSubresourceFilterCnameAliasTest,
DnsAliasesCheckedBySubresourceFilterAllowed_NotBlockedOrTagged) { … }
TEST_F(ResourceLoaderSubresourceFilterCnameAliasTest,
DnsAliasesCheckedBySubresourceFilterNoAliases_NoneDetected) { … }
}