OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/callback.h" | 6 #include "base/callback.h" |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/run_loop.h" | 8 #include "base/run_loop.h" |
9 #include "content/browser/service_worker/embedded_worker_instance.h" | 9 #include "content/browser/service_worker/embedded_worker_instance.h" |
10 #include "content/browser/service_worker/embedded_worker_registry.h" | 10 #include "content/browser/service_worker/embedded_worker_registry.h" |
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
345 version_->DispatchActivateEvent( | 345 version_->DispatchActivateEvent( |
346 CreateReceiver(BrowserThread::UI, done, result)); | 346 CreateReceiver(BrowserThread::UI, done, result)); |
347 } | 347 } |
348 | 348 |
349 void FetchOnIOThread(const base::Closure& done, FetchResult* result) { | 349 void FetchOnIOThread(const base::Closure& done, FetchResult* result) { |
350 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 350 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
351 ServiceWorkerFetchRequest request( | 351 ServiceWorkerFetchRequest request( |
352 embedded_test_server()->GetURL("/service_worker/empty.html"), | 352 embedded_test_server()->GetURL("/service_worker/empty.html"), |
353 "GET", | 353 "GET", |
354 std::map<std::string, std::string>()); | 354 std::map<std::string, std::string>()); |
| 355 request.headers["User-Agent"] = "Mozilla/5.0"; |
| 356 request.headers["Accept"] = "text/html"; |
355 version_->SetStatus(ServiceWorkerVersion::ACTIVE); | 357 version_->SetStatus(ServiceWorkerVersion::ACTIVE); |
356 version_->DispatchFetchEvent( | 358 version_->DispatchFetchEvent( |
357 request, CreateResponseReceiver(BrowserThread::UI, done, result)); | 359 request, CreateResponseReceiver(BrowserThread::UI, done, result)); |
358 } | 360 } |
359 | 361 |
360 void StopOnIOThread(const base::Closure& done, | 362 void StopOnIOThread(const base::Closure& done, |
361 ServiceWorkerStatusCode* result) { | 363 ServiceWorkerStatusCode* result) { |
362 ASSERT_TRUE(version_); | 364 ASSERT_TRUE(version_); |
363 version_->StopWorker(CreateReceiver(BrowserThread::UI, done, result)); | 365 version_->StopWorker(CreateReceiver(BrowserThread::UI, done, result)); |
364 } | 366 } |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
466 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchEvent_Response) { | 468 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchEvent_Response) { |
467 ServiceWorkerFetchEventResult result; | 469 ServiceWorkerFetchEventResult result; |
468 ServiceWorkerResponse response; | 470 ServiceWorkerResponse response; |
469 FetchTestHelper("/service_worker/fetch_event.js", &result, &response); | 471 FetchTestHelper("/service_worker/fetch_event.js", &result, &response); |
470 ASSERT_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, result); | 472 ASSERT_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, result); |
471 EXPECT_EQ(301, response.status_code); | 473 EXPECT_EQ(301, response.status_code); |
472 EXPECT_EQ("Moved Permanently", response.status_text); | 474 EXPECT_EQ("Moved Permanently", response.status_text); |
473 std::map<std::string, std::string> expected_headers; | 475 std::map<std::string, std::string> expected_headers; |
474 expected_headers["Content-Language"] = "fi"; | 476 expected_headers["Content-Language"] = "fi"; |
475 expected_headers["Content-Type"] = "text/html; charset=UTF-8"; | 477 expected_headers["Content-Type"] = "text/html; charset=UTF-8"; |
| 478 GURL test_url = embedded_test_server()->GetURL("/service_worker/empty.html"); |
| 479 expected_headers["X-ServiceWorker-Test-RequestURL"] = test_url.spec(); |
| 480 expected_headers["X-ServiceWorker-Test-RequestMethod"] = "GET"; |
| 481 expected_headers["X-ServiceWorker-Test-RequestOrigin"] = |
| 482 test_url.GetOrigin().spec(); |
| 483 expected_headers["X-ServiceWorker-Test-RequestHeaders"] = |
| 484 "Accept: text/html\nUser-Agent: Mozilla/5.0\n"; |
476 EXPECT_EQ(expected_headers, response.headers); | 485 EXPECT_EQ(expected_headers, response.headers); |
477 } | 486 } |
478 | 487 |
479 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, | 488 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |
480 FetchEvent_FallbackToNative) { | 489 FetchEvent_FallbackToNative) { |
481 ServiceWorkerFetchEventResult result; | 490 ServiceWorkerFetchEventResult result; |
482 ServiceWorkerResponse response; | 491 ServiceWorkerResponse response; |
483 FetchTestHelper( | 492 FetchTestHelper( |
484 "/service_worker/fetch_event_fallback.js", &result, &response); | 493 "/service_worker/fetch_event_fallback.js", &result, &response); |
485 ASSERT_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_FALLBACK, result); | 494 ASSERT_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_FALLBACK, result); |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
673 base::Bind(&ServiceWorkerBlackBoxBrowserTest::FindRegistrationOnIO, | 682 base::Bind(&ServiceWorkerBlackBoxBrowserTest::FindRegistrationOnIO, |
674 this, | 683 this, |
675 embedded_test_server()->GetURL("/service_worker/empty.html"), | 684 embedded_test_server()->GetURL("/service_worker/empty.html"), |
676 &status, | 685 &status, |
677 &script_url)); | 686 &script_url)); |
678 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, status); | 687 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, status); |
679 } | 688 } |
680 } | 689 } |
681 | 690 |
682 } // namespace content | 691 } // namespace content |
OLD | NEW |