New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 629701 link

Starred by 9 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Task


Sign in to add a comment

Using mojo for the service workers

Project Member Reported by shimazu@chromium.org, Jul 20 2016

Issue description

Following what the "Mojoification is greatly appreciated!" email[1] said, the service workers is also starting the mojification.

Here is a current design document: 
https://docs.google.com/a/chromium.org/document/d/1DwPpvZG1gTCk5JAULmjPf0eCOHt01Pk59YdwRrbQWsY/edit?usp=sharing

[1]: https://groups.google.com/a/chromium.org/d/topic/chromium-dev/-U-by9nDBEY/discussion
 
Description: Show this description
Playground: http://crrev.com/2168513004
Description: Show this description
Labels: -Pri-3 Pri-2
Updated the doc. 
 - Added "steps of conversion".
 - Drawn a figure of the four steps of mojofication

I'm working on step1 now at this CL: https://crrev.com/2227593002
I'd appreciate any comments, thanks:)

Blocking: 612285
Project Member

Comment 6 by bugdroid1@chromium.org, Sep 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5db8eb672a52385059d4d188e27d7a7f0a5dd29d

commit 5db8eb672a52385059d4d188e27d7a7f0a5dd29d
Author: shimazu <shimazu@chromium.org>
Date: Wed Sep 28 02:10:08 2016

ServiceWorker: Implement StartWorker by using mojo

This patch is the first step of mojofication on the service worker.
In this patch, EWInstance will send StartWorker IPC using mojo. The endpoint on
the renderer process is EWInstanceClient which is corresponding to one
EWInstance. In future, this enables us to remove EWDispatcher, but
EWInstanceClient has reference to EWDispatcher for now.

BUG=629701

