Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Side by Side Diff: content/browser/service_worker/service_worker_browsertest.cc

Issue 305893003: ServiceWorker: support Request.{url,method,origin,headers} [chromium] (2/3) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add browser test for Request. Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698