Commit c482fb32 authored by Yutaka Hirano's avatar Yutaka Hirano Committed by Commit Bot

Remove ThreadableLoaderClient::DidFailAccessControlCheck

This is needed to keep CORS handling in DocumentThredableLoader consistent
with that in ResourceLoader.

Bug: 702845
Change-Id: Iee73902e0941fb234aca3c60d996f9c75634222d
Reviewed-on: https://chromium-review.googlesource.com/571343Reviewed-by: default avatarTakeshi Yoshino <tyoshino@chromium.org>
Commit-Queue: Yutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487411}
parent cdc72a13
......@@ -1071,7 +1071,7 @@ void DocumentThreadableLoader::DispatchDidFailAccessControlCheck(
ThreadableLoaderClient* client = client_;
Clear();
client->DidFailAccessControlCheck(error);
client->DidFail(error);
}
void DocumentThreadableLoader::DispatchDidFail(const ResourceError& error) {
......
......@@ -59,9 +59,6 @@ class CORE_EXPORT ThreadableLoaderClient {
virtual void DidFinishLoading(unsigned long /*identifier*/,
double /*finishTime*/) {}
virtual void DidFail(const ResourceError&) {}
virtual void DidFailAccessControlCheck(const ResourceError& error) {
DidFail(error);
}
virtual void DidFailRedirectCheck() {}
virtual void DidReceiveResourceTiming(const ResourceTimingInfo&) {}
......
......@@ -70,7 +70,6 @@ class MockThreadableLoaderClient : public ThreadableLoaderClient {
MOCK_METHOD2(DidReceiveCachedMetadata, void(const char*, int));
MOCK_METHOD2(DidFinishLoading, void(unsigned long, double));
MOCK_METHOD1(DidFail, void(const ResourceError&));
MOCK_METHOD1(DidFailAccessControlCheck, void(const ResourceError&));
MOCK_METHOD0(DidFailRedirectCheck, void());
MOCK_METHOD1(DidReceiveResourceTiming, void(const ResourceTimingInfo&));
MOCK_METHOD1(DidDownloadData, void(int));
......@@ -699,7 +698,7 @@ TEST_P(ThreadableLoaderTest, DidFailAccessControlCheck) {
EXPECT_CALL(GetCheckpoint(), Call(2));
EXPECT_CALL(
*Client(),
DidFailAccessControlCheck(ResourceError::CancelledDueToAccessCheckError(
DidFail(ResourceError::CancelledDueToAccessCheckError(
SuccessURL(), ResourceRequestBlockedReason::kOther,
"No 'Access-Control-Allow-Origin' header is present on the requested "
"resource. Origin 'null' is therefore not allowed access.")));
......@@ -709,36 +708,6 @@ TEST_P(ThreadableLoaderTest, DidFailAccessControlCheck) {
ServeRequests();
}
TEST_P(ThreadableLoaderTest, CancelInDidFailAccessControlCheck) {
InSequence s;
EXPECT_CALL(GetCheckpoint(), Call(1));
CreateLoader();
CallCheckpoint(1);
EXPECT_CALL(GetCheckpoint(), Call(2));
EXPECT_CALL(*Client(), DidFailAccessControlCheck(_))
.WillOnce(InvokeWithoutArgs(this, &ThreadableLoaderTest::CancelLoader));
StartLoader(SuccessURL(), WebURLRequest::kFetchRequestModeCORS);
CallCheckpoint(2);
ServeRequests();
}
TEST_P(ThreadableLoaderTest, ClearInDidFailAccessControlCheck) {
InSequence s;
EXPECT_CALL(GetCheckpoint(), Call(1));
CreateLoader();
CallCheckpoint(1);
EXPECT_CALL(GetCheckpoint(), Call(2));
EXPECT_CALL(*Client(), DidFailAccessControlCheck(_))
.WillOnce(InvokeWithoutArgs(this, &ThreadableLoaderTest::ClearLoader));
StartLoader(SuccessURL(), WebURLRequest::kFetchRequestModeCORS);
CallCheckpoint(2);
ServeRequests();
}
TEST_P(ThreadableLoaderTest, RedirectDidFinishLoading) {
InSequence s;
EXPECT_CALL(GetCheckpoint(), Call(1));
......@@ -844,7 +813,7 @@ TEST_P(ThreadableLoaderTest, GetResponseSynchronously) {
CreateLoader();
CallCheckpoint(1);
EXPECT_CALL(*Client(), DidFailAccessControlCheck(_));
EXPECT_CALL(*Client(), DidFail(_));
EXPECT_CALL(GetCheckpoint(), Call(2));
// Currently didFailAccessControlCheck is dispatched synchronously. This
......
......@@ -391,17 +391,6 @@ void WorkerThreadableLoader::DidFail(const ResourceError& error) {
client->DidFail(error);
}
void WorkerThreadableLoader::DidFailAccessControlCheck(
const ResourceError& error) {
DCHECK(!IsMainThread());
if (!client_)
return;
auto* client = client_;
client_ = nullptr;
main_thread_loader_holder_ = nullptr;
client->DidFailAccessControlCheck(error);
}
void WorkerThreadableLoader::DidFailRedirectCheck() {
DCHECK(!IsMainThread());
if (!client_)
......@@ -605,20 +594,6 @@ void WorkerThreadableLoader::MainThreadLoaderHolder::DidFail(
forwarder_ = nullptr;
}
void WorkerThreadableLoader::MainThreadLoaderHolder::DidFailAccessControlCheck(
const ResourceError& error) {
DCHECK(IsMainThread());
CrossThreadPersistent<WorkerThreadableLoader> worker_loader =
worker_loader_.Release();
if (!worker_loader || !forwarder_)
return;
forwarder_->ForwardTaskWithDoneSignal(
BLINK_FROM_HERE,
CrossThreadBind(&WorkerThreadableLoader::DidFailAccessControlCheck,
worker_loader, error));
forwarder_ = nullptr;
}
void WorkerThreadableLoader::MainThreadLoaderHolder::DidFailRedirectCheck() {
DCHECK(IsMainThread());
CrossThreadPersistent<WorkerThreadableLoader> worker_loader =
......
......@@ -165,7 +165,6 @@ class WorkerThreadableLoader final : public ThreadableLoader {
void DidFinishLoading(unsigned long identifier,
double finish_time) override;
void DidFail(const ResourceError&) override;
void DidFailAccessControlCheck(const ResourceError&) override;
void DidFailRedirectCheck() override;
void DidReceiveResourceTiming(const ResourceTimingInfo&) override;
......@@ -204,7 +203,6 @@ class WorkerThreadableLoader final : public ThreadableLoader {
void DidReceiveCachedMetadata(std::unique_ptr<Vector<char>> data);
void DidFinishLoading(unsigned long identifier, double finish_time);
void DidFail(const ResourceError&);
void DidFailAccessControlCheck(const ResourceError&);
void DidFailRedirectCheck();
void DidDownloadData(int data_length);
void DidReceiveResourceTiming(
......
......@@ -306,7 +306,7 @@ void EventSource::DidFail(const ResourceError& error) {
DCHECK(loader_);
if (error.IsAccessCheck()) {
DidFailAccessControlCheck(error);
AbortConnectionAttempt();
return;
}
......@@ -315,12 +315,6 @@ void EventSource::DidFail(const ResourceError& error) {
NetworkRequestEnded();
}
void EventSource::DidFailAccessControlCheck(const ResourceError& error) {
DCHECK(loader_);
AbortConnectionAttempt();
}
void EventSource::DidFailRedirectCheck() {
DCHECK(loader_);
......
......@@ -111,7 +111,6 @@ class MODULES_EXPORT EventSource final
void DidReceiveData(const char*, unsigned) override;
void DidFinishLoading(unsigned long, double) override;
void DidFail(const ResourceError&) override;
void DidFailAccessControlCheck(const ResourceError&) override;
void DidFailRedirectCheck() override;
void OnMessageEvent(const AtomicString& event,
......
......@@ -235,7 +235,7 @@ TEST_F(BlobBytesConsumerTest, FailAccessControlCheck) {
EXPECT_EQ(PublicState::kReadableOrWaiting, consumer->GetPublicState());
int num_on_state_change_called = client->NumOnStateChangeCalled();
consumer->DidFailAccessControlCheck(ResourceError());
consumer->DidFail(ResourceError());
EXPECT_EQ(num_on_state_change_called + 1, client->NumOnStateChangeCalled());
EXPECT_EQ(PublicState::kErrored, consumer->GetPublicState());
......
......@@ -163,7 +163,6 @@ class FetchManager::Loader final
std::unique_ptr<WebDataConsumerHandle>) override;
void DidFinishLoading(unsigned long, double) override;
void DidFail(const ResourceError&) override;
void DidFailAccessControlCheck(const ResourceError&) override;
void DidFailRedirectCheck() override;
void Start();
......@@ -522,16 +521,6 @@ void FetchManager::Loader::DidFail(const ResourceError& error) {
error.LocalizedDescription());
}
void FetchManager::Loader::DidFailAccessControlCheck(
const ResourceError& error) {
if (error.IsCancellation() || error.IsTimeout() ||
error.Domain() != kErrorDomainBlinkInternal)
Failed(String());
else
Failed("Fetch API cannot load " + error.FailingURL() + ". " +
error.LocalizedDescription());
}
void FetchManager::Loader::DidFailRedirectCheck() {
Failed("Fetch API cannot load " + request_->Url().GetString() +
". Redirect failed.");
......
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