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

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

Issue 2867693004: Snapshot of all changes to get jumbo in blink and content.
Patch Set: Rebased again Created 3 years, 5 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "content/browser/service_worker/service_worker_dispatcher_host.h" 5 #include "content/browser/service_worker/service_worker_dispatcher_host.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/debug/crash_logging.h" 9 #include "base/debug/crash_logging.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 const char kEnableNavigationPreloadErrorPrefix[] = 58 const char kEnableNavigationPreloadErrorPrefix[] =
59 "Failed to enable or disable navigation preload: "; 59 "Failed to enable or disable navigation preload: ";
60 const char kGetNavigationPreloadStateErrorPrefix[] = 60 const char kGetNavigationPreloadStateErrorPrefix[] =
61 "Failed to get navigation preload state: "; 61 "Failed to get navigation preload state: ";
62 const char kSetNavigationPreloadHeaderErrorPrefix[] = 62 const char kSetNavigationPreloadHeaderErrorPrefix[] =
63 "Failed to set navigation preload header: "; 63 "Failed to set navigation preload header: ";
64 const char kNoActiveWorkerErrorMessage[] = 64 const char kNoActiveWorkerErrorMessage[] =
65 "The registration does not have an active worker."; 65 "The registration does not have an active worker.";
66 const char kDatabaseErrorMessage[] = "Failed to access storage."; 66 const char kDatabaseErrorMessage[] = "Failed to access storage.";
67 67
68 const uint32_t kFilteredMessageClasses[] = { 68 const uint32_t kSW2FilteredMessageClasses[] = {
69 ServiceWorkerMsgStart, EmbeddedWorkerMsgStart, 69 ServiceWorkerMsgStart, EmbeddedWorkerMsgStart,
70 }; 70 };
71 71
72 void RunSoon(const base::Closure& callback) { 72 void SWRunSoon(const base::Closure& callback) {
73 if (!callback.is_null()) 73 if (!callback.is_null())
74 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, callback); 74 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, callback);
75 } 75 }
76 76
77 WebContents* GetWebContents(int render_process_id, int render_frame_id) { 77 WebContents* GetWebContents(int render_process_id, int render_frame_id) {
78 RenderFrameHost* rfh = 78 RenderFrameHost* rfh =
79 RenderFrameHost::FromID(render_process_id, render_frame_id); 79 RenderFrameHost::FromID(render_process_id, render_frame_id);
80 return WebContents::FromRenderFrameHost(rfh); 80 return WebContents::FromRenderFrameHost(rfh);
81 } 81 }
82 82
83 } // namespace 83 } // namespace
84 84
85 ServiceWorkerDispatcherHost::ServiceWorkerDispatcherHost( 85 ServiceWorkerDispatcherHost::ServiceWorkerDispatcherHost(
86 int render_process_id, 86 int render_process_id,
87 ResourceContext* resource_context) 87 ResourceContext* resource_context)
88 : BrowserMessageFilter(kFilteredMessageClasses, 88 : BrowserMessageFilter(kSW2FilteredMessageClasses,
89 arraysize(kFilteredMessageClasses)), 89 arraysize(kSW2FilteredMessageClasses)),
90 BrowserAssociatedInterface<mojom::ServiceWorkerDispatcherHost>(this, 90 BrowserAssociatedInterface<mojom::ServiceWorkerDispatcherHost>(this,
91 this), 91 this),
92 render_process_id_(render_process_id), 92 render_process_id_(render_process_id),
93 resource_context_(resource_context), 93 resource_context_(resource_context),
94 channel_ready_(false) {} 94 channel_ready_(false) {}
95 95
96 ServiceWorkerDispatcherHost::~ServiceWorkerDispatcherHost() { 96 ServiceWorkerDispatcherHost::~ServiceWorkerDispatcherHost() {
97 // Temporary CHECK for debugging https://crbug.com/736203. 97 // Temporary CHECK for debugging https://crbug.com/736203.
98 CHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 98 CHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
99 if (GetContext()) 99 if (GetContext())
(...skipping 801 matching lines...) Expand 10 before | Expand all | Expand 10 after
901 DispatchExtendableMessageEventInternal< 901 DispatchExtendableMessageEventInternal<
902 ServiceWorkerClientInfo>, 902 ServiceWorkerClientInfo>,
903 this, worker, message, source_origin, sent_message_ports, 903 this, worker, message, source_origin, sent_message_ports,
904 base::nullopt, callback)); 904 base::nullopt, callback));
905 break; 905 break;
906 case SERVICE_WORKER_PROVIDER_FOR_CONTROLLER: { 906 case SERVICE_WORKER_PROVIDER_FOR_CONTROLLER: {
907 // Clamp timeout to the sending worker's remaining timeout, to prevent 907 // Clamp timeout to the sending worker's remaining timeout, to prevent
908 // postMessage from keeping workers alive forever. 908 // postMessage from keeping workers alive forever.
909 base::TimeDelta timeout = 909 base::TimeDelta timeout =
910 sender_provider_host->running_hosted_version()->remaining_timeout(); 910 sender_provider_host->running_hosted_version()->remaining_timeout();
911 RunSoon(base::Bind( 911 SWRunSoon(base::Bind(
912 &ServiceWorkerDispatcherHost::DispatchExtendableMessageEventInternal< 912 &ServiceWorkerDispatcherHost::DispatchExtendableMessageEventInternal<
913 ServiceWorkerObjectInfo>, 913 ServiceWorkerObjectInfo>,
914 this, worker, message, source_origin, sent_message_ports, 914 this, worker, message, source_origin, sent_message_ports,
915 base::make_optional(timeout), callback, 915 base::make_optional(timeout), callback,
916 sender_provider_host->GetOrCreateServiceWorkerHandle( 916 sender_provider_host->GetOrCreateServiceWorkerHandle(
917 sender_provider_host->running_hosted_version()))); 917 sender_provider_host->running_hosted_version())));
918 break; 918 break;
919 } 919 }
920 case SERVICE_WORKER_PROVIDER_UNKNOWN: 920 case SERVICE_WORKER_PROVIDER_UNKNOWN:
921 default: 921 default:
(...skipping 646 matching lines...) Expand 10 before | Expand all | Expand 10 after
1568 if (!handle) { 1568 if (!handle) {
1569 bad_message::ReceivedBadMessage(this, 1569 bad_message::ReceivedBadMessage(this,
1570 bad_message::SWDH_TERMINATE_BAD_HANDLE); 1570 bad_message::SWDH_TERMINATE_BAD_HANDLE);
1571 return; 1571 return;
1572 } 1572 }
1573 handle->version()->StopWorker( 1573 handle->version()->StopWorker(
1574 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); 1574 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback));
1575 } 1575 }
1576 1576
1577 } // namespace content 1577 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698