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

Issue 2313653002: ServiceWorker: Exchange InterfaceProviders when starting worker thread (Closed)

Created:
4 years, 3 months ago by shimazu
Modified:
4 years, 2 months ago
Reviewers:
Mike West, nhiroki, horo
CC:
Aaron Boodman, abarth-chromium, blink-worker-reviews_chromium.org, chromium-reviews, darin (slow to review), darin-cc_chromium.org, horo+watch_chromium.org, jam, jsbell+serviceworker_chromium.org, kinuko+watch, kinuko+serviceworker, michaeln, mlamouri+watch-content_chromium.org, nhiroki, qsr+mojo_chromium.org, serviceworker-reviews, tzik, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

ServiceWorker: Exchange InterfaceProviders when starting worker thread Browser process sends the InterfaceProvider bound to InterfaceRegistry on EmbeddedWorkerInstance in this patch. This enables SWContextClient to send IPCs via mojo when its context is starting. BUG=629701 Committed: https://crrev.com/34d1b0c8709f5533ef22ba843f49fa94bf5fa6dd Cr-Commit-Position: refs/heads/master@{#425978}

Patch Set 1 #

Patch Set 2 : Use AsWeakPtr for base::Bind #

Patch Set 3 : Indent #

Total comments: 12

Patch Set 4 : Rebase #

Total comments: 2

Patch Set 5 : Rebase and updated comments #

Patch Set 6 : Added a comment #

Total comments: 22

Patch Set 7 : Update comments, added DCHECK and rebase #

Total comments: 14

Patch Set 8 : Rebase #

Patch Set 9 : Passed InterfaceProviderRequest with StartWorker #

Total comments: 18

Patch Set 10 : Updated comments and fixed a typo #

Unified diffs Side-by-side diffs Delta from patch set Stats (+91 lines, -26 lines) Patch
M content/browser/service_worker/embedded_worker_instance.cc View 1 2 3 4 5 6 7 8 9 2 chunks +24 lines, -12 lines 0 comments Download
M content/browser/service_worker/embedded_worker_instance_unittest.cc View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -1 line 0 comments Download
M content/browser/service_worker/embedded_worker_test_helper.h View 1 2 3 4 5 6 7 8 2 chunks +10 lines, -1 line 0 comments Download
M content/browser/service_worker/embedded_worker_test_helper.cc View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -1 line 0 comments Download
M content/common/service_worker/embedded_worker.mojom View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -2 lines 0 comments Download
M content/renderer/service_worker/embedded_worker_instance_client_impl.h View 1 2 3 4 5 6 7 8 9 3 chunks +19 lines, -5 lines 0 comments Download
M content/renderer/service_worker/embedded_worker_instance_client_impl.cc View 1 2 3 4 5 6 7 8 9 4 chunks +14 lines, -1 line 0 comments Download
M content/renderer/service_worker/service_worker_context_client.h View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/service_worker/service_worker_context_client.cc View 1 2 3 4 5 6 7 8 9 2 chunks +10 lines, -2 lines 0 comments Download

Messages

