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

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

Issue 2746783002: [ServiceWorker] Mojofy InstallEvent of Service Worker (Closed)
Patch Set: Rebase Created 3 years, 8 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 778 matching lines...) Expand 10 before | Expand all | Expand 10 after
789 base::Unretained(this), done, result), 789 base::Unretained(this), done, result),
790 CreateReceiver(BrowserThread::UI, done, result)); 790 CreateReceiver(BrowserThread::UI, done, result));
791 } 791 }
792 792
793 void DispatchInstallEventOnIOThread(const base::Closure& done, 793 void DispatchInstallEventOnIOThread(const base::Closure& done,
794 ServiceWorkerStatusCode* result) { 794 ServiceWorkerStatusCode* result) {
795 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 795 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
796 int request_id = 796 int request_id =
797 version_->StartRequest(ServiceWorkerMetrics::EventType::INSTALL, 797 version_->StartRequest(ServiceWorkerMetrics::EventType::INSTALL,
798 CreateReceiver(BrowserThread::UI, done, result)); 798 CreateReceiver(BrowserThread::UI, done, result));
799 version_ 799 version_->event_dispatcher()->DispatchInstallEvent(
800 ->RegisterRequestCallback<ServiceWorkerHostMsg_InstallEventFinished>( 800 nullptr, base::Bind(&self::ReceiveInstallEventOnIOThread,
801 request_id, base::Bind(&self::ReceiveInstallEventOnIOThread, 801 base::Unretained(this), done, result, request_id));
802 base::Unretained(this), done, result));
803 version_->DispatchEvent({request_id},
804 ServiceWorkerMsg_InstallEvent(request_id));
805 } 802 }
806 803
807 void ReceiveInstallEventOnIOThread(const base::Closure& done, 804 void ReceiveInstallEventOnIOThread(const base::Closure& done,
808 ServiceWorkerStatusCode* out_result, 805 ServiceWorkerStatusCode* out_result,
809 int request_id, 806 int request_id,
810 blink::WebServiceWorkerEventResult result, 807 ServiceWorkerStatusCode status,
811 bool has_fetch_handler, 808 bool has_fetch_handler,
812 base::Time dispatch_event_time) { 809 base::Time dispatch_event_time) {
813 version_->FinishRequest( 810 version_->FinishRequest(request_id, status == SERVICE_WORKER_OK,
814 request_id, result == blink::kWebServiceWorkerEventResultCompleted, 811 dispatch_event_time);
815 dispatch_event_time);
816 version_->set_fetch_handler_existence( 812 version_->set_fetch_handler_existence(
817 has_fetch_handler 813 has_fetch_handler
818 ? ServiceWorkerVersion::FetchHandlerExistence::EXISTS 814 ? ServiceWorkerVersion::FetchHandlerExistence::EXISTS
819 : ServiceWorkerVersion::FetchHandlerExistence::DOES_NOT_EXIST); 815 : ServiceWorkerVersion::FetchHandlerExistence::DOES_NOT_EXIST);
820 816
821 ServiceWorkerStatusCode status = SERVICE_WORKER_OK;
822 if (result == blink::kWebServiceWorkerEventResultRejected)
823 status = SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED;
824
825 *out_result = status; 817 *out_result = status;
826 if (!done.is_null()) 818 if (!done.is_null())
827 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done); 819 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done);
828 } 820 }
829 821
830 void StoreOnIOThread(const base::Closure& done, 822 void StoreOnIOThread(const base::Closure& done,
831 ServiceWorkerStatusCode* result, 823 ServiceWorkerStatusCode* result,
832 int64_t version_id) { 824 int64_t version_id) {
833 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 825 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
834 ServiceWorkerVersion* version = 826 ServiceWorkerVersion* version =
(...skipping 2168 matching lines...) Expand 10 before | Expand all | Expand 10 after
3003 // effect in CanSuspendRenderer(). 2995 // effect in CanSuspendRenderer().
3004 shell()->web_contents()->WasHidden(); 2996 shell()->web_contents()->WasHidden();
3005 EXPECT_TRUE(rph->IsProcessBackgrounded()); 2997 EXPECT_TRUE(rph->IsProcessBackgrounded());
3006 2998
3007 // The process which has service worker thread shouldn't be suspended. 2999 // The process which has service worker thread shouldn't be suspended.
3008 EXPECT_FALSE(memory_coordinator->CanSuspendRenderer(render_process_id)); 3000 EXPECT_FALSE(memory_coordinator->CanSuspendRenderer(render_process_id));
3009 } 3001 }
3010 #endif 3002 #endif
3011 3003
3012 } // namespace content 3004 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698