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

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

Issue 2580793004: service worker: Add CHECKs for investigating null http info bug. (Closed)
Patch Set: Fix foreign fetch Created 4 years 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 <stddef.h> 5 #include <stddef.h>
6 #include <stdint.h> 6 #include <stdint.h>
7 7
8 #include <map> 8 #include <map>
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 #include "content/public/common/referrer.h" 60 #include "content/public/common/referrer.h"
61 #include "content/public/common/resource_type.h" 61 #include "content/public/common/resource_type.h"
62 #include "content/public/common/web_preferences.h" 62 #include "content/public/common/web_preferences.h"
63 #include "content/public/test/browser_test_utils.h" 63 #include "content/public/test/browser_test_utils.h"
64 #include "content/public/test/content_browser_test.h" 64 #include "content/public/test/content_browser_test.h"
65 #include "content/public/test/content_browser_test_utils.h" 65 #include "content/public/test/content_browser_test_utils.h"
66 #include "content/shell/browser/shell.h" 66 #include "content/shell/browser/shell.h"
67 #include "content/shell/browser/shell_content_browser_client.h" 67 #include "content/shell/browser/shell_content_browser_client.h"
68 #include "content/test/test_content_browser_client.h" 68 #include "content/test/test_content_browser_client.h"
69 #include "net/dns/mock_host_resolver.h" 69 #include "net/dns/mock_host_resolver.h"
70 #include "net/http/http_response_info.h"
70 #include "net/log/net_log_with_source.h" 71 #include "net/log/net_log_with_source.h"
71 #include "net/test/embedded_test_server/embedded_test_server.h" 72 #include "net/test/embedded_test_server/embedded_test_server.h"
72 #include "net/test/embedded_test_server/http_request.h" 73 #include "net/test/embedded_test_server/http_request.h"
73 #include "net/test/embedded_test_server/http_response.h" 74 #include "net/test/embedded_test_server/http_response.h"
74 #include "net/url_request/url_request_filter.h" 75 #include "net/url_request/url_request_filter.h"
75 #include "net/url_request/url_request_interceptor.h" 76 #include "net/url_request/url_request_interceptor.h"
76 #include "net/url_request/url_request_test_job.h" 77 #include "net/url_request/url_request_test_job.h"
77 #include "storage/browser/blob/blob_data_handle.h" 78 #include "storage/browser/blob/blob_data_handle.h"
78 #include "storage/browser/blob/blob_data_snapshot.h" 79 #include "storage/browser/blob/blob_data_snapshot.h"
79 #include "storage/browser/blob/blob_reader.h" 80 #include "storage/browser/blob/blob_reader.h"
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 std::string name; 378 std::string name;
378 EXPECT_TRUE(name_value_pair->GetString(0, &name)); 379 EXPECT_TRUE(name_value_pair->GetString(0, &name));
379 std::string value; 380 std::string value;
380 EXPECT_TRUE(name_value_pair->GetString(1, &value)); 381 EXPECT_TRUE(name_value_pair->GetString(1, &value));
381 if (name == header_name && value == header_value) 382 if (name == header_name && value == header_value)
382 return true; 383 return true;
383 } 384 }
384 return false; 385 return false;
385 } 386 }
386 387
388 net::HttpResponseInfo CreateHttpResponseInfo() {
389 net::HttpResponseInfo info;
390 const char data[] =
391 "HTTP/1.1 200 OK\0"
392 "Content-Type: application/javascript\0"
393 "\0";
394 info.headers =
395 new net::HttpResponseHeaders(std::string(data, arraysize(data)));
396 return info;
397 }
398
387 } // namespace 399 } // namespace
388 400
389 class ServiceWorkerBrowserTest 401 class ServiceWorkerBrowserTest
390 : public MojoServiceWorkerTestP<ContentBrowserTest> { 402 : public MojoServiceWorkerTestP<ContentBrowserTest> {
391 protected: 403 protected:
392 using self = ServiceWorkerBrowserTest; 404 using self = ServiceWorkerBrowserTest;
393 405
394 void SetUpOnMainThread() override { 406 void SetUpOnMainThread() override {
395 ASSERT_TRUE(embedded_test_server()->InitializeAndListen()); 407 ASSERT_TRUE(embedded_test_server()->InitializeAndListen());
396 StoragePartition* partition = BrowserContext::GetDefaultStoragePartition( 408 StoragePartition* partition = BrowserContext::GetDefaultStoragePartition(
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 } 699 }
688 700
689 void RemoveLiveRegistrationOnIOThread(int64_t id) { 701 void RemoveLiveRegistrationOnIOThread(int64_t id) {
690 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 702 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
691 wrapper()->context()->RemoveLiveRegistration(id); 703 wrapper()->context()->RemoveLiveRegistration(id);
692 } 704 }
693 705
694 void StartOnIOThread(const base::Closure& done, 706 void StartOnIOThread(const base::Closure& done,
695 ServiceWorkerStatusCode* result) { 707 ServiceWorkerStatusCode* result) {
696 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 708 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
709 version_->SetMainScriptHttpResponseInfo(CreateHttpResponseInfo());
697 version_->StartWorker(ServiceWorkerMetrics::EventType::UNKNOWN, 710 version_->StartWorker(ServiceWorkerMetrics::EventType::UNKNOWN,
698 CreateReceiver(BrowserThread::UI, done, result)); 711 CreateReceiver(BrowserThread::UI, done, result));
699 } 712 }
700 713
701 void InstallOnIOThread(const base::Closure& done, 714 void InstallOnIOThread(const base::Closure& done,
702 ServiceWorkerStatusCode* result) { 715 ServiceWorkerStatusCode* result) {
703 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 716 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
704 version_->SetStatus(ServiceWorkerVersion::INSTALLING); 717 version_->SetStatus(ServiceWorkerVersion::INSTALLING);
705 version_->RunAfterStartWorker( 718 version_->RunAfterStartWorker(
706 ServiceWorkerMetrics::EventType::INSTALL, 719 ServiceWorkerMetrics::EventType::INSTALL,
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
755 wrapper()->context()->storage()->StoreRegistration( 768 wrapper()->context()->storage()->StoreRegistration(
756 registration_.get(), version, 769 registration_.get(), version,
757 CreateReceiver(BrowserThread::UI, done, result)); 770 CreateReceiver(BrowserThread::UI, done, result));
758 } 771 }
759 772
760 void ActivateOnIOThread(const base::Closure& done, 773 void ActivateOnIOThread(const base::Closure& done,
761 ServiceWorkerStatusCode* result) { 774 ServiceWorkerStatusCode* result) {
762 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 775 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
763 version_->set_fetch_handler_existence( 776 version_->set_fetch_handler_existence(
764 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); 777 ServiceWorkerVersion::FetchHandlerExistence::EXISTS);
778 version_->SetMainScriptHttpResponseInfo(CreateHttpResponseInfo());
765 version_->SetStatus(ServiceWorkerVersion::ACTIVATING); 779 version_->SetStatus(ServiceWorkerVersion::ACTIVATING);
766 registration_->SetActiveVersion(version_.get()); 780 registration_->SetActiveVersion(version_.get());
767 version_->RunAfterStartWorker( 781 version_->RunAfterStartWorker(
768 ServiceWorkerMetrics::EventType::ACTIVATE, 782 ServiceWorkerMetrics::EventType::ACTIVATE,
769 base::Bind(&self::DispatchActivateEventOnIOThread, 783 base::Bind(&self::DispatchActivateEventOnIOThread,
770 base::Unretained(this), done, result), 784 base::Unretained(this), done, result),
771 CreateReceiver(BrowserThread::UI, done, result)); 785 CreateReceiver(BrowserThread::UI, done, result));
772 } 786 }
773 787
774 void DispatchActivateEventOnIOThread(const base::Closure& done, 788 void DispatchActivateEventOnIOThread(const base::Closure& done,
(...skipping 2187 matching lines...) Expand 10 before | Expand all | Expand 10 after
2962 ServiceWorkerV8CacheStrategiesNormalTest, 2976 ServiceWorkerV8CacheStrategiesNormalTest,
2963 ::testing::Values(true, false)); 2977 ::testing::Values(true, false));
2964 INSTANTIATE_TEST_CASE_P(ServiceWorkerBrowserTest, 2978 INSTANTIATE_TEST_CASE_P(ServiceWorkerBrowserTest,
2965 ServiceWorkerV8CacheStrategiesAggressiveTest, 2979 ServiceWorkerV8CacheStrategiesAggressiveTest,
2966 ::testing::Values(true, false)); 2980 ::testing::Values(true, false));
2967 INSTANTIATE_TEST_CASE_P(ServiceWorkerBrowserTest, 2981 INSTANTIATE_TEST_CASE_P(ServiceWorkerBrowserTest,
2968 ServiceWorkerDisableWebSecurityTest, 2982 ServiceWorkerDisableWebSecurityTest,
2969 ::testing::Values(true, false)); 2983 ::testing::Values(true, false));
2970 2984
2971 } // namespace content 2985 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698