Commit c310b4fa authored by mkosiba@chromium.org's avatar mkosiba@chromium.org

Return a specific error code for unknown URL schemes.

The ERR_ABORTED error code is very general and for this particular case
we already have a corresponding net:: error case.


Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=104712

Review URL: http://codereview.chromium.org/8117003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110287 0039d316-1c4b-4281-b951-d872f2087c98
parent edece211
......@@ -390,7 +390,8 @@ bool ResourceDispatcherHost::HandleExternalProtocol(
handler->OnResponseCompleted(
request_id,
net::URLRequestStatus(net::URLRequestStatus::FAILED, net::ERR_ABORTED),
net::URLRequestStatus(net::URLRequestStatus::FAILED,
net::ERR_UNKNOWN_URL_SCHEME),
std::string()); // No security info necessary.
return true;
}
......
......@@ -1232,3 +1232,36 @@ TEST_F(ResourceDispatcherHostTest, CancelRequestsForContext) {
host_.CancelRequestsForContext(&filter_->resource_context());
EXPECT_EQ(0, host_.pending_requests());
}
TEST_F(ResourceDispatcherHostTest, UnknownURLScheme) {
EXPECT_EQ(0, host_.pending_requests());
SetResourceType(ResourceType::MAIN_FRAME);
HandleScheme("http");
MakeTestRequest(0, 1, GURL("foo://bar"));
// Flush all pending requests.
while (net::URLRequestTestJob::ProcessOnePendingMessage()) {}
// Sorts out all the messages we saw by request.
ResourceIPCAccumulator::ClassifiedMessages msgs;
accum_.GetClassifiedMessages(&msgs);
// We should have gotten one RequestComplete message.
ASSERT_EQ(1U, msgs[0].size());
EXPECT_EQ(ResourceMsg_RequestComplete::ID, msgs[0][0].type());
// The RequestComplete message should have had status
// (FAILED, ERR_UNKNOWN_URL_SCHEME).
int request_id;
net::URLRequestStatus status;
void* iter = NULL;
EXPECT_TRUE(IPC::ReadParam(&msgs[0][0], &iter, &request_id));
EXPECT_TRUE(IPC::ReadParam(&msgs[0][0], &iter, &status));
EXPECT_EQ(1, request_id);
EXPECT_EQ(net::URLRequestStatus::FAILED, status.status());
EXPECT_EQ(net::ERR_UNKNOWN_URL_SCHEME, status.error());
}
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