Review-Url: https://codereview.chromium.org/2227593002
Cr-Commit-Position: refs/heads/master@{#421427}

[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/browser/service_worker/embedded_worker_instance.cc
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/browser/service_worker/embedded_worker_instance.h
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/browser/service_worker/embedded_worker_registry.cc
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/browser/service_worker/embedded_worker_registry.h
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/common/BUILD.gn
[add] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/common/service_worker/embedded_worker.mojom
[add] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/common/service_worker/embedded_worker.typemap
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/common/service_worker/embedded_worker_messages.h
[add] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/common/service_worker/embedded_worker_start_params.cc
[add] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/common/service_worker/embedded_worker_start_params.h
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/common/service_worker/service_worker_utils.cc
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/common/service_worker/service_worker_utils.h
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/common/typemaps.gni
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/public/app/mojo/content_renderer_manifest.json
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/public/common/content_switches.cc
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/public/common/content_switches.h
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/renderer/BUILD.gn
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/renderer/service_worker/embedded_worker_dispatcher.cc
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/renderer/service_worker/embedded_worker_dispatcher.h
[add] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
[add] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/content/renderer/service_worker/embedded_worker_instance_client_impl.h
[modify] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/third_party/WebKit/LayoutTests/VirtualTestSuites
[add] https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d/third_party/WebKit/LayoutTests/virtual/mojo-service-worker/http/tests/serviceworker/README.txt

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/baa9cb520b6ee800f7633fb966474bf12325b8d9

commit baa9cb520b6ee800f7633fb966474bf12325b8d9
Author: shimazu <shimazu@chromium.org>
Date: Wed Sep 28 06:29:14 2016

ServiceWorker: Added --mojo-service-worker to the browser tests

In this patch, all browser tests are changed to IN_PROC_BROWSER_TEST_P
to use the parameterized tests for flipping the flag.

BUG=629701

Review-Url: https://codereview.chromium.org/2357543002
Cr-Commit-Position: refs/heads/master@{#421462}

[modify] https://crrev.com/baa9cb520b6ee800f7633fb966474bf12325b8d9/content/browser/service_worker/service_worker_browsertest.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/295acb8b68aa9b7084f5e35bad5aef9b427d9e03

commit 295acb8b68aa9b7084f5e35bad5aef9b427d9e03
Author: jwd <jwd@chromium.org>
Date: Wed Sep 28 13:59:38 2016

Revert of ServiceWorker: Implement StartWorker by using mojo (patchset #22 id:500001 of https://codereview.chromium.org/2227593002/ )

Reason for revert:
Looks like this is causing failures on webkit builders https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Linux%20Leak

Original issue's description:
> ServiceWorker: Implement StartWorker by using mojo
>
> This patch is the first step of mojofication on the service worker.
> In this patch, EWInstance will send StartWorker IPC using mojo. The endpoint on
> the renderer process is EWInstanceClient which is corresponding to one
> EWInstance. In future, this enables us to remove EWDispatcher, but
> EWInstanceClient has reference to EWDispatcher for now.
>
> BUG=629701
>
> Committed: https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d
> Cr-Commit-Position: refs/heads/master@{#421427}

TBR=horo@chromium.org,mek@chromium.org,dcheng@chromium.org,falken@chromium.org,avi@chromium.org,shimazu@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=629701

Review-Url: https://codereview.chromium.org/2381513002
Cr-Commit-Position: refs/heads/master@{#421509}

[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/browser/service_worker/embedded_worker_instance.cc
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/browser/service_worker/embedded_worker_instance.h
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/browser/service_worker/embedded_worker_registry.cc
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/browser/service_worker/embedded_worker_registry.h
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/common/BUILD.gn
[delete] https://crrev.com/1b8288ae4c0e8369203915162d4a20464c7930e3/content/common/service_worker/embedded_worker.mojom
[delete] https://crrev.com/1b8288ae4c0e8369203915162d4a20464c7930e3/content/common/service_worker/embedded_worker.typemap
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/common/service_worker/embedded_worker_messages.h
[delete] https://crrev.com/1b8288ae4c0e8369203915162d4a20464c7930e3/content/common/service_worker/embedded_worker_start_params.cc
[delete] https://crrev.com/1b8288ae4c0e8369203915162d4a20464c7930e3/content/common/service_worker/embedded_worker_start_params.h
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/common/service_worker/service_worker_utils.cc
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/common/service_worker/service_worker_utils.h
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/common/typemaps.gni
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/public/app/mojo/content_renderer_manifest.json
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/public/common/content_switches.cc
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/public/common/content_switches.h
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/renderer/BUILD.gn
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/renderer/service_worker/embedded_worker_dispatcher.cc
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/content/renderer/service_worker/embedded_worker_dispatcher.h
[delete] https://crrev.com/1b8288ae4c0e8369203915162d4a20464c7930e3/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
[delete] https://crrev.com/1b8288ae4c0e8369203915162d4a20464c7930e3/content/renderer/service_worker/embedded_worker_instance_client_impl.h
[modify] https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03/third_party/WebKit/LayoutTests/VirtualTestSuites
[delete] https://crrev.com/1b8288ae4c0e8369203915162d4a20464c7930e3/third_party/WebKit/LayoutTests/virtual/mojo-service-worker/http/tests/serviceworker/README.txt

Project Member

Comment 9 by bugdroid1@chromium.org, Sep 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5c803109f843d2e3af0bf7402d0fb097e5195d06

commit 5c803109f843d2e3af0bf7402d0fb097e5195d06
Author: jwd <jwd@chromium.org>
Date: Wed Sep 28 14:15:42 2016

Reland of ServiceWorker: Implement StartWorker by using mojo (patchset #1 id:1 of https://codereview.chromium.org/2381513002/ )

Reason for revert:
Did not compile.

Original issue's description:
> Revert of ServiceWorker: Implement StartWorker by using mojo (patchset #22 id:500001 of https://codereview.chromium.org/2227593002/ )
>
> Reason for revert:
> Looks like this is causing failures on webkit builders https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Linux%20Leak
>
> Original issue's description:
> > ServiceWorker: Implement StartWorker by using mojo
> >
> > This patch is the first step of mojofication on the service worker.
> > In this patch, EWInstance will send StartWorker IPC using mojo. The endpoint on
> > the renderer process is EWInstanceClient which is corresponding to one
> > EWInstance. In future, this enables us to remove EWDispatcher, but
> > EWInstanceClient has reference to EWDispatcher for now.
> >
> > BUG=629701
> >
> > Committed: https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d
> > Cr-Commit-Position: refs/heads/master@{#421427}
>
> TBR=horo@chromium.org,mek@chromium.org,dcheng@chromium.org,falken@chromium.org,avi@chromium.org,shimazu@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=629701
>
> Committed: https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03
> Cr-Commit-Position: refs/heads/master@{#421509}

TBR=horo@chromium.org,mek@chromium.org,dcheng@chromium.org,falken@chromium.org,avi@chromium.org,shimazu@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=629701

Review-Url: https://codereview.chromium.org/2378073002
Cr-Commit-Position: refs/heads/master@{#421513}

[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/browser/service_worker/embedded_worker_instance.cc
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/browser/service_worker/embedded_worker_instance.h
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/browser/service_worker/embedded_worker_registry.cc
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/browser/service_worker/embedded_worker_registry.h
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/common/BUILD.gn
[add] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/common/service_worker/embedded_worker.mojom
[add] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/common/service_worker/embedded_worker.typemap
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/common/service_worker/embedded_worker_messages.h
[add] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/common/service_worker/embedded_worker_start_params.cc
[add] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/common/service_worker/embedded_worker_start_params.h
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/common/service_worker/service_worker_utils.cc
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/common/service_worker/service_worker_utils.h
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/common/typemaps.gni
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/public/app/mojo/content_renderer_manifest.json
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/public/common/content_switches.cc
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/public/common/content_switches.h
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/renderer/BUILD.gn
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/renderer/service_worker/embedded_worker_dispatcher.cc
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/renderer/service_worker/embedded_worker_dispatcher.h
[add] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
[add] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/content/renderer/service_worker/embedded_worker_instance_client_impl.h
[modify] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/third_party/WebKit/LayoutTests/VirtualTestSuites
[add] https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06/third_party/WebKit/LayoutTests/virtual/mojo-service-worker/http/tests/serviceworker/README.txt

Project Member

Comment 10 by bugdroid1@chromium.org, Sep 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e0efe32458df38eae4ed49d94f6772281dd46702

commit e0efe32458df38eae4ed49d94f6772281dd46702
Author: jwd <jwd@chromium.org>
Date: Wed Sep 28 14:20:48 2016

Revert of ServiceWorker: Implement StartWorker by using mojo (patchset #1 id:1 of https://codereview.chromium.org/2378073002/ )

Reason for revert:
Found the compile issue.

Original issue's description:
> Reland of ServiceWorker: Implement StartWorker by using mojo (patchset #1 id:1 of https://codereview.chromium.org/2381513002/ )
>
> Reason for revert:
> Did not compile.
>
> Original issue's description:
> > Revert of ServiceWorker: Implement StartWorker by using mojo (patchset #22 id:500001 of https://codereview.chromium.org/2227593002/ )
> >
> > Reason for revert:
> > Looks like this is causing failures on webkit builders https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Linux%20Leak
> >
> > Original issue's description:
> > > ServiceWorker: Implement StartWorker by using mojo
> > >
> > > This patch is the first step of mojofication on the service worker.
> > > In this patch, EWInstance will send StartWorker IPC using mojo. The endpoint on
> > > the renderer process is EWInstanceClient which is corresponding to one
> > > EWInstance. In future, this enables us to remove EWDispatcher, but
> > > EWInstanceClient has reference to EWDispatcher for now.
> > >
> > > BUG=629701
> > >
> > > Committed: https://crrev.com/5db8eb672a52385059d4d188e27d7a7f0a5dd29d
> > > Cr-Commit-Position: refs/heads/master@{#421427}
> >
> > TBR=horo@chromium.org,mek@chromium.org,dcheng@chromium.org,falken@chromium.org,avi@chromium.org,shimazu@chromium.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=629701
> >
> > Committed: https://crrev.com/295acb8b68aa9b7084f5e35bad5aef9b427d9e03
> > Cr-Commit-Position: refs/heads/master@{#421509}
>
> TBR=horo@chromium.org,mek@chromium.org,dcheng@chromium.org,falken@chromium.org,avi@chromium.org,shimazu@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=629701
>
> Committed: https://crrev.com/5c803109f843d2e3af0bf7402d0fb097e5195d06
> Cr-Commit-Position: refs/heads/master@{#421513}

TBR=horo@chromium.org,mek@chromium.org,dcheng@chromium.org,falken@chromium.org,avi@chromium.org,shimazu@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=629701

Review-Url: https://codereview.chromium.org/2375943002
Cr-Commit-Position: refs/heads/master@{#421517}

[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/browser/service_worker/embedded_worker_instance.cc
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/browser/service_worker/embedded_worker_instance.h
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/browser/service_worker/embedded_worker_registry.cc
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/browser/service_worker/embedded_worker_registry.h
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/common/BUILD.gn
[delete] https://crrev.com/a6c579600f6fa4a7b90baf904118aba0f47349fa/content/common/service_worker/embedded_worker.mojom
[delete] https://crrev.com/a6c579600f6fa4a7b90baf904118aba0f47349fa/content/common/service_worker/embedded_worker.typemap
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/common/service_worker/embedded_worker_messages.h
[delete] https://crrev.com/a6c579600f6fa4a7b90baf904118aba0f47349fa/content/common/service_worker/embedded_worker_start_params.cc
[delete] https://crrev.com/a6c579600f6fa4a7b90baf904118aba0f47349fa/content/common/service_worker/embedded_worker_start_params.h
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/common/service_worker/service_worker_utils.cc
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/common/service_worker/service_worker_utils.h
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/common/typemaps.gni
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/public/app/mojo/content_renderer_manifest.json
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/public/common/content_switches.cc
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/public/common/content_switches.h
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/renderer/BUILD.gn
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/renderer/service_worker/embedded_worker_dispatcher.cc
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/content/renderer/service_worker/embedded_worker_dispatcher.h
[delete] https://crrev.com/a6c579600f6fa4a7b90baf904118aba0f47349fa/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
[delete] https://crrev.com/a6c579600f6fa4a7b90baf904118aba0f47349fa/content/renderer/service_worker/embedded_worker_instance_client_impl.h
[modify] https://crrev.com/e0efe32458df38eae4ed49d94f6772281dd46702/third_party/WebKit/LayoutTests/VirtualTestSuites
[delete] https://crrev.com/a6c579600f6fa4a7b90baf904118aba0f47349fa/third_party/WebKit/LayoutTests/virtual/mojo-service-worker/http/tests/serviceworker/README.txt

Project Member

Comment 11 by bugdroid1@chromium.org, Sep 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9fad885c354ebf046e9506f85391cf4585991c05

commit 9fad885c354ebf046e9506f85391cf4585991c05
Author: jwd <jwd@chromium.org>
Date: Wed Sep 28 14:21:31 2016

Revert of ServiceWorker: Added --mojo-service-worker to the browser tests (patchset #2 id:20001 of https://codereview.chromium.org/2357543002/ )

Reason for revert:
Revert so a revert of https://codereview.chromium.org/2227593002 will compile.

Original issue's description:
> ServiceWorker: Added --mojo-service-worker to the browser tests
>
> In this patch, all browser tests are changed to IN_PROC_BROWSER_TEST_P
> to use the parameterized tests for flipping the flag.
>
> BUG=629701
>
> Committed: https://crrev.com/baa9cb520b6ee800f7633fb966474bf12325b8d9
> Cr-Commit-Position: refs/heads/master@{#421462}

TBR=horo@chromium.org,shimazu@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=629701

Review-Url: https://codereview.chromium.org/2380723002
Cr-Commit-Position: refs/heads/master@{#421518}

[modify] https://crrev.com/9fad885c354ebf046e9506f85391cf4585991c05/content/browser/service_worker/service_worker_browsertest.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Sep 29 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5de409e4f753ee6ac4aae3a19ec504db0b5907ea

commit 5de409e4f753ee6ac4aae3a19ec504db0b5907ea
Author: shimazu <shimazu@chromium.org>
Date: Thu Sep 29 08:45:28 2016

Revert "Revert of ServiceWorker: Implement StartWorker by using mojo (patchset #1 id:1 of https://codereview.chromium.org/2378073002/ )"

This reverts commit e0efe32458df38eae4ed49d94f6772281dd46702.

Reason for revert:
This patch actually does not cause Leak. It was already tracked by
another issue: crbug.com/506754

TBR=horo@chromium.org,mek@chromium.org,dcheng@chromium.org,falken@chromium.org,avi@chromium.org
BUG=629701,506754,650955

Review-Url: https://codereview.chromium.org/2374353002
Cr-Commit-Position: refs/heads/master@{#421780}

[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/browser/service_worker/embedded_worker_instance.cc
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/browser/service_worker/embedded_worker_instance.h
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/browser/service_worker/embedded_worker_registry.cc
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/browser/service_worker/embedded_worker_registry.h
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/common/BUILD.gn
[add] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/common/service_worker/embedded_worker.mojom
[add] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/common/service_worker/embedded_worker.typemap
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/common/service_worker/embedded_worker_messages.h
[add] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/common/service_worker/embedded_worker_start_params.cc
[add] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/common/service_worker/embedded_worker_start_params.h
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/common/service_worker/service_worker_utils.cc
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/common/service_worker/service_worker_utils.h
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/common/typemaps.gni
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/public/app/mojo/content_renderer_manifest.json
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/public/common/content_switches.cc
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/public/common/content_switches.h
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/renderer/BUILD.gn
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/renderer/service_worker/embedded_worker_dispatcher.cc
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/renderer/service_worker/embedded_worker_dispatcher.h
[add] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
[add] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/content/renderer/service_worker/embedded_worker_instance_client_impl.h
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/third_party/WebKit/LayoutTests/LeakExpectations
[modify] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/third_party/WebKit/LayoutTests/VirtualTestSuites
[add] https://crrev.com/5de409e4f753ee6ac4aae3a19ec504db0b5907ea/third_party/WebKit/LayoutTests/virtual/mojo-service-worker/http/tests/serviceworker/README.txt

Project Member

Comment 13 by bugdroid1@chromium.org, Oct 4 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bdc8e1e4477f7dcd911528720a50d639be6d39b5

commit bdc8e1e4477f7dcd911528720a50d639be6d39b5
Author: horo <horo@chromium.org>
Date: Tue Oct 04 23:23:49 2016

Mojoify FetchEvent of Service Worker.

I'd like to use Mojo to send navigation preload response (crbug.com/649558) from
the browser process to the service worker. But currently we are using the legacy
IPC when the browser process sends the FetchEvent to the service worker. There
will be an ordering issue if we use both the legacy IPC and Mojo IPC.

To avoid the ordering issue, this CL changes the FetchEvent IPC to use Mojo.

BUG=629701,649558

Review-Url: https://codereview.chromium.org/2352173004
Cr-Commit-Position: refs/heads/master@{#422996}

[modify] https://crrev.com/bdc8e1e4477f7dcd911528720a50d639be6d39b5/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/bdc8e1e4477f7dcd911528720a50d639be6d39b5/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/bdc8e1e4477f7dcd911528720a50d639be6d39b5/content/browser/service_worker/service_worker_fetch_dispatcher.cc
[modify] https://crrev.com/bdc8e1e4477f7dcd911528720a50d639be6d39b5/content/browser/service_worker/service_worker_url_request_job_unittest.cc
[modify] https://crrev.com/bdc8e1e4477f7dcd911528720a50d639be6d39b5/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/bdc8e1e4477f7dcd911528720a50d639be6d39b5/content/common/BUILD.gn
[add] https://crrev.com/bdc8e1e4477f7dcd911528720a50d639be6d39b5/content/common/service_worker/fetch_event_dispatcher.mojom
[add] https://crrev.com/bdc8e1e4477f7dcd911528720a50d639be6d39b5/content/common/service_worker/fetch_event_dispatcher.typemap
[modify] https://crrev.com/bdc8e1e4477f7dcd911528720a50d639be6d39b5/content/common/service_worker/service_worker_messages.h
[add] https://crrev.com/bdc8e1e4477f7dcd911528720a50d639be6d39b5/content/common/service_worker/service_worker_status_code_traits.cc
[add] https://crrev.com/bdc8e1e4477f7dcd911528720a50d639be6d39b5/content/common/service_worker/service_worker_status_code_traits.h
[modify] https://crrev.com/bdc8e1e4477f7dcd911528720a50d639be6d39b5/content/common/typemaps.gni
[modify] https://crrev.com/bdc8e1e4477f7dcd911528720a50d639be6d39b5/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/bdc8e1e4477f7dcd911528720a50d639be6d39b5/content/renderer/service_worker/service_worker_context_client.h

Project Member

Comment 14 by bugdroid1@chromium.org, Oct 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ab56f249ec0733898a9db6b89391b7c3d9a30ae2

commit ab56f249ec0733898a9db6b89391b7c3d9a30ae2
Author: shimazu <shimazu@chromium.org>
Date: Thu Oct 06 06:29:48 2016

Reland of ServiceWorker: Added --mojo-service-worker to the browser tests (patchset #1 id:1 of https://codereview.chromium.org/2380723002/ )

Reason for revert:
A revert of https://codereview.chromium.org/2227593002 is reverted.

Original issue's description:
> Revert of ServiceWorker: Added --mojo-service-worker to the browser tests (patchset #2 id:20001 of https://codereview.chromium.org/2357543002/ )
>
> Reason for revert:
> Revert so a revert of https://codereview.chromium.org/2227593002 will compile.
>
> Original issue's description:
> > ServiceWorker: Added --mojo-service-worker to the browser tests
> >
> > In this patch, all browser tests are changed to IN_PROC_BROWSER_TEST_P
> > to use the parameterized tests for flipping the flag.
> >
> > BUG=629701
> >
> > Committed: https://crrev.com/baa9cb520b6ee800f7633fb966474bf12325b8d9
> > Cr-Commit-Position: refs/heads/master@{#421462}
>
> TBR=horo@chromium.org,shimazu@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=629701
>
> Committed: https://crrev.com/9fad885c354ebf046e9506f85391cf4585991c05
> Cr-Commit-Position: refs/heads/master@{#421518}

TBR=horo@chromium.org,jwd@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=629701

Review-Url: https://codereview.chromium.org/2397523004
Cr-Commit-Position: refs/heads/master@{#423452}

[modify] https://crrev.com/ab56f249ec0733898a9db6b89391b7c3d9a30ae2/content/browser/service_worker/service_worker_browsertest.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Oct 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/197a4f896f0434376b82895e7e72aacce16ec3ef

commit 197a4f896f0434376b82895e7e72aacce16ec3ef
Author: horo <horo@chromium.org>
Date: Tue Oct 11 08:15:42 2016

Remove WaitUntilObserver::decrementPendingActivity() from RespondWithObserver::contextDestroyed()

We don't need to (and should not) call this while the ServiceWorker context is being destroyed.

And also this caused crashes in ServiceWorkerContextClient after mojofying FetchEvent.
(crbug.com/653403) This crash only happens when LifecycleNotifier::notifyContextDestroyed() calls
RespondWithObserver::contextDestroyed() before WaitUntilObserver::contextDestroyed().

BUG=653403,649558,629701

Review-Url: https://codereview.chromium.org/2396293002
Cr-Commit-Position: refs/heads/master@{#424390}

[modify] https://crrev.com/197a4f896f0434376b82895e7e72aacce16ec3ef/third_party/WebKit/Source/modules/serviceworkers/RespondWithObserver.cpp
[modify] https://crrev.com/197a4f896f0434376b82895e7e72aacce16ec3ef/third_party/WebKit/Source/modules/serviceworkers/WaitUntilObserver.h

Project Member

Comment 16 by bugdroid1@chromium.org, Oct 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/011e3a5aa9acefa9794e74bc1facc50c2eeedea9

commit 011e3a5aa9acefa9794e74bc1facc50c2eeedea9
Author: horo <horo@chromium.org>
Date: Tue Oct 11 11:59:11 2016

Revert of Revert "Mojoify FetchEvent of Service Worker." (patchset #1 id:1 of https://codereview.chromium.org/2399903003/ )

Reason for revert:
The crash reported in https://crbug.com/653403 was fixed by https://crrev.com/2396293002/.

BUG=653403, 649558, 629701

Original issue's description:
> Revert "Mojoify FetchEvent of Service Worker."
>
> This reverts commit bdc8e1e4477f7dcd911528720a50d639be6d39b5.
> This is a top crasher that's blocking release.
>
> BUG=653403
> TBR=horo@chromium.org
>
> Committed: https://crrev.com/9a64a996a29e3fcdc07f8d7927fdebeb66faa44a
> Cr-Commit-Position: refs/heads/master@{#423663}

TBR=dcheng@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=653403

Review-Url: https://codereview.chromium.org/2406183002
Cr-Commit-Position: refs/heads/master@{#424407}

[modify] https://crrev.com/011e3a5aa9acefa9794e74bc1facc50c2eeedea9/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/011e3a5aa9acefa9794e74bc1facc50c2eeedea9/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/011e3a5aa9acefa9794e74bc1facc50c2eeedea9/content/browser/service_worker/service_worker_fetch_dispatcher.cc
[modify] https://crrev.com/011e3a5aa9acefa9794e74bc1facc50c2eeedea9/content/browser/service_worker/service_worker_url_request_job_unittest.cc
[modify] https://crrev.com/011e3a5aa9acefa9794e74bc1facc50c2eeedea9/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/011e3a5aa9acefa9794e74bc1facc50c2eeedea9/content/common/BUILD.gn
[add] https://crrev.com/011e3a5aa9acefa9794e74bc1facc50c2eeedea9/content/common/service_worker/fetch_event_dispatcher.mojom
[add] https://crrev.com/011e3a5aa9acefa9794e74bc1facc50c2eeedea9/content/common/service_worker/fetch_event_dispatcher.typemap
[modify] https://crrev.com/011e3a5aa9acefa9794e74bc1facc50c2eeedea9/content/common/service_worker/service_worker_messages.h
[add] https://crrev.com/011e3a5aa9acefa9794e74bc1facc50c2eeedea9/content/common/service_worker/service_worker_status_code_traits.cc
[add] https://crrev.com/011e3a5aa9acefa9794e74bc1facc50c2eeedea9/content/common/service_worker/service_worker_status_code_traits.h
[modify] https://crrev.com/011e3a5aa9acefa9794e74bc1facc50c2eeedea9/content/common/typemaps.gni
[modify] https://crrev.com/011e3a5aa9acefa9794e74bc1facc50c2eeedea9/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/011e3a5aa9acefa9794e74bc1facc50c2eeedea9/content/renderer/service_worker/service_worker_context_client.h

Project Member

Comment 17 by bugdroid1@chromium.org, Oct 12 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6ea839368fd4dbff868df10ef18fc3a6acdda2be

commit 6ea839368fd4dbff868df10ef18fc3a6acdda2be
Author: shimazu <shimazu@chromium.org>
Date: Wed Oct 12 10:40:04 2016

ServiceWorker: Mojofication of EWInstance::StopWorker

In this patch, EWInstance will send StopWorker IPC using mojo. Mojo has
their own error handling mechanism, and in this case errors will be handled as
detach.

BUG=629701

Review-Url: https://codereview.chromium.org/2307543002
Cr-Commit-Position: refs/heads/master@{#424707}

[modify] https://crrev.com/6ea839368fd4dbff868df10ef18fc3a6acdda2be/content/browser/service_worker/embedded_worker_instance.cc
[modify] https://crrev.com/6ea839368fd4dbff868df10ef18fc3a6acdda2be/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/6ea839368fd4dbff868df10ef18fc3a6acdda2be/content/browser/service_worker/embedded_worker_registry.cc
[modify] https://crrev.com/6ea839368fd4dbff868df10ef18fc3a6acdda2be/content/browser/service_worker/embedded_worker_registry.h
[modify] https://crrev.com/6ea839368fd4dbff868df10ef18fc3a6acdda2be/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/6ea839368fd4dbff868df10ef18fc3a6acdda2be/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/6ea839368fd4dbff868df10ef18fc3a6acdda2be/content/common/service_worker/embedded_worker.mojom
[modify] https://crrev.com/6ea839368fd4dbff868df10ef18fc3a6acdda2be/content/renderer/service_worker/embedded_worker_dispatcher.cc
[modify] https://crrev.com/6ea839368fd4dbff868df10ef18fc3a6acdda2be/content/renderer/service_worker/embedded_worker_dispatcher.h
[modify] https://crrev.com/6ea839368fd4dbff868df10ef18fc3a6acdda2be/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
[modify] https://crrev.com/6ea839368fd4dbff868df10ef18fc3a6acdda2be/content/renderer/service_worker/embedded_worker_instance_client_impl.h
[modify] https://crrev.com/6ea839368fd4dbff868df10ef18fc3a6acdda2be/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/6ea839368fd4dbff868df10ef18fc3a6acdda2be/content/renderer/service_worker/service_worker_context_client.h

Project Member

Comment 18 by bugdroid1@chromium.org, Oct 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/804b3e4223615df89434bad6c33ed922393fd8c9

commit 804b3e4223615df89434bad6c33ed922393fd8c9
Author: shimazu <shimazu@chromium.org>
Date: Mon Oct 17 09:13:29 2016

ServiceWorker: Mojofication of ServiceWorkerDispatcherHost

This patch is to mojofy ServiceWorkerDispatcherHost which is a browser-side
MessageFilter handling chromium IPC. Most of IPCs from the renderer to the
browser related to the service workers are going through this object, so I can
mojofy all of the IPCs using this way. In this patch, the ordering issue is
avoided by using AssociatedInterface bound to MessageChannel. As the first
touch, I mojofied ProviderCreated.

BUG=629701

Review-Url: https://codereview.chromium.org/2396273002
Cr-Commit-Position: refs/heads/master@{#425639}

[modify] https://crrev.com/804b3e4223615df89434bad6c33ed922393fd8c9/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/804b3e4223615df89434bad6c33ed922393fd8c9/content/browser/service_worker/service_worker_dispatcher_host.h
[modify] https://crrev.com/804b3e4223615df89434bad6c33ed922393fd8c9/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/804b3e4223615df89434bad6c33ed922393fd8c9/content/browser/service_worker/service_worker_provider_host_unittest.cc
[modify] https://crrev.com/804b3e4223615df89434bad6c33ed922393fd8c9/content/browser/service_worker/service_worker_test_utils.h
[modify] https://crrev.com/804b3e4223615df89434bad6c33ed922393fd8c9/content/child/service_worker/service_worker_network_provider.cc
[modify] https://crrev.com/804b3e4223615df89434bad6c33ed922393fd8c9/content/child/service_worker/service_worker_network_provider.h
[modify] https://crrev.com/804b3e4223615df89434bad6c33ed922393fd8c9/content/common/BUILD.gn
[add] https://crrev.com/804b3e4223615df89434bad6c33ed922393fd8c9/content/common/service_worker/service_worker.mojom
[add] https://crrev.com/804b3e4223615df89434bad6c33ed922393fd8c9/content/common/service_worker/service_worker_types.mojom
[add] https://crrev.com/804b3e4223615df89434bad6c33ed922393fd8c9/content/common/service_worker/service_worker_types.typemap
[add] https://crrev.com/804b3e4223615df89434bad6c33ed922393fd8c9/content/common/service_worker/service_worker_types_traits.cc
[add] https://crrev.com/804b3e4223615df89434bad6c33ed922393fd8c9/content/common/service_worker/service_worker_types_traits.h
[modify] https://crrev.com/804b3e4223615df89434bad6c33ed922393fd8c9/content/common/typemaps.gni
[modify] https://crrev.com/804b3e4223615df89434bad6c33ed922393fd8c9/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/804b3e4223615df89434bad6c33ed922393fd8c9/content/renderer/service_worker/service_worker_context_client.cc

Currently, following unittests are failing with --mojo-service-worker flag.
I started to mojofy the unittests.

4 tests failed:
    EmbeddedWorkerInstanceTest/EmbeddedWorkerInstanceTestP.StartAndStop/0 (../../content/browser/service_worker/embedded_worker_instance_unittest.cc:196)
    EmbeddedWorkerInstanceTest/EmbeddedWorkerInstanceTestP.StopDuringProcessAllocation/0 (../../content/browser/service_worker/embedded_worker_instance_unittest.cc:196)
    ServiceWorkerHandleTest.OnVersionStateChanged (../../content/browser/service_worker/service_worker_handle_unittest.cc:144)
    ServiceWorkerJobTest.Update_PauseAfterDownload (../../content/browser/service_worker/service_worker_job_unittest.cc:1609)
23 tests crashed:
    EmbeddedWorkerInstanceTest/EmbeddedWorkerInstanceTestP.FailToSendStartIPC/0 (../../content/browser/service_worker/embedded_worker_instance_unittest.cc:196)
    ServiceWorkerContextRecoveryTest/ServiceWorkerContextRecoveryTest.DeleteAndStartOver/0 (../../content/browser/service_worker/service_worker_context_unittest.cc:617)
    ServiceWorkerContextRecoveryTest/ServiceWorkerContextRecoveryTest.DeleteAndStartOver/1 (../../content/browser/service_worker/service_worker_context_unittest.cc:617)
    ServiceWorkerContextTest.Register (../../content/browser/service_worker/service_worker_context_unittest.cc:165)
    ServiceWorkerContextTest.RegisterDuplicateScript (../../content/browser/service_worker/service_worker_context_unittest.cc:486)
    ServiceWorkerContextTest.RegisterNewScript (../../content/browser/service_worker/service_worker_context_unittest.cc:444)
    ServiceWorkerContextTest.Register_RejectActivate (../../content/browser/service_worker/service_worker_context_unittest.cc:257)
    ServiceWorkerContextTest.Register_RejectInstall (../../content/browser/service_worker/service_worker_context_unittest.cc:210)
    ServiceWorkerContextTest.Unregister (../../content/browser/service_worker/service_worker_context_unittest.cc:298)
    ServiceWorkerContextTest.UnregisterMultiple (../../content/browser/service_worker/service_worker_context_unittest.cc:341)

    ServiceWorkerJobTest.ActivateCancelsOnShutdown (../../content/browser/service_worker/service_worker_job_unittest.cc:1646)
    ServiceWorkerJobTest.HasFetchHandler (../../content/browser/service_worker/service_worker_job_unittest.cc:1586)
    ServiceWorkerJobTest.ParallelRegNewScript (../../content/browser/service_worker/service_worker_job_unittest.cc:427)
    ServiceWorkerJobTest.ParallelRegUnreg (../../content/browser/service_worker/service_worker_job_unittest.cc:395)
    ServiceWorkerJobTest.RegisterNewScript (../../content/browser/service_worker/service_worker_job_unittest.cc:317)
    ServiceWorkerJobTest.RemoveControlleeDuringRejectedInstall (../../content/browser/service_worker/service_worker_job_unittest.cc:1514)
    ServiceWorkerJobTest.Unregister (../../content/browser/service_worker/service_worker_job_unittest.cc:293)
    ServiceWorkerJobTest.UnregisterWaitingSetsRedundant (../../content/browser/service_worker/service_worker_job_unittest.cc:645)
    ServiceWorkerJobTest.Update_BumpLastUpdateCheckTime (../../content/browser/service_worker/service_worker_job_unittest.cc:1002)
    ServiceWorkerJobTest.Update_NoChange (../../content/browser/service_worker/service_worker_job_unittest.cc:964)
    ServiceWorkerJobTest.Update_ScriptUrlChanged (../../content/browser/service_worker/service_worker_job_unittest.cc:1143)

    ServiceWorkerStallInStoppingTest.DetachThenRestart (../../content/browser/service_worker/service_worker_version_unittest.cc:1051)
    ServiceWorkerStallInStoppingTest.DetachThenStart (../../content/browser/service_worker/service_worker_version_unittest.cc:1003)
So, tests which I have to fix are the following:
- ServiceWorkerJobTest
- ServiceWorkerHandleTest
- ServiceWorkerContextTest
- ServiceWorkerStallInStoppingTest
- ServiceWorkerContextRecoveryTest

Project Member

Comment 21 by bugdroid1@chromium.org, Oct 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/34d1b0c8709f5533ef22ba843f49fa94bf5fa6dd

commit 34d1b0c8709f5533ef22ba843f49fa94bf5fa6dd
Author: shimazu <shimazu@chromium.org>
Date: Tue Oct 18 16:00:08 2016

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

Review-Url: https://codereview.chromium.org/2313653002
Cr-Commit-Position: refs/heads/master@{#425978}

[modify] https://crrev.com/34d1b0c8709f5533ef22ba843f49fa94bf5fa6dd/content/browser/service_worker/embedded_worker_instance.cc
[modify] https://crrev.com/34d1b0c8709f5533ef22ba843f49fa94bf5fa6dd/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/34d1b0c8709f5533ef22ba843f49fa94bf5fa6dd/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/34d1b0c8709f5533ef22ba843f49fa94bf5fa6dd/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/34d1b0c8709f5533ef22ba843f49fa94bf5fa6dd/content/common/service_worker/embedded_worker.mojom
[modify] https://crrev.com/34d1b0c8709f5533ef22ba843f49fa94bf5fa6dd/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
[modify] https://crrev.com/34d1b0c8709f5533ef22ba843f49fa94bf5fa6dd/content/renderer/service_worker/embedded_worker_instance_client_impl.h
[modify] https://crrev.com/34d1b0c8709f5533ef22ba843f49fa94bf5fa6dd/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/34d1b0c8709f5533ef22ba843f49fa94bf5fa6dd/content/renderer/service_worker/service_worker_context_client.h

Project Member

Comment 22 by bugdroid1@chromium.org, Oct 19 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5ec0988476e186dff4c97085f331b481a71c0a3d

commit 5ec0988476e186dff4c97085f331b481a71c0a3d
Author: shimazu <shimazu@chromium.org>
Date: Wed Oct 19 04:09:24 2016

Mojofy unittests: ServiceWorkerHandleTest

This patch mojofies ServiceWorkerHandleTest by using MojoServiceWorkerTestP.

BUG=629701
TEST=./out/Debug/content_unittests -f --gtest_filter="ServiceWorkerHandleTest*"

Review-Url: https://chromiumcodereview.appspot.com/2425943002
Cr-Commit-Position: refs/heads/master@{#426130}

[modify] https://crrev.com/5ec0988476e186dff4c97085f331b481a71c0a3d/content/browser/service_worker/service_worker_handle_unittest.cc

Project Member

Comment 24 by bugdroid1@chromium.org, Oct 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cc7bbd0f860eff108cc992153ef6fc56ed22cc8b

commit cc7bbd0f860eff108cc992153ef6fc56ed22cc8b
Author: shimazu <shimazu@chromium.org>
Date: Thu Oct 20 03:47:48 2016

Mojofy unittests: ServiceWorkerVersionTest

This patch mojofies five unittests:
 - ServiceWorkerVersionTest
 - ServiceWorkerFailToStartTest
 - ServiceWorkerNavigationHintUMATest
 - ServiceWorkerStallInStoppingTest
 - ServiceWorkerVersionWithMojoTest

In this patch, InterfaceProvider/InterfaceRegistry are initialized at
StartWorker when enabling mojo for the service workers.

BUG=629701

TEST=./out/Debug/content_unittests -f --gtest_filter="ServiceWorkerStallInStoppingTest*"
TEST=./out/Debug/content_unittests -f --gtest_filter="ServiceWorkerNavigationHintUMATest*"
TEST=./out/Debug/content_unittests -f --gtest_filter="ServiceWorkerFailToStartTest*"
TEST=./out/Debug/content_unittests -f --gtest_filter="ServiceWorkerVersion*"

Review-Url: https://chromiumcodereview.appspot.com/2434583002
Cr-Commit-Position: refs/heads/master@{#426394}

[modify] https://crrev.com/cc7bbd0f860eff108cc992153ef6fc56ed22cc8b/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/cc7bbd0f860eff108cc992153ef6fc56ed22cc8b/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/cc7bbd0f860eff108cc992153ef6fc56ed22cc8b/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/cc7bbd0f860eff108cc992153ef6fc56ed22cc8b/content/browser/service_worker/service_worker_version_unittest.cc

Project Member

Comment 25 by bugdroid1@chromium.org, Oct 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b524cec853ee39350abf72e2829727d7f9ddde07

commit b524cec853ee39350abf72e2829727d7f9ddde07
Author: shimazu <shimazu@chromium.org>
Date: Thu Oct 20 09:47:26 2016

Mojofy unittests: ServiceWorkerContextTest

This patch wraps SWContextTest by MojoServiceWorkerTestP with fixing some
expectations related to IPCs. This also mojofies SWContextRecoveryTest which
already used the parameterized test.

BUG=629701
TEST=./out/Debug/content_unittests -f --gtest_filter="ServiceWorkerContextRecoveryTest/*"
TEST=./out/Debug/content_unittests -f --gtest_filter="ServiceWorkerContextTest/*"

Review-Url: https://chromiumcodereview.appspot.com/2432083002
Cr-Commit-Position: refs/heads/master@{#426436}

[modify] https://crrev.com/b524cec853ee39350abf72e2829727d7f9ddde07/content/browser/service_worker/service_worker_context_unittest.cc

Project Member

Comment 26 by bugdroid1@chromium.org, Oct 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9516b05c82cd62b522f23d3a773578d0aff33716

commit 9516b05c82cd62b522f23d3a773578d0aff33716
Author: shimazu <shimazu@chromium.org>
Date: Thu Oct 20 10:07:20 2016

Mojofy unittests related to service workers

This patch mojofies all of browser-side unittests which didn't fail with
--mojo-service-worker flag.

BUG=629701

Review-Url: https://chromiumcodereview.appspot.com/2431313003
Cr-Commit-Position: refs/heads/master@{#426440}

[modify] https://crrev.com/9516b05c82cd62b522f23d3a773578d0aff33716/content/browser/service_worker/link_header_support_unittest.cc
[modify] https://crrev.com/9516b05c82cd62b522f23d3a773578d0aff33716/content/browser/service_worker/service_worker_cache_writer_unittest.cc
[modify] https://crrev.com/9516b05c82cd62b522f23d3a773578d0aff33716/content/browser/service_worker/service_worker_context_core.h
[modify] https://crrev.com/9516b05c82cd62b522f23d3a773578d0aff33716/content/browser/service_worker/service_worker_context_core_unittest.cc
[modify] https://crrev.com/9516b05c82cd62b522f23d3a773578d0aff33716/content/browser/service_worker/service_worker_context_request_handler_unittest.cc
[modify] https://crrev.com/9516b05c82cd62b522f23d3a773578d0aff33716/content/browser/service_worker/service_worker_controllee_request_handler_unittest.cc
[modify] https://crrev.com/9516b05c82cd62b522f23d3a773578d0aff33716/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/9516b05c82cd62b522f23d3a773578d0aff33716/content/browser/service_worker/service_worker_process_manager.h
[modify] https://crrev.com/9516b05c82cd62b522f23d3a773578d0aff33716/content/browser/service_worker/service_worker_process_manager_unittest.cc
[modify] https://crrev.com/9516b05c82cd62b522f23d3a773578d0aff33716/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/9516b05c82cd62b522f23d3a773578d0aff33716/content/browser/service_worker/service_worker_read_from_cache_job_unittest.cc
[modify] https://crrev.com/9516b05c82cd62b522f23d3a773578d0aff33716/content/browser/service_worker/service_worker_registration_unittest.cc
[modify] https://crrev.com/9516b05c82cd62b522f23d3a773578d0aff33716/content/browser/service_worker/service_worker_request_handler_unittest.cc
[modify] https://crrev.com/9516b05c82cd62b522f23d3a773578d0aff33716/content/browser/service_worker/service_worker_storage_unittest.cc
[modify] https://crrev.com/9516b05c82cd62b522f23d3a773578d0aff33716/content/browser/service_worker/service_worker_url_request_job_unittest.cc
[modify] https://crrev.com/9516b05c82cd62b522f23d3a773578d0aff33716/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/9516b05c82cd62b522f23d3a773578d0aff33716/content/browser/service_worker/service_worker_write_to_cache_job.h
[modify] https://crrev.com/9516b05c82cd62b522f23d3a773578d0aff33716/content/browser/service_worker/service_worker_write_to_cache_job_unittest.cc

Project Member

Comment 27 by bugdroid1@chromium.org, Oct 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/391fa63bcefd25b35addf678356828dded5ae71e

commit 391fa63bcefd25b35addf678356828dded5ae71e
Author: shimazu <shimazu@chromium.org>
Date: Mon Oct 24 04:14:52 2016

Use the serviceworker with mojo by default

This patch changes --mojo-service-worker to --disable-mojo-service-worker.
Let's try mojo for the service worker.

BUG=629701

Review-Url: https://codereview.chromium.org/2436223004
Cr-Commit-Position: refs/heads/master@{#427013}

[modify] https://crrev.com/391fa63bcefd25b35addf678356828dded5ae71e/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/391fa63bcefd25b35addf678356828dded5ae71e/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/391fa63bcefd25b35addf678356828dded5ae71e/content/browser/service_worker/service_worker_browsertest.cc
[modify] https://crrev.com/391fa63bcefd25b35addf678356828dded5ae71e/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/391fa63bcefd25b35addf678356828dded5ae71e/content/browser/service_worker/service_worker_test_utils.h
[modify] https://crrev.com/391fa63bcefd25b35addf678356828dded5ae71e/content/common/service_worker/service_worker_utils.cc
[modify] https://crrev.com/391fa63bcefd25b35addf678356828dded5ae71e/content/public/common/content_switches.cc
[modify] https://crrev.com/391fa63bcefd25b35addf678356828dded5ae71e/content/public/common/content_switches.h
[modify] https://crrev.com/391fa63bcefd25b35addf678356828dded5ae71e/third_party/WebKit/LayoutTests/FlagExpectations/enable-browser-side-navigation
[modify] https://crrev.com/391fa63bcefd25b35addf678356828dded5ae71e/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/391fa63bcefd25b35addf678356828dded5ae71e/third_party/WebKit/LayoutTests/VirtualTestSuites
[add] https://crrev.com/391fa63bcefd25b35addf678356828dded5ae71e/third_party/WebKit/LayoutTests/virtual/disable-mojo-service-worker/http/tests/serviceworker/README.txt
[delete] https://crrev.com/d4e68c5f890d3d0d6b112cec8158b965b9d64b2a/third_party/WebKit/LayoutTests/virtual/mojo-service-worker/http/tests/serviceworker/README.txt

For mojofication of SWDispatcher, I checked the IPCs received at SWDispatcher.
--
OnAssociateRegistration
OnDisassociateRegistration
OnRegistered
OnUpdated 
OnUnregistered
OnDidGetRegistration
OnDidGetRegistrations
OnDidGetRegistrationForReady
OnRegistrationError
OnUpdateError
OnUnregistrationError
OnGetRegistrationError
OnGetRegistrationsError
OnServiceWorkerStateChanged
OnSetVersionAttributes
OnUpdateFound
OnSetControllerServiceWorker
OnPostMessage
--

Most of IPCs are responses to a message which is sent to SWDispatcherHost, and I think OnAssociateRegistration, OnDisassociateRegistration, OnSetControllerServiceWorker, OnPostMessage can be handled by ServiceWorkerProviderContext.

Thus, I'm planning to mojofy as the following five steps:

1. Mojofy all IPCs received by SWDispatcherHost and convert response messages to mojo callbacks.
2. Create an new mojo interface for SWProviderContext (mojom::SWProviderContext) and pass it at OnProviderCreated.
3. Mojofy OnAssociate/OnDeassociateRegistration.
4. Mojofy OnPostMessage/OnSetControllerServiceWorker with creating a connection between ServiceWorkerProviderContext and WebServiceWorkerProviderClient at WebServiceWorkerProviderImpl::setClient.
5. Remove ServiceWorkerDispatcher
Project Member

Comment 29 by bugdroid1@chromium.org, Oct 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cd13e5fd2bc139909075578e71483e0069246eab

commit cd13e5fd2bc139909075578e71483e0069246eab
Author: dmazzoni <dmazzoni@chromium.org>
Date: Mon Oct 24 16:46:03 2016

Revert of Use the serviceworker with mojo by default (patchset #2 id:20001 of https://codereview.chromium.org/2436223004/ )

Reason for revert:
I think this is causing InstallableManagerBrowserTest.CheckManifest404 to crash, see http://crbug.com/658702

Original issue's description:
> Use the serviceworker with mojo by default
>
> This patch changes --mojo-service-worker to --disable-mojo-service-worker.
> Let's try mojo for the service worker.
>
> BUG=629701
>
> Committed: https://crrev.com/391fa63bcefd25b35addf678356828dded5ae71e
> Cr-Commit-Position: refs/heads/master@{#427013}

TBR=horo@chromium.org,avi@chromium.org,shimazu@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=629701

Review-Url: https://codereview.chromium.org/2443983002
Cr-Commit-Position: refs/heads/master@{#427088}

[modify] https://crrev.com/cd13e5fd2bc139909075578e71483e0069246eab/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/cd13e5fd2bc139909075578e71483e0069246eab/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/cd13e5fd2bc139909075578e71483e0069246eab/content/browser/service_worker/service_worker_browsertest.cc
[modify] https://crrev.com/cd13e5fd2bc139909075578e71483e0069246eab/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/cd13e5fd2bc139909075578e71483e0069246eab/content/browser/service_worker/service_worker_test_utils.h
[modify] https://crrev.com/cd13e5fd2bc139909075578e71483e0069246eab/content/common/service_worker/service_worker_utils.cc
[modify] https://crrev.com/cd13e5fd2bc139909075578e71483e0069246eab/content/public/common/content_switches.cc
[modify] https://crrev.com/cd13e5fd2bc139909075578e71483e0069246eab/content/public/common/content_switches.h
[modify] https://crrev.com/cd13e5fd2bc139909075578e71483e0069246eab/third_party/WebKit/LayoutTests/FlagExpectations/enable-browser-side-navigation
[modify] https://crrev.com/cd13e5fd2bc139909075578e71483e0069246eab/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/cd13e5fd2bc139909075578e71483e0069246eab/third_party/WebKit/LayoutTests/VirtualTestSuites
[delete] https://crrev.com/be53ae39cda6d82febe7c2f26a3e9d46b11a40a9/third_party/WebKit/LayoutTests/virtual/disable-mojo-service-worker/http/tests/serviceworker/README.txt
[add] https://crrev.com/cd13e5fd2bc139909075578e71483e0069246eab/third_party/WebKit/LayoutTests/virtual/mojo-service-worker/http/tests/serviceworker/README.txt

Project Member

Comment 30 by bugdroid1@chromium.org, Oct 27 2016

Labels: merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ab56f249ec0733898a9db6b89391b7c3d9a30ae2

commit ab56f249ec0733898a9db6b89391b7c3d9a30ae2
Author: shimazu <shimazu@chromium.org>
Date: Thu Oct 06 06:29:48 2016

Reland of ServiceWorker: Added --mojo-service-worker to the browser tests (patchset #1 id:1 of https://codereview.chromium.org/2380723002/ )

Reason for revert:
A revert of https://codereview.chromium.org/2227593002 is reverted.

Original issue's description:
> Revert of ServiceWorker: Added --mojo-service-worker to the browser tests (patchset #2 id:20001 of https://codereview.chromium.org/2357543002/ )
>
> Reason for revert:
> Revert so a revert of https://codereview.chromium.org/2227593002 will compile.
>
> Original issue's description:
> > ServiceWorker: Added --mojo-service-worker to the browser tests
> >
> > In this patch, all browser tests are changed to IN_PROC_BROWSER_TEST_P
> > to use the parameterized tests for flipping the flag.
> >
> > BUG=629701
> >
> > Committed: https://crrev.com/baa9cb520b6ee800f7633fb966474bf12325b8d9
> > Cr-Commit-Position: refs/heads/master@{#421462}
>
> TBR=horo@chromium.org,shimazu@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=629701
>
> Committed: https://crrev.com/9fad885c354ebf046e9506f85391cf4585991c05
> Cr-Commit-Position: refs/heads/master@{#421518}

TBR=horo@chromium.org,jwd@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=629701

Review-Url: https://codereview.chromium.org/2397523004
Cr-Commit-Position: refs/heads/master@{#423452}

[modify] https://crrev.com/ab56f249ec0733898a9db6b89391b7c3d9a30ae2/content/browser/service_worker/service_worker_browsertest.cc

I got a comment below from rockot@, and I found we cannot use AssociatedInterfacePtr bound with the Channel's associated group on the worker thread.

> You cannot use Channel-associated interfaces outside of the main thread or IO thread. Due to internal complexity which would result otherwise, we currently have no intention of supporting this use case.

And now I took a look at the IPCs sent to SWDH again to check which IPCs should be kept the ordering.
The following six IPCs are one-way (no reply) messages.

- ServiceWorkerHostMsg_ProviderCreated/Destroyed
- ServiceWorkerHostMsg_IncrementServiceWorkerRefCount/Decrement...
- ServiceWorkerHostMsg_IncrementRegistrationRefCount/Decrement...
- ServiceWorkerHostMsg_SetVersionId

ProviderCreated/Destroyed, SetVersionId are sent from the main thread, so it can be sent by using the AssociatedInterfacePtr.
The ref-counting IPCs could be problem. I'm now investigating what will happen if these objects are implemented by InterfacePtr.

Comment 32 by dimu@google.com, Nov 4 2016

Labels: -merge-merged-2840
[Automated comment] removing mislabelled merge-merged-2840
Project Member

Comment 33 by bugdroid1@chromium.org, Nov 7 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ef99d7eed80406364245a2e3999fb8ab4a25b773

commit ef99d7eed80406364245a2e3999fb8ab4a25b773
Author: shimazu <shimazu@chromium.org>
Date: Mon Nov 07 06:48:15 2016

Reland of Use the serviceworker with mojo by default (patchset #1 id:1 of https://codereview.chromium.org/2443983002/ )

Reason for revert:
Hopefully fixed the issue on https://crbug.com/658702.

It was a flaky bug, so let's keep our eyes open for the flakiness dashboard for several days.

Original issue's description:
> Revert of Use the serviceworker with mojo by default (patchset #2 id:20001 of https://codereview.chromium.org/2436223004/ )
>
> Reason for revert:
> I think this is causing InstallableManagerBrowserTest.CheckManifest404 to crash, see http://crbug.com/658702
>
> Original issue's description:
> > Use the serviceworker with mojo by default
> >
> > This patch changes --mojo-service-worker to --disable-mojo-service-worker.
> > Let's try mojo for the service worker.
> >
> > BUG=629701
> >
> > Committed: https://crrev.com/391fa63bcefd25b35addf678356828dded5ae71e
> > Cr-Commit-Position: refs/heads/master@{#427013}
>
> TBR=horo@chromium.org,avi@chromium.org,shimazu@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=629701
>
> Committed: https://crrev.com/cd13e5fd2bc139909075578e71483e0069246eab
> Cr-Commit-Position: refs/heads/master@{#427088}

TBR=horo@chromium.org,avi@chromium.org,dmazzoni@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=629701

Review-Url: https://codereview.chromium.org/2477223002
Cr-Commit-Position: refs/heads/master@{#430226}

[modify] https://crrev.com/ef99d7eed80406364245a2e3999fb8ab4a25b773/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/ef99d7eed80406364245a2e3999fb8ab4a25b773/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/ef99d7eed80406364245a2e3999fb8ab4a25b773/content/browser/service_worker/service_worker_browsertest.cc
[modify] https://crrev.com/ef99d7eed80406364245a2e3999fb8ab4a25b773/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/ef99d7eed80406364245a2e3999fb8ab4a25b773/content/browser/service_worker/service_worker_test_utils.h
[modify] https://crrev.com/ef99d7eed80406364245a2e3999fb8ab4a25b773/content/common/service_worker/service_worker_utils.cc
[modify] https://crrev.com/ef99d7eed80406364245a2e3999fb8ab4a25b773/content/public/common/content_switches.cc
[modify] https://crrev.com/ef99d7eed80406364245a2e3999fb8ab4a25b773/content/public/common/content_switches.h
[modify] https://crrev.com/ef99d7eed80406364245a2e3999fb8ab4a25b773/third_party/WebKit/LayoutTests/FlagExpectations/enable-browser-side-navigation
[modify] https://crrev.com/ef99d7eed80406364245a2e3999fb8ab4a25b773/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/ef99d7eed80406364245a2e3999fb8ab4a25b773/third_party/WebKit/LayoutTests/VirtualTestSuites
[add] https://crrev.com/ef99d7eed80406364245a2e3999fb8ab4a25b773/third_party/WebKit/LayoutTests/virtual/disable-mojo-service-worker/http/tests/serviceworker/README.txt
[delete] https://crrev.com/6ff44039ad107d09e4abd791dbb2d61358657600/third_party/WebKit/LayoutTests/virtual/mojo-service-worker/http/tests/serviceworker/README.txt

Project Member

Comment 34 by bugdroid1@chromium.org, Nov 7 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/50a6b9b249519219b36dbd45e39034546741c04c

commit 50a6b9b249519219b36dbd45e39034546741c04c
Author: shimazu <shimazu@chromium.org>
Date: Mon Nov 07 11:14:05 2016

Append 'disable-' to pathes in mojo-service-worker in LeakExpectations

https://crrev.com/2477223002 looks causing leaks because I forgot to change the
path in LeakExpectations. This is a patch following up the change.

BUG=506754,629701
TBR=horo

Review-Url: https://codereview.chromium.org/2481143002
Cr-Commit-Position: refs/heads/master@{#430250}

[modify] https://crrev.com/50a6b9b249519219b36dbd45e39034546741c04c/third_party/WebKit/LayoutTests/LeakExpectations

Project Member

Comment 35 by bugdroid1@chromium.org, Nov 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6545fae393ddfb4d2adbb685b1442cb90f6c7ff8

commit 6545fae393ddfb4d2adbb685b1442cb90f6c7ff8
Author: shimazu <shimazu@chromium.org>
Date: Wed Nov 09 05:21:21 2016

Fix a failing service worker startup test to work with mojo IPC

MessageReceiverDisallowStart currently simulates a Stopped IPC via chromium IPC when
StartMode is set to FAIL though mojo is enabled. This patch changes the behavior
to resetting a MockEmbeddedWorkerInstanceClient. This triggers a mojo error
handler and ServiceWorkerVersion will go to the stop sequence.

BUG=629701

Review-Url: https://codereview.chromium.org/2485053002
Cr-Commit-Position: refs/heads/master@{#430870}

[modify] https://crrev.com/6545fae393ddfb4d2adbb685b1442cb90f6c7ff8/content/browser/service_worker/service_worker_version_unittest.cc

Project Member

Comment 38 by bugdroid1@chromium.org, Dec 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b0aeab4ccafc6cb37e3f16a2dd4f214f9b56dda3

commit b0aeab4ccafc6cb37e3f16a2dd4f214f9b56dda3
Author: leon.han <leon.han@intel.com>
Date: Fri Dec 09 04:17:15 2016

[ServiceWorker] Mojofy extendable message event.

This CL converts extendable message event IPCs into mojo interface:
  ServiceWorkerMsg_ExtendableMessageEvent
  ServiceWorkerHostMsg_ExtendableMessageEventFinished

BUG=629701
TEST=content_unittests

Review-Url: https://codereview.chromium.org/2534403002
Cr-Commit-Position: refs/heads/master@{#437462}

[modify] https://crrev.com/b0aeab4ccafc6cb37e3f16a2dd4f214f9b56dda3/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/b0aeab4ccafc6cb37e3f16a2dd4f214f9b56dda3/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/b0aeab4ccafc6cb37e3f16a2dd4f214f9b56dda3/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/b0aeab4ccafc6cb37e3f16a2dd4f214f9b56dda3/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/b0aeab4ccafc6cb37e3f16a2dd4f214f9b56dda3/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/b0aeab4ccafc6cb37e3f16a2dd4f214f9b56dda3/content/common/service_worker/service_worker_event_dispatcher.mojom
[modify] https://crrev.com/b0aeab4ccafc6cb37e3f16a2dd4f214f9b56dda3/content/common/service_worker/service_worker_event_dispatcher.typemap
[modify] https://crrev.com/b0aeab4ccafc6cb37e3f16a2dd4f214f9b56dda3/content/common/service_worker/service_worker_messages.h
[modify] https://crrev.com/b0aeab4ccafc6cb37e3f16a2dd4f214f9b56dda3/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/b0aeab4ccafc6cb37e3f16a2dd4f214f9b56dda3/content/renderer/service_worker/service_worker_context_client.h

Project Member

Comment 39 by bugdroid1@chromium.org, Dec 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/35842853527f50a04662a6dfe2c3cd1b10cf5915

commit 35842853527f50a04662a6dfe2c3cd1b10cf5915
Author: xiaofeng.zhang <xiaofeng.zhang@intel.com>
Date: Tue Dec 20 07:51:01 2016

[ServiceWorker] Mojofy PushEvent of Service Worker.

This CL converts push event IPCs into mojo interface:
  ServiceWorkerMsg_PushEvent
  ServiceWorkerHostMsg_PushEventFinished

BUG=629701
TEST=content_unittests

Review-Url: https://codereview.chromium.org/2569993002
Cr-Commit-Position: refs/heads/master@{#439739}

[modify] https://crrev.com/35842853527f50a04662a6dfe2c3cd1b10cf5915/AUTHORS
[modify] https://crrev.com/35842853527f50a04662a6dfe2c3cd1b10cf5915/content/browser/push_messaging/push_messaging_router.cc
[modify] https://crrev.com/35842853527f50a04662a6dfe2c3cd1b10cf5915/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/35842853527f50a04662a6dfe2c3cd1b10cf5915/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/35842853527f50a04662a6dfe2c3cd1b10cf5915/content/common/service_worker/service_worker_event_dispatcher.mojom
[modify] https://crrev.com/35842853527f50a04662a6dfe2c3cd1b10cf5915/content/common/service_worker/service_worker_event_dispatcher.typemap
[modify] https://crrev.com/35842853527f50a04662a6dfe2c3cd1b10cf5915/content/common/service_worker/service_worker_messages.h
[modify] https://crrev.com/35842853527f50a04662a6dfe2c3cd1b10cf5915/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/35842853527f50a04662a6dfe2c3cd1b10cf5915/content/renderer/service_worker/service_worker_context_client.h

Project Member

Comment 40 by bugdroid1@chromium.org, Dec 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/af96c9a9e8d491929f32f2e693fd61fd1b93557d

commit af96c9a9e8d491929f32f2e693fd61fd1b93557d
Author: falken <falken@chromium.org>
Date: Thu Dec 22 07:48:03 2016

service worker: Attempt to send WorkerStopped before ProviderDestroyed.

Previously in IPC when a worker stops, the renderer sends the browser a
WorkerStopped message followed by a ProviderDestroyed message. This
ordering got reversed in https://crrev.com/6ea839368fd4dbf, causing an
unexpected case where a ServiceWorkerProviderHost is destroyed,
releasing a ServiceWorkerVersion before OnStopped can be invoked on it.
This patch returns to the previous ordering.

However even with this patch, for Mojo the ordering is still not
guaranteed, since the pipes are different. Since the IPC land is no
longer the default, the real fix is to figure out how to do this in
Mojo. This patch is just a mitigation, so no tests are added yet.

BUG=629701,676526

Review-Url: https://codereview.chromium.org/2596153002
Cr-Commit-Position: refs/heads/master@{#440356}

[modify] https://crrev.com/af96c9a9e8d491929f32f2e693fd61fd1b93557d/content/renderer/service_worker/embedded_worker_dispatcher.cc
[modify] https://crrev.com/af96c9a9e8d491929f32f2e693fd61fd1b93557d/content/renderer/service_worker/embedded_worker_instance_client_impl.cc

Project Member

Comment 41 by bugdroid1@chromium.org, Dec 26 2016

Labels: merge-merged-2924
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a0e0b3cc4d1a3318da54a62f84274919583fd3cb

commit a0e0b3cc4d1a3318da54a62f84274919583fd3cb
Author: Matt Falkenhagen <falken@chromium.org>
Date: Mon Dec 26 04:03:26 2016

(M56) service worker: Attempt to send WorkerStopped before ProviderDestroyed.

Previously in IPC when a worker stops, the renderer sends the browser a
WorkerStopped message followed by a ProviderDestroyed message. This
ordering got reversed in https://crrev.com/6ea839368fd4dbf, causing an
unexpected case where a ServiceWorkerProviderHost is destroyed,
releasing a ServiceWorkerVersion before OnStopped can be invoked on it.
This patch returns to the previous ordering.

However even with this patch, for Mojo the ordering is still not
guaranteed, since the pipes are different. Since the IPC land is no
longer the default, the real fix is to figure out how to do this in
Mojo. This patch is just a mitigation, so no tests are added yet.

BUG=629701,676526

Review-Url: https://codereview.chromium.org/2596153002
Cr-Commit-Position: refs/heads/master@{#440356}
(cherry picked from commit af96c9a9e8d491929f32f2e693fd61fd1b93557d)

Review-Url: https://codereview.chromium.org/2605593002 .
Cr-Commit-Position: refs/branch-heads/2924@{#618}
Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059}

[modify] https://crrev.com/a0e0b3cc4d1a3318da54a62f84274919583fd3cb/content/renderer/service_worker/embedded_worker_dispatcher.cc
[modify] https://crrev.com/a0e0b3cc4d1a3318da54a62f84274919583fd3cb/content/renderer/service_worker/embedded_worker_instance_client_impl.cc

Project Member

Comment 42 by bugdroid1@chromium.org, Dec 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/024112aedb31806f7c825e3591f6be1ec7474aa9

commit 024112aedb31806f7c825e3591f6be1ec7474aa9
Author: falken <falken@chromium.org>
Date: Mon Dec 26 05:49:28 2016

Revert of [ServiceWorker] Mojofy PushEvent of Service Worker. (patchset #3 id:40001 of https://codereview.chromium.org/2569993002/ )

Reason for revert:
Causes crashes on canary. See https://crbug.com/676984

0x5eb4a4fa	(chrome.dll + 0x000fa4fa )	base::Callback<void ,1,1>::Callback<void ,1,1>(base::Callback<void ,1,1> const &)
0x6003ec7d	(chrome.dll -service_worker_version.cc:1095 )	content::ServiceWorkerVersion::OnSimpleEventFinished(int,content::ServiceWorkerStatusCode,base::Time)
0x5ff64f33	(chrome.dll -bind_internal.h:214 )	base::internal::FunctorTraits<void ( content::ServiceWorkerVersion::*)(int,content::ServiceWorkerStatusCode,base::Time),void>::Invoke<scoped_refptr<content::ServiceWorkerVersion> const &,int const &,content::ServiceWorkerStatusCode,base::Time>(void ( content::ServiceWorkerVersion::*)(int,content::ServiceWorkerStatusCode,base::Time),scoped_refptr<content::ServiceWorkerVersion> const &,int const &,content::ServiceWorkerStatusCode &&,base::Time &&)
0x5ff50241	(chrome.dll -bind_internal.h:285 )	base::internal::InvokeHelper<0,void>::MakeItSo<void ( content::ServiceWorkerVersion::*const &)(int,blink::WebServiceWorkerEventResult,base::Time),scoped_refptr<content::ServiceWorkerVersion> const &,int,blink::WebServiceWorkerEventResult,base::Time>(void ( content::ServiceWorkerVersion::*const &)(int,blink::WebServiceWorkerEventResult,base::Time),scoped_refptr<content::ServiceWorkerVersion> const &,int &&,blink::WebServiceWorkerEventResult &&,base::Time &&)
0x5ff655a6	(chrome.dll -bind_internal.h:339 )	base::internal::Invoker<base::internal::BindState<void ( content::ServiceWorkerVersion::*)(int,content::ServiceWorkerStatusCode,base::Time),scoped_refptr<content::ServiceWorkerVersion>,int>,void >::Run(base::internal::BindStateBase *,content::ServiceWorkerStatusCode &&,base::Time &&)
0x5fbe1b09	(chrome.dll -callback.h:85 )	base::internal::RunMixin<base::Callback<void ,1,1> >::Run(filesystem::mojom::FileError,__int64)
0x5fba0984	(chrome.dll -service_worker_event_dispatcher.mojom.cc:225 )	content::mojom::ServiceWorkerEventDispatcher_DispatchPushEvent_ForwardToCallback::Accept(mojo::Message *)
0x6037605b	(chrome.dll -interface_endpoint_client.cc:336 )	mojo::InterfaceEndpointClient::HandleValidatedMessage(mojo::Message *)

Original issue's description:
> [ServiceWorker] Mojofy PushEvent of Service Worker.
>
> This CL converts push event IPCs into mojo interface:
>   ServiceWorkerMsg_PushEvent
>   ServiceWorkerHostMsg_PushEventFinished
>
> BUG=629701
> TEST=content_unittests
>
> Committed: https://crrev.com/35842853527f50a04662a6dfe2c3cd1b10cf5915
> Cr-Commit-Position: refs/heads/master@{#439739}

TBR=leon.han@intel.com,peter@chromium.org,shimazu@chromium.org,tsepez@chromium.org,xiaofeng.zhang@intel.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=629701

Review-Url: https://codereview.chromium.org/2600863002
Cr-Commit-Position: refs/heads/master@{#440693}

[modify] https://crrev.com/024112aedb31806f7c825e3591f6be1ec7474aa9/AUTHORS
[modify] https://crrev.com/024112aedb31806f7c825e3591f6be1ec7474aa9/content/browser/push_messaging/push_messaging_router.cc
[modify] https://crrev.com/024112aedb31806f7c825e3591f6be1ec7474aa9/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/024112aedb31806f7c825e3591f6be1ec7474aa9/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/024112aedb31806f7c825e3591f6be1ec7474aa9/content/common/service_worker/service_worker_event_dispatcher.mojom
[modify] https://crrev.com/024112aedb31806f7c825e3591f6be1ec7474aa9/content/common/service_worker/service_worker_event_dispatcher.typemap
[modify] https://crrev.com/024112aedb31806f7c825e3591f6be1ec7474aa9/content/common/service_worker/service_worker_messages.h
[modify] https://crrev.com/024112aedb31806f7c825e3591f6be1ec7474aa9/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/024112aedb31806f7c825e3591f6be1ec7474aa9/content/renderer/service_worker/service_worker_context_client.h

Project Member

Comment 43 by bugdroid1@chromium.org, Jan 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/41ba1486431391060dd80bce6b6f60ffe0a8df8e

commit 41ba1486431391060dd80bce6b6f60ffe0a8df8e
Author: shimazu <shimazu@chromium.org>
Date: Tue Jan 10 06:17:57 2017

ServiceWorker: Returns true for IsMojoForServiceWorkerEnabled

This patch:
- changes ServiceWorkerUtils::IsMojoForServiceWorkerEnabled to return always
  true instead of checking the --disable-mojo-service-worker flag (currently it
  already returns true by default)
- removes unit tests with --disable-mojo-service-worker

Layout tests will also be removed at a subsequent patch.

BUG=629701

Review-Url: https://codereview.chromium.org/2627543002
Cr-Commit-Position: refs/heads/master@{#442516}

[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/embedded_worker_registry.h
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/link_header_support_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_browsertest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_cache_writer_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_context_core.h
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_context_core_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_context_request_handler_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_controllee_request_handler_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_handle_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_process_manager.h
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_process_manager_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_provider_host_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_read_from_cache_job_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_registration_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_request_handler_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_storage_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_test_utils.h
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_url_request_job.h
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_url_request_job_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_write_to_cache_job.h
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/browser/service_worker/service_worker_write_to_cache_job_unittest.cc
[modify] https://crrev.com/41ba1486431391060dd80bce6b6f60ffe0a8df8e/content/common/service_worker/service_worker_utils.cc

Project Member

Comment 44 by bugdroid1@chromium.org, Jan 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0d91b4b25cdb0f9164ead9ad40654e08289bcc3b

commit 0d91b4b25cdb0f9164ead9ad40654e08289bcc3b
Author: shimazu <shimazu@chromium.org>
Date: Thu Jan 12 07:01:26 2017

Remove --disable-mojo-service-worker

https://crrev.com/2627543002 removes the non-mojo path. Let's remove the
non-mojo tests and the flag to run non-mojo path.

BUG=629701

Review-Url: https://codereview.chromium.org/2619883004
Cr-Commit-Position: refs/heads/master@{#443172}

[modify] https://crrev.com/0d91b4b25cdb0f9164ead9ad40654e08289bcc3b/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/0d91b4b25cdb0f9164ead9ad40654e08289bcc3b/content/public/common/content_switches.cc
[modify] https://crrev.com/0d91b4b25cdb0f9164ead9ad40654e08289bcc3b/content/public/common/content_switches.h
[modify] https://crrev.com/0d91b4b25cdb0f9164ead9ad40654e08289bcc3b/third_party/WebKit/LayoutTests/LeakExpectations
[modify] https://crrev.com/0d91b4b25cdb0f9164ead9ad40654e08289bcc3b/third_party/WebKit/LayoutTests/SlowTests
[modify] https://crrev.com/0d91b4b25cdb0f9164ead9ad40654e08289bcc3b/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/0d91b4b25cdb0f9164ead9ad40654e08289bcc3b/third_party/WebKit/LayoutTests/VirtualTestSuites
[delete] https://crrev.com/a79d034c48e720a020837f5d39ed91a8f5beef50/third_party/WebKit/LayoutTests/virtual/disable-mojo-service-worker/http/tests/serviceworker/README.txt

Project Member

Comment 45 by bugdroid1@chromium.org, Jan 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bf99a72b0c15458d6a852d70d6cfc52abf54c0a3

commit bf99a72b0c15458d6a852d70d6cfc52abf54c0a3
Author: shimazu <shimazu@chromium.org>
Date: Fri Jan 13 02:11:31 2017

Reland of [ServiceWorker] Mojofy PushEvent of Service Worker. (patchset #1 id:1 of https://codereview.chromium.org/2600863002/ )

Reason for revert:
Fixed the root cause of the crash.
https://crrev.com/64efa56e5bb67106cea0eb4033b866d9217d8324

Original issue's description:
> Revert of [ServiceWorker] Mojofy PushEvent of Service Worker. (patchset #3 id:40001 of https://codereview.chromium.org/2569993002/ )
>
> Reason for revert:
> Causes crashes on canary. See https://crbug.com/676984
>
> 0x5eb4a4fa	(chrome.dll + 0x000fa4fa )	base::Callback<void ,1,1>::Callback<void ,1,1>(base::Callback<void ,1,1> const &)
> 0x6003ec7d	(chrome.dll -service_worker_version.cc:1095 )	content::ServiceWorkerVersion::OnSimpleEventFinished(int,content::ServiceWorkerStatusCode,base::Time)
> 0x5ff64f33	(chrome.dll -bind_internal.h:214 )	base::internal::FunctorTraits<void ( content::ServiceWorkerVersion::*)(int,content::ServiceWorkerStatusCode,base::Time),void>::Invoke<scoped_refptr<content::ServiceWorkerVersion> const &,int const &,content::ServiceWorkerStatusCode,base::Time>(void ( content::ServiceWorkerVersion::*)(int,content::ServiceWorkerStatusCode,base::Time),scoped_refptr<content::ServiceWorkerVersion> const &,int const &,content::ServiceWorkerStatusCode &&,base::Time &&)
> 0x5ff50241	(chrome.dll -bind_internal.h:285 )	base::internal::InvokeHelper<0,void>::MakeItSo<void ( content::ServiceWorkerVersion::*const &)(int,blink::WebServiceWorkerEventResult,base::Time),scoped_refptr<content::ServiceWorkerVersion> const &,int,blink::WebServiceWorkerEventResult,base::Time>(void ( content::ServiceWorkerVersion::*const &)(int,blink::WebServiceWorkerEventResult,base::Time),scoped_refptr<content::ServiceWorkerVersion> const &,int &&,blink::WebServiceWorkerEventResult &&,base::Time &&)
> 0x5ff655a6	(chrome.dll -bind_internal.h:339 )	base::internal::Invoker<base::internal::BindState<void ( content::ServiceWorkerVersion::*)(int,content::ServiceWorkerStatusCode,base::Time),scoped_refptr<content::ServiceWorkerVersion>,int>,void >::Run(base::internal::BindStateBase *,content::ServiceWorkerStatusCode &&,base::Time &&)
> 0x5fbe1b09	(chrome.dll -callback.h:85 )	base::internal::RunMixin<base::Callback<void ,1,1> >::Run(filesystem::mojom::FileError,__int64)
> 0x5fba0984	(chrome.dll -service_worker_event_dispatcher.mojom.cc:225 )	content::mojom::ServiceWorkerEventDispatcher_DispatchPushEvent_ForwardToCallback::Accept(mojo::Message *)
> 0x6037605b	(chrome.dll -interface_endpoint_client.cc:336 )	mojo::InterfaceEndpointClient::HandleValidatedMessage(mojo::Message *)
>
> Original issue's description:
> > [ServiceWorker] Mojofy PushEvent of Service Worker.
> >
> > This CL converts push event IPCs into mojo interface:
> >   ServiceWorkerMsg_PushEvent
> >   ServiceWorkerHostMsg_PushEventFinished
> >
> > BUG=629701
> > TEST=content_unittests
> >
> > Committed: https://crrev.com/35842853527f50a04662a6dfe2c3cd1b10cf5915
> > Cr-Commit-Position: refs/heads/master@{#439739}
>
> TBR=leon.han@intel.com,peter@chromium.org,shimazu@chromium.org,tsepez@chromium.org,xiaofeng.zhang@intel.com
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=629701
>
> Committed: https://crrev.com/024112aedb31806f7c825e3591f6be1ec7474aa9
> Cr-Commit-Position: refs/heads/master@{#440693}

TBR=leon.han@intel.com,peter@chromium.org,tsepez@chromium.org,xiaofeng.zhang@intel.com,falken@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=629701

Review-Url: https://codereview.chromium.org/2620333003
Cr-Commit-Position: refs/heads/master@{#443462}

[modify] https://crrev.com/bf99a72b0c15458d6a852d70d6cfc52abf54c0a3/content/browser/push_messaging/push_messaging_router.cc
[modify] https://crrev.com/bf99a72b0c15458d6a852d70d6cfc52abf54c0a3/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/bf99a72b0c15458d6a852d70d6cfc52abf54c0a3/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/bf99a72b0c15458d6a852d70d6cfc52abf54c0a3/content/common/service_worker/service_worker_event_dispatcher.mojom
[modify] https://crrev.com/bf99a72b0c15458d6a852d70d6cfc52abf54c0a3/content/common/service_worker/service_worker_event_dispatcher.typemap
[modify] https://crrev.com/bf99a72b0c15458d6a852d70d6cfc52abf54c0a3/content/common/service_worker/service_worker_messages.h
[modify] https://crrev.com/bf99a72b0c15458d6a852d70d6cfc52abf54c0a3/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/bf99a72b0c15458d6a852d70d6cfc52abf54c0a3/content/renderer/service_worker/service_worker_context_client.h

Project Member

Comment 46 by bugdroid1@chromium.org, Jan 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/271c0525253b60dba0d09d8142cf3706217bea6f

commit 271c0525253b60dba0d09d8142cf3706217bea6f
Author: shimazu <shimazu@chromium.org>
Date: Wed Jan 18 02:57:04 2017

ServiceWorker: remove EmbeddedWorkerMsg_StartWorker

A clean up patch after --disable-mojo-service-worker flag has been removed.
This patch removes the StartWorker message and also EmbeddedWorkerSetup
interface which is used only for setting up the mojo interfaces when StartWorker
message has been sent via the legacy IPC.

BUG=629701

Review-Url: https://codereview.chromium.org/2637743002
Cr-Commit-Position: refs/heads/master@{#444253}

[modify] https://crrev.com/271c0525253b60dba0d09d8142cf3706217bea6f/content/browser/service_worker/embedded_worker_instance.cc
[modify] https://crrev.com/271c0525253b60dba0d09d8142cf3706217bea6f/content/browser/service_worker/embedded_worker_instance.h
[modify] https://crrev.com/271c0525253b60dba0d09d8142cf3706217bea6f/content/browser/service_worker/embedded_worker_registry.cc
[modify] https://crrev.com/271c0525253b60dba0d09d8142cf3706217bea6f/content/browser/service_worker/embedded_worker_registry.h
[modify] https://crrev.com/271c0525253b60dba0d09d8142cf3706217bea6f/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/271c0525253b60dba0d09d8142cf3706217bea6f/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/271c0525253b60dba0d09d8142cf3706217bea6f/content/common/BUILD.gn
[modify] https://crrev.com/271c0525253b60dba0d09d8142cf3706217bea6f/content/common/service_worker/embedded_worker_messages.h
[delete] https://crrev.com/441df0543f6f4029f73068dec974d4dac47f6a1f/content/common/service_worker/embedded_worker_setup.mojom
[modify] https://crrev.com/271c0525253b60dba0d09d8142cf3706217bea6f/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/271c0525253b60dba0d09d8142cf3706217bea6f/content/renderer/service_worker/embedded_worker_dispatcher.cc
[modify] https://crrev.com/271c0525253b60dba0d09d8142cf3706217bea6f/content/renderer/service_worker/embedded_worker_dispatcher.h
[modify] https://crrev.com/271c0525253b60dba0d09d8142cf3706217bea6f/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/271c0525253b60dba0d09d8142cf3706217bea6f/content/renderer/service_worker/service_worker_context_client.h

Project Member

Comment 47 by bugdroid1@chromium.org, Jan 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5d804c8487702e7a56e7b6f8370a0d10a756df6c

commit 5d804c8487702e7a56e7b6f8370a0d10a756df6c
Author: shimazu <shimazu@chromium.org>
Date: Wed Jan 18 06:47:01 2017

ServiceWorker: mojofy ResumeAfterDownload and AddMessageToConsole

This patch mojofies the following two messages:
 - EmbeddedWorkerMsg_ResumeAfterDownload
 - EmbeddedWorkerMsg_AddMessageToConsole

EmbeddedWorkerDispatcher still holds the WorkerWrapper for StopWorker.
I'm planning to remove EWDispatcher when removing the StopWorker message.

BUG=629701

Review-Url: https://codereview.chromium.org/2630273002
Cr-Commit-Position: refs/heads/master@{#444296}

[modify] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/content/browser/service_worker/embedded_worker_instance.cc
[modify] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/content/browser/service_worker/embedded_worker_instance.h
[modify] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/content/browser/service_worker/service_worker_write_to_cache_job.cc
[modify] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/content/common/service_worker/embedded_worker.mojom
[modify] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/content/common/service_worker/embedded_worker_messages.h
[modify] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/content/renderer/service_worker/embedded_worker_dispatcher.cc
[modify] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/content/renderer/service_worker/embedded_worker_dispatcher.h
[modify] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
[modify] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/content/renderer/service_worker/embedded_worker_instance_client_impl.h
[modify] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/third_party/WebKit/public/BUILD.gn
[modify] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/third_party/WebKit/public/public_typemaps.gni
[add] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/third_party/WebKit/public/web/ConsoleMessageStructTraits.cpp
[add] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/third_party/WebKit/public/web/ConsoleMessageStructTraits.h
[add] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/third_party/WebKit/public/web/console_message.mojom
[add] https://crrev.com/5d804c8487702e7a56e7b6f8370a0d10a756df6c/third_party/WebKit/public/web/console_message.typemap

Project Member

Comment 48 by bugdroid1@chromium.org, Feb 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/64975bc58e6b041ade1cfe2edb431896548845f3

commit 64975bc58e6b041ade1cfe2edb431896548845f3
Author: xiaofeng.zhang <xiaofeng.zhang@intel.com>
Date: Sun Feb 19 04:58:17 2017

[ServiceWorker] Mojofy ActivateEvent of Service Worker

This patch mojofies the following two messages:
  ServiceWorkerMsg_ActivateEvent
  ServiceWorkerHostMsg_ActivateEventFinished

BUG=629701
TEST=content_unittests

Review-Url: https://codereview.chromium.org/2678733002
Cr-Commit-Position: refs/heads/master@{#451513}

[modify] https://crrev.com/64975bc58e6b041ade1cfe2edb431896548845f3/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/64975bc58e6b041ade1cfe2edb431896548845f3/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/64975bc58e6b041ade1cfe2edb431896548845f3/content/browser/service_worker/service_worker_browsertest.cc
[modify] https://crrev.com/64975bc58e6b041ade1cfe2edb431896548845f3/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/64975bc58e6b041ade1cfe2edb431896548845f3/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/64975bc58e6b041ade1cfe2edb431896548845f3/content/browser/service_worker/service_worker_registration.cc
[modify] https://crrev.com/64975bc58e6b041ade1cfe2edb431896548845f3/content/common/service_worker/service_worker_event_dispatcher.mojom
[modify] https://crrev.com/64975bc58e6b041ade1cfe2edb431896548845f3/content/common/service_worker/service_worker_messages.h
[modify] https://crrev.com/64975bc58e6b041ade1cfe2edb431896548845f3/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/64975bc58e6b041ade1cfe2edb431896548845f3/content/renderer/service_worker/service_worker_context_client.h

Project Member

Comment 49 by bugdroid1@chromium.org, Feb 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3b85dfb581ef764c8a02dbd803f54d0bbab1f318

commit 3b85dfb581ef764c8a02dbd803f54d0bbab1f318
Author: shimazu <shimazu@chromium.org>
Date: Tue Feb 21 13:03:30 2017

Manage ServiceWorkerDispatcherHost in ServiceWorkerContextCore

ServiceWorkerProviders for the service workers currently have the mesasge
ordering issue between ProviderDestroyed and WorkerStopped. Associating the
message pipes correctly will fix that. I'm planning to bind the
ServiceWorkerProvider interfaces with the channel's pipe for pages and with
the EmbeddedWorkerInstanceClient's pipe for service workers.

This is the first patch to introduce the associated provider hosts.
This patch
 - adds ServiceWorkerProviderHostInfo to send the params to SWDispatcherHost
 - manages SWDispatcherHost in SWContextCore
 - creates SWProviderHost by SWProviderHostInfo
 - removes three legacy IPC messages
   - ServiceWorkerHostMsg_ProviderCreated
   - ServiceWorkerHostMsg_ProviderDestroyed
   - ServiceWorkerHostMsg_SetVersionId

BUG=668633, 676983, 629701

Review-Url: https://codereview.chromium.org/2638313002
Cr-Commit-Position: refs/heads/master@{#451745}

[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/embedded_worker_registry.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/embedded_worker_registry.h
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/foreign_fetch_request_handler_unittest.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/link_header_support_unittest.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_browsertest.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_context_core.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_context_core.h
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_context_request_handler_unittest.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_controllee_request_handler_unittest.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_dispatcher_host.h
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_handle_unittest.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_provider_host_unittest.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_registration_unittest.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_request_handler_unittest.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_storage_unittest.cc
[add] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_test_utils.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_test_utils.h
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_url_request_job_unittest.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/browser/service_worker/service_worker_write_to_cache_job_unittest.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/child/service_worker/service_worker_network_provider.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/child/service_worker/service_worker_network_provider.h
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/common/BUILD.gn
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/common/service_worker/OWNERS
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/common/service_worker/service_worker.mojom
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/common/service_worker/service_worker_messages.h
[add] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/common/service_worker/service_worker_provider.mojom
[add] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/common/service_worker/service_worker_provider.typemap
[add] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/common/service_worker/service_worker_provider_host_info.cc
[add] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/common/service_worker/service_worker_provider_host_info.h
[add] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/common/service_worker/service_worker_provider_struct_traits.cc
[add] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/common/service_worker/service_worker_provider_struct_traits.h
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/common/service_worker/service_worker_types.typemap
[add] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/common/service_worker/service_worker_types_struct_traits.cc
[rename] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/common/service_worker/service_worker_types_struct_traits.h
[delete] https://crrev.com/c183eaa3876b03b16c2c84e3dfb3b87b63071a5b/content/common/service_worker/service_worker_types_traits.cc
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/common/typemaps.gni
[modify] https://crrev.com/3b85dfb581ef764c8a02dbd803f54d0bbab1f318/content/test/BUILD.gn

Project Member

Comment 50 by bugdroid1@chromium.org, Mar 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/23f6a12fc807abff832a75e21d7d8df3f12e9949

commit 23f6a12fc807abff832a75e21d7d8df3f12e9949
Author: leon.han <leon.han@intel.com>
Date: Wed Mar 22 23:34:47 2017

[ServiceWorker] Convert ping-pong IPC into mojo interface ServiceWorkerEventDispatcher

This CL converts the following 2 IPCs
between ServiceWorkerVersion and ServiceWorkerContextClient
into the mojo interface ServiceWorkerEventDispatcher.
  ServiceWorkerMsg_Ping
  ServiceWorkerHostMsg_Pong

BUG=629701

Review-Url: https://codereview.chromium.org/2763453002
Cr-Commit-Position: refs/heads/master@{#458931}

[modify] https://crrev.com/23f6a12fc807abff832a75e21d7d8df3f12e9949/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/23f6a12fc807abff832a75e21d7d8df3f12e9949/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/23f6a12fc807abff832a75e21d7d8df3f12e9949/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/23f6a12fc807abff832a75e21d7d8df3f12e9949/content/common/service_worker/service_worker_event_dispatcher.mojom
[modify] https://crrev.com/23f6a12fc807abff832a75e21d7d8df3f12e9949/content/common/service_worker/service_worker_messages.h
[modify] https://crrev.com/23f6a12fc807abff832a75e21d7d8df3f12e9949/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/23f6a12fc807abff832a75e21d7d8df3f12e9949/content/renderer/service_worker/service_worker_context_client.h

Project Member

Comment 51 by bugdroid1@chromium.org, Mar 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/29783ad5a5cbc0569d4a5578c82feca23223a621

commit 29783ad5a5cbc0569d4a5578c82feca23223a621
Author: leon.han <leon.han@intel.com>
Date: Thu Mar 30 13:42:35 2017

[ServiceWorker] Remove useless ServiceWorkerVersion::DispatchSimpleEvent().

As all simple events have been converted into mojo interface
ServiceWorkerEventDispatcher, now there are no codes using
ServiceWorkerVersion::DispatchSimpleEvent(), so this CL removes it
completely.
No other code behavior change.

BUG=629701
TBR=tsepez@chromium.org
for adding comment into service_worker_event_dispatcher.mojom

Review-Url: https://codereview.chromium.org/2779093003
Cr-Commit-Position: refs/heads/master@{#460744}

[modify] https://crrev.com/29783ad5a5cbc0569d4a5578c82feca23223a621/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/29783ad5a5cbc0569d4a5578c82feca23223a621/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/29783ad5a5cbc0569d4a5578c82feca23223a621/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/29783ad5a5cbc0569d4a5578c82feca23223a621/content/common/service_worker/service_worker_event_dispatcher.mojom

Project Member

Comment 52 by bugdroid1@chromium.org, Apr 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7a57143828b914abad790775f41ea97255ae9c11

commit 7a57143828b914abad790775f41ea97255ae9c11
Author: leon.han <leon.han@intel.com>
Date: Sun Apr 16 03:25:00 2017

[ServiceWorker] Add EmbeddedWorkerInstanceHost Interface.

This CL converts these IPCs
  EmbeddedWorkerHostMsg_WorkerReadyForInspection
  EmbeddedWorkerHostMsg_WorkerScriptLoaded
  EmbeddedWorkerHostMsg_WorkerScriptLoadFailed
  EmbeddedWorkerHostMsg_WorkerScriptEvaluated
  EmbeddedWorkerHostMsg_WorkerStarted
  EmbeddedWorkerHostMsg_WorkerStopped
  EmbeddedWorkerHostMsg_ReportException
  EmbeddedWorkerHostMsg_ReportConsoleMessage
  EmbeddedWorkerHostMsg_WorkerThreadStarted
into mojo interface EmbeddedWorkerInstanceHost, and associate it with
existing interface EmbeddedWorkerInstanceClient.

BUG=629701
TEST=content_unittests

Review-Url: https://codereview.chromium.org/2787883003
Cr-Commit-Position: refs/heads/master@{#464878}

[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/browser/payments/payment_app_content_unittest_base.cc
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/browser/service_worker/embedded_worker_instance.cc
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/browser/service_worker/embedded_worker_instance.h
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/browser/service_worker/embedded_worker_registry.cc
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/browser/service_worker/embedded_worker_registry.h
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/browser/service_worker/service_worker_controllee_request_handler_unittest.cc
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/browser/service_worker/service_worker_dispatcher_host.h
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/common/service_worker/embedded_worker.mojom
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/common/service_worker/embedded_worker_messages.h
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/renderer/BUILD.gn
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/renderer/render_thread_impl.h
[delete] https://crrev.com/b1b326893990633387f90546607ce8271d151a3a/content/renderer/service_worker/embedded_worker_dispatcher.cc
[delete] https://crrev.com/b1b326893990633387f90546607ce8271d151a3a/content/renderer/service_worker/embedded_worker_dispatcher.h
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/renderer/service_worker/embedded_worker_instance_client_impl.h
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/7a57143828b914abad790775f41ea97255ae9c11/content/renderer/service_worker/service_worker_context_client.h

Project Member

Comment 53 by bugdroid1@chromium.org, May 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aeae396182b48115df4170d4e6e61aea9b2e7416

commit aeae396182b48115df4170d4e6e61aea9b2e7416
Author: xiaofeng.zhang <xiaofeng.zhang@intel.com>
Date: Tue May 02 03:16:06 2017

[ServiceWorker] Mojofy InstallEvent of Service Worker

This CL converts install event IPCs into mojo interface:
  ServiceWorkerMsg_InstallEvent
  ServiceWorkerHostMsg_InstallEventFinished

Also add an associated interface for the ForeignFetchRegistration,
so that this event be sent on the same message pipe as the service
worker event dispatcher interface, so that we can guarantee the
delivery order of foreign fetch register calls and event dispatcher
interface callbacks.

Also add the test cases for the associated interface.

BUG=629701
TEST=content_unittests

Review-Url: https://codereview.chromium.org/2746783002
Cr-Commit-Position: refs/heads/master@{#468544}

[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/content/browser/service_worker/service_worker_browsertest.cc
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/content/browser/service_worker/service_worker_register_job.cc
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/content/browser/service_worker/service_worker_register_job.h
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/content/common/service_worker/service_worker_event_dispatcher.mojom
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/content/common/service_worker/service_worker_messages.h
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/content/renderer/service_worker/service_worker_context_client.h
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/third_party/WebKit/Source/modules/serviceworkers/InstallEvent.cpp
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/third_party/WebKit/Source/modules/serviceworkers/InstallEvent.h
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerGlobalScopeClient.h
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeClientImpl.cpp
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeClientImpl.h
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/third_party/WebKit/Source/web/WebEmbeddedWorkerImplTest.cpp
[modify] https://crrev.com/aeae396182b48115df4170d4e6e61aea9b2e7416/third_party/WebKit/public/web/modules/serviceworker/WebServiceWorkerContextClient.h

Project Member

Comment 54 by bugdroid1@chromium.org, May 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/28307e4e66a5ed3bef0c6dde62995a0fd8625799

commit 28307e4e66a5ed3bef0c6dde62995a0fd8625799
Author: Makoto Shimazu <shimazu@chromium.org>
Date: Mon May 29 07:46:33 2017

Reland of ServiceWorker: Keep info as a member of ServiceWorkerProviderHost (patchset #3 id:40001 of https://codereview.chromium.org/2891903002/ )

The reason of failure was that info_.is_parent_frame_secure was not inherited on
SWProviderHost::CompleteCrossSiteTransfer. This patch is to reland the original
patch with the fix to ensure all of the parameters in
ServiceWorkerProviderHostInfo are passed from the provisional host after cross
site transferring by moving |info_|.

This reverts commit e296b2b02fe6997bd09faca1b4efb86f3158c90e.

Bug: 725416, 629701
Change-Id: I2e81e539a67e4f70c14c6b260be22c07171c29e8
Reviewed-on: https://chromium-review.googlesource.com/517603
Commit-Queue: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#475307}
[modify] https://crrev.com/28307e4e66a5ed3bef0c6dde62995a0fd8625799/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/28307e4e66a5ed3bef0c6dde62995a0fd8625799/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/28307e4e66a5ed3bef0c6dde62995a0fd8625799/content/browser/service_worker/service_worker_provider_host_unittest.cc
[modify] https://crrev.com/28307e4e66a5ed3bef0c6dde62995a0fd8625799/content/browser/service_worker/service_worker_test_utils.cc
[modify] https://crrev.com/28307e4e66a5ed3bef0c6dde62995a0fd8625799/content/common/service_worker/service_worker_provider_host_info.cc
[modify] https://crrev.com/28307e4e66a5ed3bef0c6dde62995a0fd8625799/content/common/service_worker/service_worker_provider_host_info.h

Project Member

Comment 55 by bugdroid1@chromium.org, May 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f5d5e10ae336f7618c7afe8cce1aa17b9d123dc8

commit f5d5e10ae336f7618c7afe8cce1aa17b9d123dc8
Author: Guido Urdaneta <guidou@chromium.org>
Date: Mon May 29 14:01:54 2017

Revert "Reland of ServiceWorker: Keep info as a member of ServiceWorkerProviderHost (patchset #3 id:40001 of https://codereview.chromium.org/2891903002/ )"

This reverts commit 28307e4e66a5ed3bef0c6dde62995a0fd8625799.

Reason for revert:
Speculative revert. 
This might be the cause of a reliable failure on Win7 Tests (dbg)(1) bot.
First failure:
https://uberchromegw.corp.google.com/i/chromium.win/builders/Win7%20Tests%20%28dbg%29%281%29/builds/60374

It has failed six times since.

Will reland if the revert does not work.


Original change's description:
> Reland of ServiceWorker: Keep info as a member of ServiceWorkerProviderHost (patchset #3 id:40001 of https://codereview.chromium.org/2891903002/ )
> 
> The reason of failure was that info_.is_parent_frame_secure was not inherited on
> SWProviderHost::CompleteCrossSiteTransfer. This patch is to reland the original
> patch with the fix to ensure all of the parameters in
> ServiceWorkerProviderHostInfo are passed from the provisional host after cross
> site transferring by moving |info_|.
> 
> This reverts commit e296b2b02fe6997bd09faca1b4efb86f3158c90e.
> 
> Bug: 725416, 629701
> Change-Id: I2e81e539a67e4f70c14c6b260be22c07171c29e8
> Reviewed-on: https://chromium-review.googlesource.com/517603
> Commit-Queue: Makoto Shimazu <shimazu@chromium.org>
> Reviewed-by: Matt Falkenhagen <falken@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#475307}

TBR=falken@chromium.org,shimazu@chromium.org
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 725416, 629701

Change-Id: I43991278bb3729c08c3d8e09100ce78eb7f76099
Reviewed-on: https://chromium-review.googlesource.com/517487
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#475343}
[modify] https://crrev.com/f5d5e10ae336f7618c7afe8cce1aa17b9d123dc8/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/f5d5e10ae336f7618c7afe8cce1aa17b9d123dc8/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/f5d5e10ae336f7618c7afe8cce1aa17b9d123dc8/content/browser/service_worker/service_worker_provider_host_unittest.cc
[modify] https://crrev.com/f5d5e10ae336f7618c7afe8cce1aa17b9d123dc8/content/browser/service_worker/service_worker_test_utils.cc
[modify] https://crrev.com/f5d5e10ae336f7618c7afe8cce1aa17b9d123dc8/content/common/service_worker/service_worker_provider_host_info.cc
[modify] https://crrev.com/f5d5e10ae336f7618c7afe8cce1aa17b9d123dc8/content/common/service_worker/service_worker_provider_host_info.h

Project Member

Comment 56 by bugdroid1@chromium.org, May 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1f329a33828547c2a8d08cf10089283ef75fa702

commit 1f329a33828547c2a8d08cf10089283ef75fa702
Author: Guido Urdaneta <guidou@chromium.org>
Date: Mon May 29 18:43:31 2017

Revert "Revert "Reland of ServiceWorker: Keep info as a member of ServiceWorkerProviderHost (patchset #3 id:40001 of https://codereview.chromium.org/2891903002/ )""

This reverts commit f5d5e10ae336f7618c7afe8cce1aa17b9d123dc8.

Reason for revert: The revert was speculative, and it apparently worked in the run after it landed on a bot that was failing reliably. But on a second run, the bot failed again, so the revert did not actually fix the problem.

Original change's description:
> Revert "Reland of ServiceWorker: Keep info as a member of ServiceWorkerProviderHost (patchset #3 id:40001 of https://codereview.chromium.org/2891903002/ )"
> 
> This reverts commit 28307e4e66a5ed3bef0c6dde62995a0fd8625799.
> 
> Reason for revert:
> Speculative revert. 
> This might be the cause of a reliable failure on Win7 Tests (dbg)(1) bot.
> First failure:
> https://uberchromegw.corp.google.com/i/chromium.win/builders/Win7%20Tests%20%28dbg%29%281%29/builds/60374
> 
> It has failed six times since.
> 
> Will reland if the revert does not work.
> 
> 
> Original change's description:
> > Reland of ServiceWorker: Keep info as a member of ServiceWorkerProviderHost (patchset #3 id:40001 of https://codereview.chromium.org/2891903002/ )
> > 
> > The reason of failure was that info_.is_parent_frame_secure was not inherited on
> > SWProviderHost::CompleteCrossSiteTransfer. This patch is to reland the original
> > patch with the fix to ensure all of the parameters in
> > ServiceWorkerProviderHostInfo are passed from the provisional host after cross
> > site transferring by moving |info_|.
> > 
> > This reverts commit e296b2b02fe6997bd09faca1b4efb86f3158c90e.
> > 
> > Bug: 725416, 629701
> > Change-Id: I2e81e539a67e4f70c14c6b260be22c07171c29e8
> > Reviewed-on: https://chromium-review.googlesource.com/517603
> > Commit-Queue: Makoto Shimazu <shimazu@chromium.org>
> > Reviewed-by: Matt Falkenhagen <falken@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#475307}
> 
> TBR=falken@chromium.org,shimazu@chromium.org
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 725416, 629701
> 
> Change-Id: I43991278bb3729c08c3d8e09100ce78eb7f76099
> Reviewed-on: https://chromium-review.googlesource.com/517487
> Reviewed-by: Guido Urdaneta <guidou@chromium.org>
> Commit-Queue: Guido Urdaneta <guidou@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#475343}

TBR=falken@chromium.org,jam@chromium.org,michaeln@chromium.org,nhiroki@chromium.org,shimazu@chromium.org,guidou@chromium.org,chromium-reviews@chromium.org,tzik@chromium.org
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 725416, 629701

Change-Id: I4fafcc0cedc6188f835231c3b4fe8159a1f05d62
Reviewed-on: https://chromium-review.googlesource.com/517492
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#475367}
[modify] https://crrev.com/1f329a33828547c2a8d08cf10089283ef75fa702/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/1f329a33828547c2a8d08cf10089283ef75fa702/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/1f329a33828547c2a8d08cf10089283ef75fa702/content/browser/service_worker/service_worker_provider_host_unittest.cc
[modify] https://crrev.com/1f329a33828547c2a8d08cf10089283ef75fa702/content/browser/service_worker/service_worker_test_utils.cc
[modify] https://crrev.com/1f329a33828547c2a8d08cf10089283ef75fa702/content/common/service_worker/service_worker_provider_host_info.cc
[modify] https://crrev.com/1f329a33828547c2a8d08cf10089283ef75fa702/content/common/service_worker/service_worker_provider_host_info.h

Project Member

Comment 57 by bugdroid1@chromium.org, May 31 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4223216d2fa2a111c5e0636017bb6766682adda9

commit 4223216d2fa2a111c5e0636017bb6766682adda9
Author: shimazu <shimazu@chromium.org>
Date: Wed May 31 05:16:11 2017

Add two interfaces for ServiceWorkerProviderContext/ProviderHost

This patch introduces two mojom types: ServiceWorkerProviderHost and
ServiceWorkerProvider. They are currently used for managing the lifetime of
ServiceWorkerProviderHost from the renderer, but these interfaces will have
methods managing registrations, registration associated by the document and
controller.
These interfaces are now associated with SWDispatcherHost which is already bound
with the channel. After crrev.com/2779763004, interfaces for worker's context
will be associated with EWInstanceClient. This will solve the ordering issue
between messages of Stopped and ProviderDestroyed.

BUG=629701,676983,668633

Review-Url: https://codereview.chromium.org/2653493009
Cr-Commit-Position: refs/heads/master@{#475809}

[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/foreign_fetch_request_handler_unittest.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/link_header_support_unittest.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_browsertest.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_context_request_handler_unittest.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_controllee_request_handler_unittest.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_dispatcher_host.h
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_handle_unittest.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_navigation_handle_core.h
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_provider_host_unittest.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_registration_unittest.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_request_handler_unittest.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_storage_unittest.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_test_utils.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_test_utils.h
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_url_request_job_unittest.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/browser/service_worker/service_worker_write_to_cache_job_unittest.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/child/service_worker/service_worker_dispatcher_unittest.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/child/service_worker/service_worker_network_provider.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/child/service_worker/service_worker_network_provider.h
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/child/service_worker/service_worker_provider_context.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/child/service_worker/service_worker_provider_context.h
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/common/BUILD.gn
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/common/service_worker/service_worker.mojom
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/common/service_worker/service_worker_provider.mojom
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/common/service_worker/service_worker_provider_host_info.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/common/service_worker/service_worker_provider_host_info.h
[add] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/common/service_worker/service_worker_provider_interfaces.mojom
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/common/service_worker/service_worker_provider_struct_traits.cc
[modify] https://crrev.com/4223216d2fa2a111c5e0636017bb6766682adda9/content/common/service_worker/service_worker_provider_struct_traits.h

Project Member

Comment 58 by bugdroid1@chromium.org, Jun 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9d04d4a29a4f488d74e04bdc3133db1b72262462

commit 9d04d4a29a4f488d74e04bdc3133db1b72262462
Author: Makoto Shimazu <shimazu@chromium.org>
Date: Wed Jun 07 01:23:34 2017

Fix LinkHeaderServiceWorkerTest to get the id from the provider host

This patch fixes LinkHeaderServiceWorkerTest to create the request for testing
with provider_id set to the provider host. This is necessary for browser-side
creation of ServiceWorkerProviderHost (https://crrev.com/2779763004) because ids
for providers for controllers are assigned on the browser side after it's
implemented.

R=falken@chromium.org

BUG: 629701, 676983, 668633
Change-Id: Icdb3ac3da094db97ba355026249afe3c4a7ff1de
Reviewed-on: https://chromium-review.googlesource.com/523683
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Commit-Queue: Makoto Shimazu <shimazu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#477503}
[modify] https://crrev.com/9d04d4a29a4f488d74e04bdc3133db1b72262462/content/browser/service_worker/link_header_support_unittest.cc

Project Member

Comment 59 by bugdroid1@chromium.org, Jun 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/387a6b29a641d6721774f860c25fe85c47f821c0

commit 387a6b29a641d6721774f860c25fe85c47f821c0
Author: shimazu <shimazu@chromium.org>
Date: Mon Jun 12 07:09:12 2017

ServiceWorker: use the id assigned to the provider host in unittests

In several tests, currently provider's id is assigned to a variable which is
initialized by some random value at the beginning of the test, the provider host
instance is created by using the id, and some other objects are also initialized
by the id. After browser-side SWProviderHost creation, it'll be problematic
because the id will be assigned internally. This patch is to fix the tests by
getting the id from ServiceWorkerProviderHost::provider_id() directly.

This is split off from https://crrev.com/2779763004/ .

BUG=629701, 676983, 668633

Review-Url: https://codereview.chromium.org/2932273002
Cr-Commit-Position: refs/heads/master@{#478560}

[modify] https://crrev.com/387a6b29a641d6721774f860c25fe85c47f821c0/content/browser/service_worker/foreign_fetch_request_handler_unittest.cc
[modify] https://crrev.com/387a6b29a641d6721774f860c25fe85c47f821c0/content/browser/service_worker/service_worker_registration_unittest.cc
[modify] https://crrev.com/387a6b29a641d6721774f860c25fe85c47f821c0/content/browser/service_worker/service_worker_write_to_cache_job_unittest.cc

Project Member

Comment 60 by bugdroid1@chromium.org, Jun 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4f172ae8bad230163d337b8b07c9969232dc1d0d

commit 4f172ae8bad230163d337b8b07c9969232dc1d0d
Author: shimazu <shimazu@chromium.org>
Date: Mon Jun 12 10:15:39 2017

ServiceWorker: keep dispatcher hosts for unittests in the test helper

Currently tests which have their mock dispatcher hosts remove the dispatcher
host only from SWContextCore but not from the test helper. This patch is to fix
that so that tests will have only one appropriate dispatcher host at the same
time.

This is split off from https://crrev.com/2779763004/ .

BUG=629701, 676983, 668633

Review-Url: https://codereview.chromium.org/2933793002
Cr-Commit-Position: refs/heads/master@{#478578}

[modify] https://crrev.com/4f172ae8bad230163d337b8b07c9969232dc1d0d/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/4f172ae8bad230163d337b8b07c9969232dc1d0d/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/4f172ae8bad230163d337b8b07c9969232dc1d0d/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/4f172ae8bad230163d337b8b07c9969232dc1d0d/content/browser/service_worker/service_worker_handle_unittest.cc
[modify] https://crrev.com/4f172ae8bad230163d337b8b07c9969232dc1d0d/content/browser/service_worker/service_worker_version_unittest.cc

Project Member

Comment 61 by bugdroid1@chromium.org, Jun 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f

commit 1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f
Author: shimazu <shimazu@chromium.org>
Date: Thu Jun 22 01:21:29 2017

Create ServiceWorkerProviderHost before starting worker

Currently ServiceWorkerProviderHost for a service worker's context is bound with
the corresponing provider on the hosted worker when ProviderCreated and
SetHostedVersion messages are getting back after sending the StartWorker
message. This patch is to removes the round trip.
This patch changes the procedure of creating the SWProviderHost like the following.

1: Create a mock provider host when ServiceWorkerVersion::StartWorker is called.
2: Complete the rest of initialization for the provider host before sending
StartWorker message at ServiceWorkerProviderHost::CompleteStartWorkerPreparation.
3: Send the infomation about the provider host to the renderer as an argument of
EmbeddedWorkerInstanceClient::StartWorker.
4: Create ServiceWorkerNetworkProvider on the renderer when
ServiceWorkerContextClient is constructed.

This patch also sovles a weird ordering issue between ProviderDestroyed and
SetHostedVersion, and between OnStopped and ProviderDestroyed.

BUG=629701,676983,668633
NOPRESUBMIT=true

Review-Url: https://codereview.chromium.org/2779763004
Cr-Commit-Position: refs/heads/master@{#481391}

[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/background_sync/background_sync_manager_unittest.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/bad_message.h
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/payments/payment_app_content_unittest_base.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/embedded_worker_instance.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/embedded_worker_instance.h
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/foreign_fetch_request_handler_unittest.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/link_header_support_unittest.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/service_worker_context_request_handler_unittest.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/service_worker_dispatcher_host.h
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/service_worker_registration.h
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/service_worker_registration_handle.h
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/service_worker_registration_unittest.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/service_worker_test_utils.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/service_worker_test_utils.h
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/service_worker_url_request_job_unittest.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/browser/service_worker/service_worker_write_to_cache_job_unittest.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/child/service_worker/service_worker_dispatcher.h
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/child/service_worker/service_worker_network_provider.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/child/service_worker/service_worker_network_provider.h
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/common/service_worker/embedded_worker.mojom
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/common/service_worker/service_worker.mojom
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/common/service_worker/service_worker_provider.mojom
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/common/service_worker/service_worker_types.h
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/common/service_worker/service_worker_types.mojom
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/common/service_worker/service_worker_types.typemap
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/renderer/service_worker/embedded_worker_instance_client_impl.h
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/content/renderer/service_worker/service_worker_context_client.h
[modify] https://crrev.com/1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f/tools/metrics/histograms/enums.xml

Remaining work is:
 a. Implement ServiceWorkerRegistration(Host)/ServiceWorker(Host) and pass them through ServiceWorkerProviderHost
 b. Implement ServiceWorkerGlobalScopeHost

I updated Interfaces: mojom section in the design doc:
https://docs.google.com/document/d/1xW-NXKmqKu7pQ0hTNz9rpdGXgNaItyonOySVigXdqPA/edit#heading=h.zf27pfzbkxr5

Comment 63 by leon....@intel.com, Jun 24 2017

Cc: xiaofeng...@intel.com leon....@intel.com
Project Member

Comment 64 by bugdroid1@chromium.org, Jun 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947

commit 6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947
Author: shimazu <shimazu@chromium.org>
Date: Tue Jun 27 12:28:59 2017

Revert "Create ServiceWorkerProviderHost before starting worker"

This reverts commit 1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f.

Reason:
This patch is reverted due to crashes.
See also the bug: https://crbug.com/736649

BUG=629701, 676983, 668633, 736649
TBR=falken@chromium.org, kinuko@chromium.org, dcheng@chromium.org

Review-Url: https://codereview.chromium.org/2958753003
Cr-Commit-Position: refs/heads/master@{#482602}

[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/background_sync/background_sync_manager_unittest.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/payments/payment_app_content_unittest_base.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/embedded_worker_instance.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/embedded_worker_instance.h
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/foreign_fetch_request_handler_unittest.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/link_header_support_unittest.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/service_worker_context_request_handler_unittest.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/service_worker_dispatcher_host.h
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/service_worker_registration.h
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/service_worker_registration_handle.h
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/service_worker_registration_unittest.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/service_worker_test_utils.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/service_worker_test_utils.h
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/service_worker_url_request_job_unittest.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/browser/service_worker/service_worker_write_to_cache_job_unittest.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/child/service_worker/service_worker_dispatcher.h
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/child/service_worker/service_worker_network_provider.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/child/service_worker/service_worker_network_provider.h
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/common/service_worker/embedded_worker.mojom
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/common/service_worker/service_worker.mojom
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/common/service_worker/service_worker_provider.mojom
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/common/service_worker/service_worker_types.h
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/common/service_worker/service_worker_types.mojom
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/common/service_worker/service_worker_types.typemap
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/renderer/service_worker/embedded_worker_instance_client_impl.h
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/6f9740cc16c7a534fe8ed8b2c6fbe05c54fa6947/content/renderer/service_worker/service_worker_context_client.h

Project Member

Comment 65 by bugdroid1@chromium.org, Jun 27 2017

Labels: merge-merged-3141
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/99262d9db8c1264f97a1727b3100167a50315494

commit 99262d9db8c1264f97a1727b3100167a50315494
Author: Makoto Shimazu <shimazu@chromium.org>
Date: Tue Jun 27 12:58:34 2017

[merge to 3141] Revert "Create ServiceWorkerProviderHost before starting worker"

This reverts commit 1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f.

Reason:
This patch is reverted due to crashes.
See also the bug: https://crbug.com/736649

BUG=629701, 676983, 668633, 736649
TBR=falken@chromium.org, kinuko@chromium.org, dcheng@chromium.org

Review-Url: https://codereview.chromium.org/2958753003
Cr-Original-Commit-Position: refs/heads/master@{#482602}
Review-Url: https://codereview.chromium.org/2961663004 .
Cr-Commit-Position: refs/branch-heads/3141@{#10}
Cr-Branched-From: 180095eb1bca7df1cdcb02547340499c2ee3af6e-refs/heads/master@{#482153}

[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/background_sync/background_sync_manager_unittest.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/payments/payment_app_content_unittest_base.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/embedded_worker_instance.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/embedded_worker_instance.h
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/foreign_fetch_request_handler_unittest.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/link_header_support_unittest.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/service_worker_context_request_handler_unittest.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/service_worker_dispatcher_host.h
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/service_worker_registration.h
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/service_worker_registration_handle.h
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/service_worker_registration_unittest.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/service_worker_test_utils.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/service_worker_test_utils.h
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/service_worker_url_request_job_unittest.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/browser/service_worker/service_worker_write_to_cache_job_unittest.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/child/service_worker/service_worker_dispatcher.h
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/child/service_worker/service_worker_network_provider.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/child/service_worker/service_worker_network_provider.h
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/common/service_worker/embedded_worker.mojom
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/common/service_worker/service_worker.mojom
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/common/service_worker/service_worker_provider.mojom
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/common/service_worker/service_worker_types.h
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/common/service_worker/service_worker_types.mojom
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/common/service_worker/service_worker_types.typemap
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/renderer/service_worker/embedded_worker_instance_client_impl.h
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/99262d9db8c1264f97a1727b3100167a50315494/content/renderer/service_worker/service_worker_context_client.h

Project Member

Comment 66 by bugdroid1@chromium.org, Jun 27 2017

Labels: merge-merged-3142
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bd596e2b1016b4eee146d6a024672cba18eb1c22

commit bd596e2b1016b4eee146d6a024672cba18eb1c22
Author: Makoto Shimazu <shimazu@chromium.org>
Date: Tue Jun 27 13:51:45 2017

[merge to 3412] Revert "Create ServiceWorkerProviderHost before starting worker"

This reverts commit 1ebf3cb1014b2c85d4520e6dcb6a11d7001bc30f.

Reason:
This patch is reverted due to crashes.
See also the bug: https://crbug.com/736649

BUG=629701, 676983, 668633, 736649
TBR=falken@chromium.org, kinuko@chromium.org, dcheng@chromium.org

Review-Url: https://codereview.chromium.org/2958753003
Cr-Original-Commit-Position: refs/heads/master@{#482602}
Review-Url: https://codereview.chromium.org/2959003002 .
Cr-Commit-Position: refs/branch-heads/3142@{#6}
Cr-Branched-From: 58a8bea874fcfa2c18749645f087d0b21b8a21a0-refs/heads/master@{#482491}

[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/background_sync/background_sync_manager_unittest.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/payments/payment_app_content_unittest_base.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/embedded_worker_instance.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/embedded_worker_instance.h
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/foreign_fetch_request_handler_unittest.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/link_header_support_unittest.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/service_worker_context_request_handler_unittest.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/service_worker_dispatcher_host.h
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/service_worker_registration.h
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/service_worker_registration_handle.h
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/service_worker_registration_unittest.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/service_worker_test_utils.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/service_worker_test_utils.h
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/service_worker_url_request_job_unittest.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/browser/service_worker/service_worker_write_to_cache_job_unittest.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/child/service_worker/service_worker_dispatcher.h
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/child/service_worker/service_worker_network_provider.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/child/service_worker/service_worker_network_provider.h
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/common/service_worker/embedded_worker.mojom
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/common/service_worker/service_worker.mojom
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/common/service_worker/service_worker_provider.mojom
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/common/service_worker/service_worker_types.h
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/common/service_worker/service_worker_types.mojom
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/common/service_worker/service_worker_types.typemap
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/renderer/service_worker/embedded_worker_instance_client_impl.h
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/bd596e2b1016b4eee146d6a024672cba18eb1c22/content/renderer/service_worker/service_worker_context_client.h

Blockedon: 738310
Project Member

Comment 68 by bugdroid1@chromium.org, Jul 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/820c6c249b597a415c1e29cb39df135f8e6741fd

commit 820c6c249b597a415c1e29cb39df135f8e6741fd
Author: Matt Falkenhagen <falken@chromium.org>
Date: Mon Jul 24 12:34:31 2017

Reland: Create ServiceWorkerProviderHost before starting worker

Reland of https://codereview.chromium.org/2779763004
Original patch from shimazu@.

Most of the diffs from the original patch are between patchset 2 and 3
but I did some complex rebasing and some cosmetic changes in between.

Bug: 629701,676983,668633
Change-Id: If06585abdb6f4d77ccc789c8961be4e5e1ff68ce
Reviewed-on: https://chromium-review.googlesource.com/564860
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#488953}
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/background_sync/background_sync_manager_unittest.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/payments/payment_app_content_unittest_base.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/embedded_worker_instance.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/embedded_worker_instance.h
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/foreign_fetch_request_handler_unittest.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/link_header_support_unittest.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/service_worker_context_request_handler_unittest.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/service_worker_dispatcher_host.h
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/service_worker_registration.h
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/service_worker_registration_handle.h
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/service_worker_registration_unittest.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/service_worker_test_utils.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/service_worker_test_utils.h
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/service_worker_url_request_job_unittest.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/browser/service_worker/service_worker_write_to_cache_job_unittest.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/child/service_worker/service_worker_dispatcher.h
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/child/service_worker/service_worker_network_provider.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/child/service_worker/service_worker_network_provider.h
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/common/service_worker/embedded_worker.mojom
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/common/service_worker/service_worker.mojom
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/common/service_worker/service_worker_provider.mojom
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/common/service_worker/service_worker_types.h
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/common/service_worker/service_worker_types.mojom
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/common/service_worker/service_worker_types.typemap
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/renderer/service_worker/embedded_worker_instance_client_impl.h
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/820c6c249b597a415c1e29cb39df135f8e6741fd/content/renderer/service_worker/service_worker_context_client.h

Comment 69 by leon....@intel.com, Aug 16 2017

Blockedon: 755836

Comment 70 by leon....@intel.com, Aug 16 2017

Blockedon: 755838
Blockedon: 755861
Project Member

Comment 72 by bugdroid1@chromium.org, Aug 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9ac34d1d710fd6dc08a7ef475616131bfb64110e

commit 9ac34d1d710fd6dc08a7ef475616131bfb64110e
Author: Kinuko Yasuda <kinuko@chromium.org>
Date: Thu Aug 17 18:56:02 2017

Always use mojo::Blob for ServiceWorker fetch handling

Deprecate legacy ServiceWorkerHostMsg_FetchEventResponse IPC, and
instead explicitly pass BlobPtr via a mojo call, which should resolve
blob life-time issue.

mojo::Blob is used only to ensure Blob lifetime and we keep using
uuid for other operations.

An additional |blob| parameter is added to
mojom::ServiceWorkerFetchResponseCallback::OnResponseBlob because
ServiceWorkerResponse.blob cannot be transferred over mojo IPC yet.
(Add a proper typemapping is left as another TODO, crbug.com/755523)

Bug: 629701, 715640
Change-Id: I393d494e33531075dd78037cc298dac454772ffc
Reviewed-on: https://chromium-review.googlesource.com/615847
Commit-Queue: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495261}
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/content/browser/BUILD.gn
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/content/browser/DEPS
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/content/browser/service_worker/service_worker_browsertest.cc
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/content/browser/service_worker/service_worker_fetch_dispatcher.cc
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/content/browser/service_worker/service_worker_fetch_dispatcher.h
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/content/browser/service_worker/service_worker_url_loader_job.cc
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/content/browser/service_worker/service_worker_url_loader_job.h
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/content/browser/service_worker/service_worker_url_request_job.cc
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/content/browser/service_worker/service_worker_url_request_job.h
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/content/common/service_worker/service_worker_event_dispatcher.mojom
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/content/common/service_worker/service_worker_messages.h
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/content/renderer/BUILD.gn
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/content/renderer/DEPS
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/storage/common/blob_storage/blob_handle.h
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/third_party/WebKit/Source/platform/BUILD.gn
[add] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/third_party/WebKit/Source/platform/exported/DEPS
[add] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/third_party/WebKit/Source/platform/exported/WebBlobRegistry.cpp
[modify] https://crrev.com/9ac34d1d710fd6dc08a7ef475616131bfb64110e/third_party/WebKit/public/platform/WebBlobRegistry.h

Project Member

Comment 73 by bugdroid1@chromium.org, Aug 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0e76d258cc729eb5715708115858b560e3391ace

commit 0e76d258cc729eb5715708115858b560e3391ace
Author: xzhan96 <xiaofeng.zhang@intel.com>
Date: Wed Aug 30 05:35:39 2017

Rename two mojo interfaces ServiceWorkerProvider/ProviderHost

ServiceWorkerProvider/ProviderHost interfaces naming is somehow confusing
what "provider" means, because both of them mainly serve for the functionality
implementations of the javascript interface ServiceWorkerContainer,
see https://w3c.github.io/ServiceWorker/#serviceworkercontainer.

This CL renames these two interfaces to ServiceWorkerContainer/ContainerHost.

BUG=755861, 629701

Change-Id: I7595d7ec4e9ea4f7db091e5c17f262c2d6150177
Reviewed-on: https://chromium-review.googlesource.com/615094
Commit-Queue: Xiaofeng Zhang <xiaofeng.zhang@intel.com>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498374}
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/browser/service_worker/service_worker_test_utils.cc
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/browser/service_worker/service_worker_test_utils.h
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/child/service_worker/service_worker_dispatcher_unittest.cc
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/child/service_worker/service_worker_network_provider.cc
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/child/service_worker/service_worker_provider_context.cc
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/child/service_worker/service_worker_provider_context.h
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/child/service_worker/service_worker_provider_context_unittest.cc
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/common/BUILD.gn
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/common/service_worker/service_worker.mojom
[add] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/common/service_worker/service_worker_container.mojom
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/common/service_worker/service_worker_provider.mojom
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/common/service_worker/service_worker_provider_host_info.cc
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/common/service_worker/service_worker_provider_host_info.h
[delete] https://crrev.com/c0785b84dfa9509aa6d4e2984ccc60b98606c930/content/common/service_worker/service_worker_provider_interfaces.mojom
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/common/service_worker/service_worker_provider_struct_traits.cc
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/common/service_worker/service_worker_provider_struct_traits.h
[modify] https://crrev.com/0e76d258cc729eb5715708115858b560e3391ace/content/renderer/service_worker/worker_fetch_context_impl.h

Comment 74 by leon....@intel.com, Sep 27 2017

Blockedon: 758151

Comment 75 by leon....@intel.com, Sep 27 2017

Blockedon: 769236
Blockedon: 772713
Blockedon: 772788
Blockedon: 772793
Blockedon: 776263
Project Member

Comment 80 by bugdroid1@chromium.org, Nov 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5d697e94c11e3e8e8bf6915dca6def3287446475

commit 5d697e94c11e3e8e8bf6915dca6def3287446475
Author: Matt Falkenhagen <falken@chromium.org>
Date: Tue Nov 28 23:05:13 2017

service worker: Onion soupify "ServiceWorkerProviderType"

* Remove content::ServiceWorkerProviderType and typemapping.
* Move content::mojom::ServiceWorkerProviderType to Blink.
* Give modern names and comments to the type.

Bug: 629701
Change-Id: Iab93d2392fdcb45b41cfbfcdd41513131f0109b8
Reviewed-on: https://chromium-review.googlesource.com/792552
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519882}
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/browser/devtools/protocol/service_worker_handler.cc
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/browser/payments/payment_app_provider_impl.cc
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/browser/service_worker/service_worker_context_core.cc
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/browser/service_worker/service_worker_context_core.h
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/browser/service_worker/service_worker_context_core_observer.h
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/browser/service_worker/service_worker_context_watcher.cc
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/browser/service_worker/service_worker_context_watcher.h
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/browser/service_worker/service_worker_info.cc
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/browser/service_worker/service_worker_info.h
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/browser/service_worker/service_worker_provider_host_unittest.cc
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/browser/service_worker/service_worker_test_utils.cc
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/common/BUILD.gn
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/common/service_worker/service_worker_container.mojom
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/common/service_worker/service_worker_messages.h
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/common/service_worker/service_worker_provider.mojom
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/common/service_worker/service_worker_provider_host_info.cc
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/common/service_worker/service_worker_provider_host_info.h
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/common/service_worker/service_worker_provider_struct_traits.cc
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/common/service_worker/service_worker_provider_struct_traits.h
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/common/service_worker/service_worker_types.h
[delete] https://crrev.com/ef69dc9abc4a9bbb1a824512adb4fe4b86e871b7/content/common/service_worker/service_worker_types.mojom
[delete] https://crrev.com/ef69dc9abc4a9bbb1a824512adb4fe4b86e871b7/content/common/service_worker/service_worker_types.typemap
[delete] https://crrev.com/ef69dc9abc4a9bbb1a824512adb4fe4b86e871b7/content/common/service_worker/service_worker_types_struct_traits.cc
[delete] https://crrev.com/ef69dc9abc4a9bbb1a824512adb4fe4b86e871b7/content/common/service_worker/service_worker_types_struct_traits.h
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/common/typemaps.gni
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/renderer/service_worker/service_worker_network_provider.cc
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/renderer/service_worker/service_worker_network_provider.h
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/renderer/service_worker/service_worker_provider_context.cc
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/renderer/service_worker/service_worker_provider_context.h
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/renderer/service_worker/service_worker_provider_context_unittest.cc
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/content/renderer/service_worker/web_service_worker_provider_impl.cc
[modify] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/third_party/WebKit/common/BUILD.gn
[add] https://crrev.com/5d697e94c11e3e8e8bf6915dca6def3287446475/third_party/WebKit/common/service_worker/service_worker_provider_type.mojom

Comment 81 by leon....@intel.com, Nov 30 2017

Blockedon: 789846
Blocking: 789857
Blockedon: -789846
Project Member

Comment 84 by bugdroid1@chromium.org, May 18 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b60d33a6102b4d78be0a4d35f17a0260b7dd7fec

commit b60d33a6102b4d78be0a4d35f17a0260b7dd7fec
Author: Han Leon <leon.han@intel.com>
Date: Fri May 18 03:39:28 2018

[ServiceWorker] Eliminate usage of ServiceWorkerDispatcher in client contexts

This CL is the 1st step of the plan below:

1)
For service worker client contexts, manage WebServiceWorkerImpls per
ServiceWorkerProviderContext, rather than managing them inside a thread
local instance of ServiceWorkerDispatcher on the renderer main thread
before. The key is still service worker handle id, which is unique to
the pair of (provider context, sw version id).
2)
For service worker global scope, manage WebServiceWorkerImpls per
ServiceWorkerContextClient, rather than by the ServiceWorkerDispatcher
on every service worker thread. The key is still service worker handle
id.
3)
Now ServiceWorkerDispatcher should be totally useless, we can eliminate
this class.
4)
Now because WebServiceWorkerImpls are managed per provider context
(sw client context or sw global scope), we no longer need the service
worker handle id to identify a specific ServiceWorker object, instead,
just service worker version id is enough. We can eliminate the concept
of service service worker handle id.

BUG=629701

Change-Id: If463f62f931e300a84d41d25cea353606a06934e
Reviewed-on: https://chromium-review.googlesource.com/1058837
Commit-Queue: Han Leon <leon.han@intel.com>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559792}
[modify] https://crrev.com/b60d33a6102b4d78be0a4d35f17a0260b7dd7fec/content/renderer/service_worker/service_worker_dispatcher.cc
[modify] https://crrev.com/b60d33a6102b4d78be0a4d35f17a0260b7dd7fec/content/renderer/service_worker/service_worker_dispatcher.h
[modify] https://crrev.com/b60d33a6102b4d78be0a4d35f17a0260b7dd7fec/content/renderer/service_worker/service_worker_network_provider.cc
[modify] https://crrev.com/b60d33a6102b4d78be0a4d35f17a0260b7dd7fec/content/renderer/service_worker/service_worker_provider_context.cc
[modify] https://crrev.com/b60d33a6102b4d78be0a4d35f17a0260b7dd7fec/content/renderer/service_worker/service_worker_provider_context.h
[modify] https://crrev.com/b60d33a6102b4d78be0a4d35f17a0260b7dd7fec/content/renderer/service_worker/service_worker_provider_context_unittest.cc
[modify] https://crrev.com/b60d33a6102b4d78be0a4d35f17a0260b7dd7fec/content/renderer/service_worker/web_service_worker_impl.cc
[modify] https://crrev.com/b60d33a6102b4d78be0a4d35f17a0260b7dd7fec/content/renderer/service_worker/web_service_worker_impl.h
[modify] https://crrev.com/b60d33a6102b4d78be0a4d35f17a0260b7dd7fec/content/renderer/service_worker/web_service_worker_provider_impl.cc
[modify] https://crrev.com/b60d33a6102b4d78be0a4d35f17a0260b7dd7fec/content/renderer/service_worker/web_service_worker_provider_impl.h
[modify] https://crrev.com/b60d33a6102b4d78be0a4d35f17a0260b7dd7fec/content/renderer/service_worker/web_service_worker_registration_impl.cc
[modify] https://crrev.com/b60d33a6102b4d78be0a4d35f17a0260b7dd7fec/content/renderer/service_worker/web_service_worker_registration_impl.h

Project Member

Comment 85 by bugdroid1@chromium.org, May 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5c46fc8a44c5c5d74b8aeb4437dc8a9d14b1d156

commit 5c46fc8a44c5c5d74b8aeb4437dc8a9d14b1d156
Author: Han Leon <leon.han@intel.com>
Date: Tue May 22 00:16:53 2018

[ServiceWorker] Eliminate ServiceWorkerDispatcher class

This CL is the {2nd,3rd} step of the plan below:

1)
https://chromium-review.googlesource.com/c/chromium/src/+/1058837
For service worker client contexts, manage WebServiceWorkerImpls per
ServiceWorkerProviderContext, rather than managing them inside a thread
local instance of ServiceWorkerDispatcher on the renderer main thread
before. The key is still service worker handle id, which is unique to
the pair of (provider context, sw version id).
2)
For service worker global scope, manage WebServiceWorkerImpls per
ServiceWorkerContextClient, rather than by the ServiceWorkerDispatcher
on every service worker thread. The key is still service worker handle
id.
3)
Now ServiceWorkerDispatcher should be totally useless, we can eliminate
this class.
4)
Now because WebServiceWorkerImpls are managed per provider context
(sw client context or sw global scope), we no longer need the service
worker handle id to identify a specific ServiceWorker object, instead,
just service worker version id is enough. We can eliminate the concept
of service service worker handle id.

BUG=629701

Change-Id: Id4a3fc3752bb178be0650c89e1d92e5e666444ee
Reviewed-on: https://chromium-review.googlesource.com/1065504
Commit-Queue: Han Leon <leon.han@intel.com>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560428}
[modify] https://crrev.com/5c46fc8a44c5c5d74b8aeb4437dc8a9d14b1d156/content/renderer/BUILD.gn
[modify] https://crrev.com/5c46fc8a44c5c5d74b8aeb4437dc8a9d14b1d156/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/5c46fc8a44c5c5d74b8aeb4437dc8a9d14b1d156/content/renderer/service_worker/service_worker_context_client.h
[modify] https://crrev.com/5c46fc8a44c5c5d74b8aeb4437dc8a9d14b1d156/content/renderer/service_worker/service_worker_context_client_unittest.cc
[delete] https://crrev.com/f42a7fdb7c4748e4316f5836a2eb3aa57c6e9494/content/renderer/service_worker/service_worker_dispatcher.cc
[delete] https://crrev.com/f42a7fdb7c4748e4316f5836a2eb3aa57c6e9494/content/renderer/service_worker/service_worker_dispatcher.h
[delete] https://crrev.com/f42a7fdb7c4748e4316f5836a2eb3aa57c6e9494/content/renderer/service_worker/service_worker_dispatcher_unittest.cc
[modify] https://crrev.com/5c46fc8a44c5c5d74b8aeb4437dc8a9d14b1d156/content/renderer/service_worker/service_worker_message_filter.cc
[modify] https://crrev.com/5c46fc8a44c5c5d74b8aeb4437dc8a9d14b1d156/content/renderer/service_worker/service_worker_network_provider.cc
[modify] https://crrev.com/5c46fc8a44c5c5d74b8aeb4437dc8a9d14b1d156/content/renderer/service_worker/service_worker_provider_context_unittest.cc
[modify] https://crrev.com/5c46fc8a44c5c5d74b8aeb4437dc8a9d14b1d156/content/renderer/service_worker/web_service_worker_impl.cc
[modify] https://crrev.com/5c46fc8a44c5c5d74b8aeb4437dc8a9d14b1d156/content/renderer/service_worker/web_service_worker_impl.h
[modify] https://crrev.com/5c46fc8a44c5c5d74b8aeb4437dc8a9d14b1d156/content/renderer/service_worker/web_service_worker_registration_impl.cc
[modify] https://crrev.com/5c46fc8a44c5c5d74b8aeb4437dc8a9d14b1d156/content/test/BUILD.gn

Great work from shimazu, leon.han, xiaofeng.zhang, and others moving everything to Mojo!

Now that everything is Mojofied, should we mark this bug as fixed, and make a new bug for the follow-up work, especially if there is a rough plan we can sketch out for the remaining work?
Project Member

Comment 87 by bugdroid1@chromium.org, May 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/71bdb416a02e126eef0916a9994ea24ee45ae7a0

commit 71bdb416a02e126eef0916a9994ea24ee45ae7a0
Author: Han Leon <leon.han@intel.com>
Date: Tue May 22 15:56:54 2018

[ServiceWorker] Eliminate blink.mojom.ServiceWorkerObjectInfo.handle_id

This CL is the 4th step of the plan below:

1)
https://chromium-review.googlesource.com/c/chromium/src/+/1058837
For service worker client contexts, manage WebServiceWorkerImpls per
ServiceWorkerProviderContext, rather than managing them inside a thread
local instance of ServiceWorkerDispatcher on the renderer main thread
before. The key is still service worker handle id, which is unique to
the pair of (provider context, sw version id).
2)
https://chromium-review.googlesource.com/c/chromium/src/+/1065504
For service worker global scope, manage WebServiceWorkerImpls per
ServiceWorkerContextClient, rather than by the ServiceWorkerDispatcher
on every service worker thread. The key is still service worker handle
id.
3)
https://chromium-review.googlesource.com/c/chromium/src/+/1065504
Now ServiceWorkerDispatcher should be totally useless, we can eliminate
this class.
4)
Now because WebServiceWorkerImpls are managed per provider context
(sw client context or sw global scope), we no longer need the service
worker handle id to identify a specific ServiceWorker object, instead,
just service worker version id is enough. We can eliminate the concept
of service service worker handle id.

BUG=629701

Change-Id: I7461aa2eb44bc6b7a7a337dd34843337a23d1c30
Reviewed-on: https://chromium-review.googlesource.com/1067248
Commit-Queue: Han Leon <leon.han@intel.com>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560613}
[modify] https://crrev.com/71bdb416a02e126eef0916a9994ea24ee45ae7a0/content/browser/service_worker/service_worker_context_core.cc
[modify] https://crrev.com/71bdb416a02e126eef0916a9994ea24ee45ae7a0/content/browser/service_worker/service_worker_context_core.h
[modify] https://crrev.com/71bdb416a02e126eef0916a9994ea24ee45ae7a0/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/71bdb416a02e126eef0916a9994ea24ee45ae7a0/content/browser/service_worker/service_worker_handle.cc
[modify] https://crrev.com/71bdb416a02e126eef0916a9994ea24ee45ae7a0/content/browser/service_worker/service_worker_handle.h
[modify] https://crrev.com/71bdb416a02e126eef0916a9994ea24ee45ae7a0/content/browser/service_worker/service_worker_handle_unittest.cc
[modify] https://crrev.com/71bdb416a02e126eef0916a9994ea24ee45ae7a0/content/common/service_worker/service_worker_container.mojom
[modify] https://crrev.com/71bdb416a02e126eef0916a9994ea24ee45ae7a0/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/71bdb416a02e126eef0916a9994ea24ee45ae7a0/content/renderer/service_worker/service_worker_context_client.h
[modify] https://crrev.com/71bdb416a02e126eef0916a9994ea24ee45ae7a0/content/renderer/service_worker/service_worker_context_client_unittest.cc
[modify] https://crrev.com/71bdb416a02e126eef0916a9994ea24ee45ae7a0/content/renderer/service_worker/service_worker_provider_context.cc
[modify] https://crrev.com/71bdb416a02e126eef0916a9994ea24ee45ae7a0/content/renderer/service_worker/service_worker_provider_context.h
[modify] https://crrev.com/71bdb416a02e126eef0916a9994ea24ee45ae7a0/content/renderer/service_worker/service_worker_provider_context_unittest.cc
[modify] https://crrev.com/71bdb416a02e126eef0916a9994ea24ee45ae7a0/content/renderer/service_worker/web_service_worker_impl.cc
[modify] https://crrev.com/71bdb416a02e126eef0916a9994ea24ee45ae7a0/content/renderer/service_worker/web_service_worker_provider_impl.cc
[modify] https://crrev.com/71bdb416a02e126eef0916a9994ea24ee45ae7a0/third_party/blink/public/mojom/service_worker/service_worker_object.mojom

Labels: -Type-Feature Type-Task
Status: Fixed (was: Started)
I think we can call this fixed as there are no more legacy IPCs.

Remaining cleanup work can be separate bugs and onion soup is at issue 789857 or issue 612285.
Re c#86 and c#88: yeah, thanks for updating it!
Project Member

Comment 90 by bugdroid1@chromium.org, Jul 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7

commit cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7
Author: Matt Falkenhagen <falken@chromium.org>
Date: Thu Jul 19 03:22:41 2018

service worker: Rename ServiceWorkerEventDispatcher -> ServiceWorker

Also expand on documentation.

Rationale:
* This interface is the counterpart of ServiceWorkerHost.
* It's the initial/master interface for the message pipe for talking to
  a service worker from the browser, that other interfaces are associated
  with. So it deserves a more important-sounding name.
* It does more than dispatch events already.
* This was apparently the original plan in
  https://docs.google.com/document/d/1FxFISiZKBH2MALypxt-aoGAbmyco-7kEMi1zMe5KrzE/edit

Bug: 629701
Change-Id: Iab5969fa60d308300b3fcd8dada4fcca1ddc18b2
Reviewed-on: https://chromium-review.googlesource.com/1142704
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576345}
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/background_fetch/background_fetch_embedded_worker_test_helper.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/background_fetch/background_fetch_embedded_worker_test_helper.h
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/background_fetch/background_fetch_event_dispatcher.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/background_sync/background_sync_manager.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/cookie_store/cookie_store_manager.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/cookie_store/cookie_store_manager_unittest.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/notifications/notification_event_dispatcher_impl.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/payments/payment_app_content_unittest_base.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/payments/payment_app_provider_impl.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/push_messaging/push_messaging_router.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/service_worker/embedded_worker_instance.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/service_worker/service_worker_browsertest.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/service_worker/service_worker_fetch_dispatcher.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/service_worker/service_worker_navigation_loader_unittest.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/service_worker/service_worker_object_host.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/service_worker/service_worker_object_host_unittest.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/service_worker/service_worker_register_job.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/service_worker/service_worker_registration.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/service_worker/service_worker_url_request_job_unittest.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/common/platform_notification_param_traits.h
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/common/service_worker/controller_service_worker.mojom
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/common/service_worker/embedded_worker.mojom
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/common/service_worker/service_worker_event_dispatcher.mojom
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/common/service_worker/service_worker_fetch_response_callback.mojom
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/renderer/service_worker/service_worker_context_client.h
[modify] https://crrev.com/cac59c6a7b05a3cf0bf579ae5cd1f0e092daaed7/content/renderer/service_worker/service_worker_context_client_unittest.cc

Project Member

Comment 91 by bugdroid1@chromium.org, Jul 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a1edde57de5f03a46f7dfacb1c2b86ae88e12132

commit a1edde57de5f03a46f7dfacb1c2b86ae88e12132
Author: Matt Falkenhagen <falken@chromium.org>
Date: Thu Jul 19 06:11:45 2018

service worker: Move service_worker.mojom to service_worker_provider.mojom.

The mojom only has the ServiceWorkerDispatcherHost interface now, which
is about service worker providers.

Preparation for moving service_worker_event_dispatcher.mojom to
service_worker.mojom. This might make the git history more sensible.

Bug: 629701
Change-Id: I89693e40ad0d4c259233fb2b805519f432b483ec
Reviewed-on: https://chromium-review.googlesource.com/1142860
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576391}
[modify] https://crrev.com/a1edde57de5f03a46f7dfacb1c2b86ae88e12132/content/browser/service_worker/service_worker_dispatcher_host.h
[modify] https://crrev.com/a1edde57de5f03a46f7dfacb1c2b86ae88e12132/content/common/BUILD.gn
[delete] https://crrev.com/dfed753411f21d5b38cf166df5537695a8c3a94b/content/common/service_worker/service_worker.mojom
[modify] https://crrev.com/a1edde57de5f03a46f7dfacb1c2b86ae88e12132/content/common/service_worker/service_worker_provider.mojom
[modify] https://crrev.com/a1edde57de5f03a46f7dfacb1c2b86ae88e12132/content/renderer/service_worker/service_worker_network_provider.h

Project Member

Comment 92 by bugdroid1@chromium.org, Jul 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab

commit 2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab
Author: Matt Falkenhagen <falken@chromium.org>
Date: Thu Jul 19 10:15:49 2018

Move service_worker_event_dispatcher.mojom to service_worker.mojom.

Follow-up to the interface name change in r576345.

TBR=kinuko

Bug: 629701
Change-Id: Ia330b4c96871b109004bc917a232c592bc75d83e
Reviewed-on: https://chromium-review.googlesource.com/1143099
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576432}
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/browser/background_fetch/background_fetch_embedded_worker_test_helper.cc
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/browser/background_fetch/background_fetch_event_dispatcher.h
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/browser/background_sync/background_sync_manager.cc
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/browser/cookie_store/cookie_store_manager_unittest.cc
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/browser/payments/payment_app_content_unittest_base.cc
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/browser/service_worker/embedded_worker_instance.h
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/browser/service_worker/service_worker_fetch_dispatcher.cc
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/browser/service_worker/service_worker_fetch_dispatcher.h
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/browser/service_worker/service_worker_navigation_loader_unittest.cc
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/browser/service_worker/service_worker_register_job.cc
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/browser/service_worker/service_worker_url_request_job.h
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/common/BUILD.gn
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/common/background_fetch/background_fetch_struct_traits.cc
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/common/service_worker/controller_service_worker.mojom
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/common/service_worker/embedded_worker.mojom
[rename] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/common/service_worker/service_worker.mojom
[rename] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/common/service_worker/service_worker.typemap
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/common/typemaps.gni
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/renderer/service_worker/service_worker_context_client.h
[modify] https://crrev.com/2f94ba205b2e99a6e1052dea0d5fdd1c65f4fbab/content/renderer/service_worker/service_worker_type_converters.h

Sign in to add a comment