| Index: content/child/web_url_loader_impl_unittest.cc
|
| diff --git a/content/child/web_url_loader_impl_unittest.cc b/content/child/web_url_loader_impl_unittest.cc
|
| index ac54c49a11b23248e8e4137301446f528d768966..ad6bdd82a3c1211e58b4a73c49a53a5bd9b2676f 100644
|
| --- a/content/child/web_url_loader_impl_unittest.cc
|
| +++ b/content/child/web_url_loader_impl_unittest.cc
|
| @@ -118,6 +118,7 @@ class TestWebURLLoaderClient : public blink::WebURLLoaderClient {
|
| delete_on_fail_(false),
|
| did_receive_redirect_(false),
|
| did_receive_response_(false),
|
| + check_redirect_request_priority_(false),
|
| did_finish_(false) {}
|
|
|
| ~TestWebURLLoaderClient() override {}
|
| @@ -129,6 +130,10 @@ class TestWebURLLoaderClient : public blink::WebURLLoaderClient {
|
| const blink::WebURLResponse& redirectResponse) override {
|
| EXPECT_TRUE(loader_);
|
| EXPECT_EQ(loader_.get(), loader);
|
| +
|
| + if (check_redirect_request_priority_)
|
| + EXPECT_EQ(redirect_request_priority, newRequest.getPriority());
|
| +
|
| // No test currently simulates mutiple redirects.
|
| EXPECT_FALSE(did_receive_redirect_);
|
| did_receive_redirect_ = true;
|
| @@ -222,6 +227,10 @@ class TestWebURLLoaderClient : public blink::WebURLLoaderClient {
|
| void set_delete_on_receive_data() { delete_on_receive_data_ = true; }
|
| void set_delete_on_finish() { delete_on_finish_ = true; }
|
| void set_delete_on_fail() { delete_on_fail_ = true; }
|
| + void set_redirect_request_priority(blink::WebURLRequest::Priority priority) {
|
| + check_redirect_request_priority_ = true;
|
| + redirect_request_priority = priority;
|
| + }
|
|
|
| bool did_receive_redirect() const { return did_receive_redirect_; }
|
| bool did_receive_response() const { return did_receive_response_; }
|
| @@ -241,6 +250,8 @@ class TestWebURLLoaderClient : public blink::WebURLLoaderClient {
|
|
|
| bool did_receive_redirect_;
|
| bool did_receive_response_;
|
| + bool check_redirect_request_priority_;
|
| + blink::WebURLRequest::Priority redirect_request_priority;
|
| std::string received_data_;
|
| bool did_finish_;
|
| blink::WebURLError error_;
|
| @@ -271,6 +282,16 @@ class WebURLLoaderImplTest : public testing::Test {
|
| ASSERT_TRUE(peer());
|
| }
|
|
|
| + void DoStartAsyncRequestWithPriority(
|
| + blink::WebURLRequest::Priority priority) {
|
| + blink::WebURLRequest request;
|
| + request.initialize();
|
| + request.setPriority(priority);
|
| + request.setURL(GURL(kTestURL));
|
| + client()->loader()->loadAsynchronously(request, client());
|
| + ASSERT_TRUE(peer());
|
| + }
|
| +
|
| void DoReceiveRedirect() {
|
| EXPECT_FALSE(client()->did_receive_redirect());
|
| net::RedirectInfo redirect_info;
|
| @@ -364,6 +385,19 @@ TEST_F(WebURLLoaderImplTest, Redirect) {
|
| EXPECT_EQ(kTestData, client()->received_data());
|
| }
|
|
|
| +TEST_F(WebURLLoaderImplTest, RedirectCorrectPriority) {
|
| + DoStartAsyncRequestWithPriority(
|
| + blink::WebURLRequest::Priority::PriorityVeryHigh);
|
| + client()->set_redirect_request_priority(
|
| + blink::WebURLRequest::Priority::PriorityVeryHigh);
|
| + DoReceiveRedirect();
|
| + DoReceiveResponse();
|
| + DoReceiveData();
|
| + DoCompleteRequest();
|
| + EXPECT_FALSE(dispatcher()->canceled());
|
| + EXPECT_EQ(kTestData, client()->received_data());
|
| +}
|
| +
|
| TEST_F(WebURLLoaderImplTest, Failure) {
|
| DoStartAsyncRequest();
|
| DoReceiveResponse();
|
|
|