Total messages: 30 (11 generated)
shimazu
ptal :~)
4 years, 3 months ago (2016-09-06 00:40:38 UTC) #2
nhiroki
Drive-by comments https://codereview.chromium.org/2313653002/diff/40001/content/browser/service_worker/embedded_worker_instance.cc File content/browser/service_worker/embedded_worker_instance.cc (right): https://codereview.chromium.org/2313653002/diff/40001/content/browser/service_worker/embedded_worker_instance.cc#newcode729 content/browser/service_worker/embedded_worker_instance.cc:729: if (!ServiceWorkerUtils::IsMojoForServiceWorkerEnabled()) { This condition may make ...
4 years, 3 months ago (2016-09-06 01:38:05 UTC) #4
horo
https://codereview.chromium.org/2313653002/diff/60001/content/browser/service_worker/embedded_worker_instance.cc File content/browser/service_worker/embedded_worker_instance.cc (right): https://codereview.chromium.org/2313653002/diff/60001/content/browser/service_worker/embedded_worker_instance.cc#newcode815 content/browser/service_worker/embedded_worker_instance.cc:815: remote_interfaces_->Bind(std::move(client_interfaces)); What happens if EmbeddedWorkerInstance::GetRemoteInterfaces() is called before AttachClientInterfaceProvider()? ...
4 years, 3 months ago (2016-09-21 05:12:08 UTC) #5
shimazu
https://codereview.chromium.org/2313653002/diff/40001/content/browser/service_worker/embedded_worker_instance.cc File content/browser/service_worker/embedded_worker_instance.cc (right): https://codereview.chromium.org/2313653002/diff/40001/content/browser/service_worker/embedded_worker_instance.cc#newcode729 content/browser/service_worker/embedded_worker_instance.cc:729: if (!ServiceWorkerUtils::IsMojoForServiceWorkerEnabled()) { On 2016/09/06 01:38:05, nhiroki wrote: > ...
4 years, 3 months ago (2016-09-21 07:00:51 UTC) #6
nhiroki
https://codereview.chromium.org/2313653002/diff/100001/content/browser/service_worker/embedded_worker_instance.cc File content/browser/service_worker/embedded_worker_instance.cc (right): https://codereview.chromium.org/2313653002/diff/100001/content/browser/service_worker/embedded_worker_instance.cc#newcode704 content/browser/service_worker/embedded_worker_instance.cc:704: // worker is enabled, so this code isn't necessary ...
4 years, 3 months ago (2016-09-21 07:57:05 UTC) #7
horo
https://codereview.chromium.org/2313653002/diff/100001/content/renderer/service_worker/service_worker_context_client.cc File content/renderer/service_worker/service_worker_context_client.cc (right): https://codereview.chromium.org/2313653002/diff/100001/content/renderer/service_worker/service_worker_context_client.cc#newcode126 content/renderer/service_worker/service_worker_context_client.cc:126: void GetInterfaceOnMainThread(base::SingleThreadTaskRunner* runner, Sorry, I don't understand mojo well ...
4 years, 3 months ago (2016-09-21 10:18:59 UTC) #8
shimazu
Updated. PTAL again. https://codereview.chromium.org/2313653002/diff/100001/content/browser/service_worker/embedded_worker_instance.cc File content/browser/service_worker/embedded_worker_instance.cc (right): https://codereview.chromium.org/2313653002/diff/100001/content/browser/service_worker/embedded_worker_instance.cc#newcode704 content/browser/service_worker/embedded_worker_instance.cc:704: // worker is enabled, so this ...
4 years, 2 months ago (2016-10-06 05:19:11 UTC) #9
nhiroki
https://codereview.chromium.org/2313653002/diff/120001/content/browser/service_worker/embedded_worker_instance_unittest.cc File content/browser/service_worker/embedded_worker_instance_unittest.cc (right): https://codereview.chromium.org/2313653002/diff/120001/content/browser/service_worker/embedded_worker_instance_unittest.cc#newcode35 content/browser/service_worker/embedded_worker_instance_unittest.cc:35: void NoOpStatusCallback(ServiceWorkerStatusCode code) {} unused? https://codereview.chromium.org/2313653002/diff/120001/content/renderer/service_worker/embedded_worker_instance_client_impl.h File content/renderer/service_worker/embedded_worker_instance_client_impl.h (right): ...
4 years, 2 months ago (2016-10-06 05:53:22 UTC) #10
horo
https://codereview.chromium.org/2313653002/diff/120001/content/common/service_worker/embedded_worker.mojom File content/common/service_worker/embedded_worker.mojom (right): https://codereview.chromium.org/2313653002/diff/120001/content/common/service_worker/embedded_worker.mojom#newcode16 content/common/service_worker/embedded_worker.mojom:16: shell.mojom.InterfaceProvider browser_interface); As we discussed offline, please consider sending ...
4 years, 2 months ago (2016-10-06 08:46:37 UTC) #11
shimazu
updated. ptal again:) https://codereview.chromium.org/2313653002/diff/120001/content/browser/service_worker/embedded_worker_instance_unittest.cc File content/browser/service_worker/embedded_worker_instance_unittest.cc (right): https://codereview.chromium.org/2313653002/diff/120001/content/browser/service_worker/embedded_worker_instance_unittest.cc#newcode35 content/browser/service_worker/embedded_worker_instance_unittest.cc:35: void NoOpStatusCallback(ServiceWorkerStatusCode code) {} On 2016/10/06 ...
4 years, 2 months ago (2016-10-17 10:11:00 UTC) #13
nhiroki
LGTM. I'm not familiar with mojo code, so please wait for horo-san's solid reviews :) ...
4 years, 2 months ago (2016-10-18 00:26:57 UTC) #14
horo
looks good. https://codereview.chromium.org/2313653002/diff/180001/content/browser/service_worker/embedded_worker_instance.cc File content/browser/service_worker/embedded_worker_instance.cc (right): https://codereview.chromium.org/2313653002/diff/180001/content/browser/service_worker/embedded_worker_instance.cc#newcode709 content/browser/service_worker/embedded_worker_instance.cc:709: // This code is for BackgroundSync, which ...
4 years, 2 months ago (2016-10-18 01:28:56 UTC) #15
shimazu
Thanks, updated. https://codereview.chromium.org/2313653002/diff/180001/content/browser/service_worker/embedded_worker_instance.cc File content/browser/service_worker/embedded_worker_instance.cc (right): https://codereview.chromium.org/2313653002/diff/180001/content/browser/service_worker/embedded_worker_instance.cc#newcode709 content/browser/service_worker/embedded_worker_instance.cc:709: // This code is for BackgroundSync, which ...
4 years, 2 months ago (2016-10-18 04:08:03 UTC) #16
horo
lgtm
4 years, 2 months ago (2016-10-18 10:23:00 UTC) #21
shimazu
mkwst@: could you take a look at mojom?
4 years, 2 months ago (2016-10-18 11:27:06 UTC) #23
Mike West
mojo LGTM.
4 years, 2 months ago (2016-10-18 12:20:44 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2313653002/200001
4 years, 2 months ago (2016-10-18 15:55:54 UTC) #27
commit-bot: I haz the power
Committed patchset #10 (id:200001)
4 years, 2 months ago (2016-10-18 16:00:33 UTC) #28
commit-bot: I haz the power
4 years, 2 months ago (2016-10-18 16:03:49 UTC) #30
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/34d1b0c8709f5533ef22ba843f49fa94bf5fa6dd
Cr-Commit-Position: refs/heads/master@{#425978}

Powered by Google App Engine
This is Rietveld 408576698