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

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

Issue 2746783002: [ServiceWorker] Mojofy InstallEvent of Service Worker (Closed)
Patch Set: Created 3 years, 9 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 708 matching lines...) Expand 10 before | Expand all | Expand 10 after
719 base::Unretained(this), done, result), 719 base::Unretained(this), done, result),
720 CreateReceiver(BrowserThread::UI, done, result)); 720 CreateReceiver(BrowserThread::UI, done, result));
721 } 721 }
722 722
723 void DispatchInstallEventOnIOThread(const base::Closure& done, 723 void DispatchInstallEventOnIOThread(const base::Closure& done,
724 ServiceWorkerStatusCode* result) { 724 ServiceWorkerStatusCode* result) {
725 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 725 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
726 int request_id = 726 int request_id =
727 version_->StartRequest(ServiceWorkerMetrics::EventType::INSTALL, 727 version_->StartRequest(ServiceWorkerMetrics::EventType::INSTALL,
728 CreateReceiver(BrowserThread::UI, done, result)); 728 CreateReceiver(BrowserThread::UI, done, result));
729 version_ 729 version_->event_dispatcher()->DispatchInstallEvent(
730 ->RegisterRequestCallback<ServiceWorkerHostMsg_InstallEventFinished>( 730 base::Bind(&self::ReceiveInstallEventOnIOThread, base::Unretained(this),
731 request_id, base::Bind(&self::ReceiveInstallEventOnIOThread, 731 done, result, request_id));
732 base::Unretained(this), done, result));
733 version_->DispatchEvent({request_id},
734 ServiceWorkerMsg_InstallEvent(request_id));
735 } 732 }
736 733
737 void ReceiveInstallEventOnIOThread(const base::Closure& done, 734 void ReceiveInstallEventOnIOThread(const base::Closure& done,
738 ServiceWorkerStatusCode* out_result, 735 ServiceWorkerStatusCode* out_result,
739 int request_id, 736 int request_id,
740 blink::WebServiceWorkerEventResult result, 737 ServiceWorkerStatusCode status,
741 bool has_fetch_handler, 738 bool has_fetch_handler,
742 base::Time dispatch_event_time) { 739 base::Time dispatch_event_time) {
743 version_->FinishRequest( 740 version_->FinishRequest(request_id, status == SERVICE_WORKER_OK,
744 request_id, result == blink::WebServiceWorkerEventResultCompleted, 741 dispatch_event_time);
745 dispatch_event_time);
746 version_->set_fetch_handler_existence( 742 version_->set_fetch_handler_existence(
747 has_fetch_handler 743 has_fetch_handler
748 ? ServiceWorkerVersion::FetchHandlerExistence::EXISTS 744 ? ServiceWorkerVersion::FetchHandlerExistence::EXISTS
749 : ServiceWorkerVersion::FetchHandlerExistence::DOES_NOT_EXIST); 745 : ServiceWorkerVersion::FetchHandlerExistence::DOES_NOT_EXIST);
750 746
751 ServiceWorkerStatusCode status = SERVICE_WORKER_OK;
752 if (result == blink::WebServiceWorkerEventResultRejected)
753 status = SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED;
754
755 *out_result = status; 747 *out_result = status;
756 if (!done.is_null()) 748 if (!done.is_null())
757 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done); 749 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done);
758 } 750 }
759 751
760 void StoreOnIOThread(const base::Closure& done, 752 void StoreOnIOThread(const base::Closure& done,
761 ServiceWorkerStatusCode* result, 753 ServiceWorkerStatusCode* result,
762 int64_t version_id) { 754 int64_t version_id) {
763 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 755 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
764 ServiceWorkerVersion* version = 756 ServiceWorkerVersion* version =
(...skipping 2171 matching lines...) Expand 10 before | Expand all | Expand 10 after
2936 // effect in CanSuspendRenderer(). 2928 // effect in CanSuspendRenderer().
2937 shell()->web_contents()->WasHidden(); 2929 shell()->web_contents()->WasHidden();
2938 EXPECT_TRUE(rph->IsProcessBackgrounded()); 2930 EXPECT_TRUE(rph->IsProcessBackgrounded());
2939 2931
2940 // The process which has service worker thread shouldn't be suspended. 2932 // The process which has service worker thread shouldn't be suspended.
2941 EXPECT_FALSE(memory_coordinator->CanSuspendRenderer(render_process_id)); 2933 EXPECT_FALSE(memory_coordinator->CanSuspendRenderer(render_process_id));
2942 } 2934 }
2943 #endif 2935 #endif
2944 2936
2945 } // namespace content 2937 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698