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

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

Issue 2653493009: Add two interfaces for ServiceWorkerProviderContext/ProviderHost (Closed)
Patch Set: Addressed comments from falken Created 3 years, 7 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 <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 555 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 566
567 class ServiceWorkerVersionBrowserTest : public ServiceWorkerBrowserTest { 567 class ServiceWorkerVersionBrowserTest : public ServiceWorkerBrowserTest {
568 public: 568 public:
569 using self = ServiceWorkerVersionBrowserTest; 569 using self = ServiceWorkerVersionBrowserTest;
570 570
571 ~ServiceWorkerVersionBrowserTest() override {} 571 ~ServiceWorkerVersionBrowserTest() override {}
572 572
573 void TearDownOnIOThread() override { 573 void TearDownOnIOThread() override {
574 registration_ = NULL; 574 registration_ = NULL;
575 version_ = NULL; 575 version_ = NULL;
576 remote_endpoints_.clear();
576 } 577 }
577 578
578 void InstallTestHelper(const std::string& worker_url, 579 void InstallTestHelper(const std::string& worker_url,
579 ServiceWorkerStatusCode expected_status) { 580 ServiceWorkerStatusCode expected_status) {
580 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread, 581 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread,
581 base::Unretained(this), worker_url)); 582 base::Unretained(this), worker_url));
582 583
583 // Dispatch install on a worker. 584 // Dispatch install on a worker.
584 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED; 585 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED;
585 base::RunLoop install_run_loop; 586 base::RunLoop install_run_loop;
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
661 AssociateRendererProcessToPattern(pattern); 662 AssociateRendererProcessToPattern(pattern);
662 } 663 }
663 664
664 void TimeoutWorkerOnIOThread() { 665 void TimeoutWorkerOnIOThread() {
665 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 666 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
666 version_->SimulatePingTimeoutForTesting(); 667 version_->SimulatePingTimeoutForTesting();
667 } 668 }
668 669
669 void AddControlleeOnIOThread() { 670 void AddControlleeOnIOThread() {
670 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 671 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
672 remote_endpoints_.emplace_back();
671 std::unique_ptr<ServiceWorkerProviderHost> host = 673 std::unique_ptr<ServiceWorkerProviderHost> host =
672 CreateProviderHostForWindow(33 /* dummy render process id */, 674 CreateProviderHostForWindow(
673 1 /* dummy provider_id */, 675 33 /* dummy render process id */, 1 /* dummy provider_id */,
674 true /* is_parent_frame_secure */, 676 true /* is_parent_frame_secure */,
675 wrapper()->context()->AsWeakPtr()); 677 wrapper()->context()->AsWeakPtr(), &remote_endpoints_.back());
676 host->SetDocumentUrl( 678 host->SetDocumentUrl(
677 embedded_test_server()->GetURL("/service_worker/host")); 679 embedded_test_server()->GetURL("/service_worker/host"));
678 host->AssociateRegistration(registration_.get(), 680 host->AssociateRegistration(registration_.get(),
679 false /* notify_controllerchange */); 681 false /* notify_controllerchange */);
680 wrapper()->context()->AddProviderHost(std::move(host)); 682 wrapper()->context()->AddProviderHost(std::move(host));
681 } 683 }
682 684
683 void AddWaitingWorkerOnIOThread(const std::string& worker_url) { 685 void AddWaitingWorkerOnIOThread(const std::string& worker_url) {
684 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 686 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
685 scoped_refptr<ServiceWorkerVersion> waiting_version( 687 scoped_refptr<ServiceWorkerVersion> waiting_version(
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
912 ServiceWorkerStatusCode* result) { 914 ServiceWorkerStatusCode* result) {
913 ASSERT_TRUE(version_.get()); 915 ASSERT_TRUE(version_.get());
914 version_->StopWorker(CreateReceiver(BrowserThread::UI, done, result)); 916 version_->StopWorker(CreateReceiver(BrowserThread::UI, done, result));
915 } 917 }
916 918
917 protected: 919 protected:
918 scoped_refptr<ServiceWorkerRegistration> registration_; 920 scoped_refptr<ServiceWorkerRegistration> registration_;
919 scoped_refptr<ServiceWorkerVersion> version_; 921 scoped_refptr<ServiceWorkerVersion> version_;
920 scoped_refptr<ChromeBlobStorageContext> blob_context_; 922 scoped_refptr<ChromeBlobStorageContext> blob_context_;
921 std::unique_ptr<ServiceWorkerFetchDispatcher> fetch_dispatcher_; 923 std::unique_ptr<ServiceWorkerFetchDispatcher> fetch_dispatcher_;
924 std::vector<ServiceWorkerRemoteProviderEndpoint> remote_endpoints_;
922 }; 925 };
923 926
924 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, StartAndStop) { 927 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, StartAndStop) {
925 StartServerAndNavigateToSetup(); 928 StartServerAndNavigateToSetup();
926 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread, 929 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread,
927 base::Unretained(this), 930 base::Unretained(this),
928 "/service_worker/worker.js")); 931 "/service_worker/worker.js"));
929 932
930 // Start a worker. 933 // Start a worker.
931 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED; 934 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED;
(...skipping 2096 matching lines...) Expand 10 before | Expand all | Expand 10 after
3028 // effect in CanSuspendRenderer(). 3031 // effect in CanSuspendRenderer().
3029 shell()->web_contents()->WasHidden(); 3032 shell()->web_contents()->WasHidden();
3030 EXPECT_TRUE(rph->IsProcessBackgrounded()); 3033 EXPECT_TRUE(rph->IsProcessBackgrounded());
3031 3034
3032 // The process which has service worker thread shouldn't be suspended. 3035 // The process which has service worker thread shouldn't be suspended.
3033 EXPECT_FALSE(memory_coordinator->CanSuspendRenderer(render_process_id)); 3036 EXPECT_FALSE(memory_coordinator->CanSuspendRenderer(render_process_id));
3034 } 3037 }
3035 #endif 3038 #endif
3036 3039
3037 } // namespace content 3040 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698