New issue
Advanced search Search tips

Issue 824647 link

Starred by 8 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 3
Type: Bug

Blocked on:
issue 900045
issue 901317



Sign in to add a comment

Implement ES Modules for service workers

Project Member Reported by nhiroki@chromium.org, Mar 22 2018

Issue description

Split from issue 680046 (ES Modules for dedicated workers)

Spec (see "type" in the section):
https://w3c.github.io/ServiceWorker/#service-worker-concept
 
Cc: -nhiroki@chromium.org
Owner: nhiroki@chromium.org
Status: Assigned (was: Available)
Cc: nhiroki@chromium.org
Owner: asamidoi@google.com
Status: Started (was: Assigned)
Cc: hirosh...@chromium.org
Project Member

Comment 4 by bugdroid1@chromium.org, Sep 12

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

commit 260d4608eb584984dd073c8a2a7d4dac2a0058f6
Author: Asami Doi <asamidoi@google.com>
Date: Wed Sep 12 09:30:11 2018

ServiceWorker: Implement ES modules for ServiceWorker scripts behind
the test-only flag

This CL allows to import and evaluate as a module script at
ServiceWorker. Users can use it by adding type 'module' when
register a service worker script.

As the first step, this CL implements ES Modules for new ServiceWorker
scripts. ES Modules for installed ServiceWorker scripts will be
implemented in separate CLs. Also, this doesn't implement dynamic
import yet. This feature is enabled by the test-only flag in this CL.

i.e.
// index.html
const registration = await navigator.serviceWorker.register(
                         "service_worker.js",
                         { type: "module" });

Spec: https://w3c.github.io/ServiceWorker/#serviceworkercontainer-interface

Bug: 824647
Change-Id: I023c7ca881a90327730011699a8db879653cafdf
Reviewed-on: https://chromium-review.googlesource.com/1194809
Commit-Queue: Asami Doi <asamidoi@google.com>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590628}
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/chrome/browser/chrome_service_worker_browsertest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/browsing_data/clear_site_data_handler_browsertest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_browsertest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_context_request_handler_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_context_wrapper.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_controllee_request_handler_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_data_pipe_reader_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_installed_scripts_sender_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_navigation_loader_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_new_script_loader_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_object_host_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_provider_host_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_read_from_cache_job_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_register_job.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_register_job.h
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_registration_object_host.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_registration_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_script_loader_factory_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_storage.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_storage_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_url_request_job_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_write_to_cache_job.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_write_to_cache_job.h
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/browser/service_worker/service_worker_write_to_cache_job_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/common/service_worker/embedded_worker.mojom
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/renderer/service_worker/service_worker_context_client_unittest.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/renderer/service_worker/web_service_worker_provider_impl.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/content/renderer/service_worker/web_service_worker_provider_impl.h
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/third_party/blink/public/mojom/service_worker/service_worker_registration.mojom
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/third_party/blink/public/platform/modules/service_worker/web_service_worker_provider.h
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/third_party/blink/public/web/web_embedded_worker_start_data.h
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/third_party/blink/renderer/core/loader/resource/script_resource.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/third_party/blink/renderer/core/script/script.h
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/third_party/blink/renderer/core/workers/global_scope_creation_params.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/third_party/blink/renderer/core/workers/global_scope_creation_params.h
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/third_party/blink/renderer/core/workers/worker_module_tree_client.h
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/third_party/blink/renderer/modules/service_worker/registration_options.idl
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/third_party/blink/renderer/modules/service_worker/service_worker_container.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/third_party/blink/renderer/modules/service_worker/service_worker_container_test.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc
[modify] https://crrev.com/260d4608eb584984dd073c8a2a7d4dac2a0058f6/third_party/blink/renderer/platform/runtime_enabled_features.json5

Project Member

Comment 5 by bugdroid1@chromium.org, Sep 12

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

commit a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404
Author: Adithya Srinivasan <adithyas@chromium.org>
Date: Wed Sep 12 16:46:34 2018

Revert "ServiceWorker: Implement ES modules for ServiceWorker scripts behind"

This reverts commit 260d4608eb584984dd073c8a2a7d4dac2a0058f6.

Reason for revert: Suspect that it is causing MSan failures, see  https://crbug.com/883302 .

Original change's description:
> ServiceWorker: Implement ES modules for ServiceWorker scripts behind
> the test-only flag
> 
> This CL allows to import and evaluate as a module script at
> ServiceWorker. Users can use it by adding type 'module' when
> register a service worker script.
> 
> As the first step, this CL implements ES Modules for new ServiceWorker
> scripts. ES Modules for installed ServiceWorker scripts will be
> implemented in separate CLs. Also, this doesn't implement dynamic
> import yet. This feature is enabled by the test-only flag in this CL.
> 
> i.e.
> // index.html
> const registration = await navigator.serviceWorker.register(
>                          "service_worker.js",
>                          { type: "module" });
> 
> Spec: https://w3c.github.io/ServiceWorker/#serviceworkercontainer-interface
> 
> Bug: 824647
> Change-Id: I023c7ca881a90327730011699a8db879653cafdf
> Reviewed-on: https://chromium-review.googlesource.com/1194809
> Commit-Queue: Asami Doi <asamidoi@google.com>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
> Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#590628}

TBR=falken@chromium.org,kinuko@chromium.org,kouhei@chromium.org,nhiroki@chromium.org,asamidoi@google.com

Change-Id: I33d0220d687716e7a63c84170a3a6bafa97cc988
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 824647,  883302 
Reviewed-on: https://chromium-review.googlesource.com/1221704
Reviewed-by: Adithya Srinivasan <adithyas@chromium.org>
Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590719}
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/chrome/browser/chrome_service_worker_browsertest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/browsing_data/clear_site_data_handler_browsertest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_browsertest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_context_request_handler_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_context_wrapper.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_controllee_request_handler_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_data_pipe_reader_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_installed_scripts_sender_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_navigation_loader_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_new_script_loader_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_object_host_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_provider_host_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_read_from_cache_job_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_register_job.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_register_job.h
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_registration_object_host.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_registration_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_script_loader_factory_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_storage.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_storage_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_url_request_job_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_write_to_cache_job.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_write_to_cache_job.h
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/browser/service_worker/service_worker_write_to_cache_job_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/common/service_worker/embedded_worker.mojom
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/renderer/service_worker/service_worker_context_client_unittest.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/renderer/service_worker/web_service_worker_provider_impl.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/content/renderer/service_worker/web_service_worker_provider_impl.h
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/third_party/blink/public/mojom/service_worker/service_worker_registration.mojom
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/third_party/blink/public/platform/modules/service_worker/web_service_worker_provider.h
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/third_party/blink/public/web/web_embedded_worker_start_data.h
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/third_party/blink/renderer/core/loader/resource/script_resource.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/third_party/blink/renderer/core/script/script.h
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/third_party/blink/renderer/core/workers/global_scope_creation_params.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/third_party/blink/renderer/core/workers/global_scope_creation_params.h
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/third_party/blink/renderer/core/workers/worker_module_tree_client.h
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/third_party/blink/renderer/modules/service_worker/registration_options.idl
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/third_party/blink/renderer/modules/service_worker/service_worker_container.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/third_party/blink/renderer/modules/service_worker/service_worker_container_test.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc
[modify] https://crrev.com/a7dd3bd6af99ee62527148d9dfdb9eef8ef2c404/third_party/blink/renderer/platform/runtime_enabled_features.json5

Project Member

Comment 6 by bugdroid1@chromium.org, Sep 13

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

commit 5de8dea8a28da23d0b0d528948c68453ece26a35
Author: Asami Doi <asamidoi@google.com>
Date: Thu Sep 13 10:01:07 2018

Reland "ServiceWorker: Implement ES modules for ServiceWorker scripts behind the test-only flag"

This is a reland of 260d4608eb584984dd073c8a2a7d4dac2a0058f6.
1194809 was reverted because it was causing MSan failures by
accessing an uninitialized field in WebEmbeddedWorkerImplTest.
This CL fixes it. See  https://crbug.com/883302 .

Original change's description:
> ServiceWorker: Implement ES modules for ServiceWorker scripts behind
> the test-only flag
>
> This CL allows to import and evaluate as a module script at
> ServiceWorker. Users can use it by adding type 'module' when
> register a service worker script.
>
> As the first step, this CL implements ES Modules for new ServiceWorker
> scripts. ES Modules for installed ServiceWorker scripts will be
> implemented in separate CLs. Also, this doesn't implement dynamic
> import yet. This feature is enabled by the test-only flag in this CL.
>
> i.e.
> // index.html
> const registration = await navigator.serviceWorker.register(
>                          "service_worker.js",
>                          { type: "module" });
>
> Spec: https://w3c.github.io/ServiceWorker/#serviceworkercontainer-interface
>
> Bug: 824647
> Change-Id: I023c7ca881a90327730011699a8db879653cafdf
> Reviewed-on: https://chromium-review.googlesource.com/1194809
> Commit-Queue: Asami Doi <asamidoi@google.com>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
> Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#590628}

Bug: 824647,  883302 
Change-Id: I160a2d88514ceb6733e9b49758cb3efc2d22c5de
TBR: falken@chromium.org,kinuko@chromium.org,kouhei@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/1222027
Commit-Queue: Asami Doi <asamidoi@google.com>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590962}
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/chrome/browser/chrome_service_worker_browsertest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/browsing_data/clear_site_data_handler_browsertest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_browsertest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_context_request_handler_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_context_wrapper.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_controllee_request_handler_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_data_pipe_reader_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_installed_scripts_sender_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_job_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_navigation_loader_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_new_script_loader_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_object_host_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_provider_host_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_read_from_cache_job_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_register_job.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_register_job.h
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_registration_object_host.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_registration_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_script_loader_factory_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_storage.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_storage_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_url_request_job_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_version.h
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_version_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_write_to_cache_job.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_write_to_cache_job.h
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/browser/service_worker/service_worker_write_to_cache_job_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/common/service_worker/embedded_worker.mojom
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/renderer/service_worker/service_worker_context_client_unittest.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/renderer/service_worker/web_service_worker_provider_impl.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/content/renderer/service_worker/web_service_worker_provider_impl.h
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/third_party/blink/public/mojom/service_worker/service_worker_registration.mojom
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/third_party/blink/public/platform/modules/service_worker/web_service_worker_provider.h
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/third_party/blink/public/web/web_embedded_worker_start_data.h
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/third_party/blink/renderer/core/loader/resource/script_resource.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/third_party/blink/renderer/core/script/script.h
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/third_party/blink/renderer/core/workers/global_scope_creation_params.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/third_party/blink/renderer/core/workers/global_scope_creation_params.h
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/third_party/blink/renderer/core/workers/worker_module_tree_client.h
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/third_party/blink/renderer/modules/service_worker/registration_options.idl
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/third_party/blink/renderer/modules/service_worker/service_worker_container.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/third_party/blink/renderer/modules/service_worker/service_worker_container_test.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/third_party/blink/renderer/modules/service_worker/web_embedded_worker_impl_test.cc
[modify] https://crrev.com/5de8dea8a28da23d0b0d528948c68453ece26a35/third_party/blink/renderer/platform/runtime_enabled_features.json5

Project Member

Comment 7 by bugdroid1@chromium.org, Oct 1

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

commit 4260ef9470836be4474b27a67f831f3bc25db61e
Author: Asami Doi <asamidoi@google.com>
Date: Mon Oct 01 02:16:23 2018

ServiceWorker: Implement to return registration data after evaluate
module scripts, and add WPT tests for ServiceWorker module scripts

Implement to return registration data after evaluate module scripts
and commonize WillEvaluate/DidEvaluate functions of classic and module.
In addition, import module tests for ServiceWorker scripts reuse tests
for DedicatedWorker. The data path in both type is "Main scirpt ->
Worker script -> Main scirpt" because ServiceWorker can reply to its
source only in MessageEvent.

Change-Id: I2bcc1670bd43109710af30c7df3aba5ff039201a
Bug: 824647
Reviewed-on: https://chromium-review.googlesource.com/1205916
Commit-Queue: Asami Doi <asamidoi@google.com>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595369}
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/content/renderer/service_worker/service_worker_context_client.h
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/content/renderer/service_worker/service_worker_context_client_unittest.cc
[add] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/import-module-scripts.https-expected.txt
[add] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/import-module-scripts.https.html
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/WebKit/LayoutTests/external/wpt/workers/modules/dedicated-worker-import-blob-url.any.js
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/WebKit/LayoutTests/external/wpt/workers/modules/dedicated-worker-import-data-url.any.js
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/WebKit/LayoutTests/external/wpt/workers/modules/dedicated-worker-import.any.js
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/WebKit/LayoutTests/external/wpt/workers/modules/resources/dynamic-import-and-then-static-import-worker.js
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/WebKit/LayoutTests/external/wpt/workers/modules/resources/dynamic-import-worker.js
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/WebKit/LayoutTests/external/wpt/workers/modules/resources/eval-dynamic-import-worker.js
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/WebKit/LayoutTests/external/wpt/workers/modules/resources/export-on-dynamic-import-script.js
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/WebKit/LayoutTests/external/wpt/workers/modules/resources/import-test-cases.js
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/WebKit/LayoutTests/external/wpt/workers/modules/resources/nested-dynamic-import-worker.js
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/WebKit/LayoutTests/external/wpt/workers/modules/resources/nested-static-import-worker.js
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/WebKit/LayoutTests/external/wpt/workers/modules/resources/static-import-and-then-dynamic-import-worker.js
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/WebKit/LayoutTests/external/wpt/workers/modules/resources/static-import-worker.js
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/blink/public/web/modules/service_worker/web_service_worker_context_client.h
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/blink/renderer/core/workers/worker_global_scope.h
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/blink/renderer/core/workers/worker_module_tree_client.cc
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/blink/renderer/core/workers/worker_reporting_proxy.h
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.h
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/third_party/blink/renderer/modules/service_worker/web_embedded_worker_impl_test.cc
[modify] https://crrev.com/4260ef9470836be4474b27a67f831f3bc25db61e/tools/metrics/histograms/histograms.xml

Project Member

Comment 8 by bugdroid1@chromium.org, Oct 5

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

commit 9998d9961dae6a088d0544c3ac36023d1ba5eb1b
Author: Asami Doi <asamidoi@google.com>
Date: Fri Oct 05 06:46:57 2018

ServiceWorker: Add script_type field in ServiceWorkerDatabase in order
to record a script type 'classic' or 'module'.

The goal is to import and evaluate as a module script at ServiceWorker.
Users can use it by adding type 'module' when register a service
worker script.

This CL allows to store script type into ServiceWorkerDatabase and
use it when starting an installed service worker.


Bug: 824647
Change-Id: I4d26b774fa662a6e6587bf10137fd8b1dae2e42a
Reviewed-on: https://chromium-review.googlesource.com/c/1226488
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Commit-Queue: Asami Doi <asamidoi@google.com>
Cr-Commit-Position: refs/heads/master@{#597015}
[modify] https://crrev.com/9998d9961dae6a088d0544c3ac36023d1ba5eb1b/content/browser/service_worker/service_worker_database.cc
[modify] https://crrev.com/9998d9961dae6a088d0544c3ac36023d1ba5eb1b/content/browser/service_worker/service_worker_database.h
[modify] https://crrev.com/9998d9961dae6a088d0544c3ac36023d1ba5eb1b/content/browser/service_worker/service_worker_database.proto
[modify] https://crrev.com/9998d9961dae6a088d0544c3ac36023d1ba5eb1b/content/browser/service_worker/service_worker_database_unittest.cc
[modify] https://crrev.com/9998d9961dae6a088d0544c3ac36023d1ba5eb1b/content/browser/service_worker/service_worker_register_job.cc
[modify] https://crrev.com/9998d9961dae6a088d0544c3ac36023d1ba5eb1b/content/browser/service_worker/service_worker_register_job.h
[modify] https://crrev.com/9998d9961dae6a088d0544c3ac36023d1ba5eb1b/content/browser/service_worker/service_worker_storage.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Oct 16

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

commit aac1b1fe26a2dc707304e3b187df9dfdfd959447
Author: Asami Doi <asamidoi@google.com>
Date: Tue Oct 16 07:38:02 2018

ServiceWorker: Fetch installed scripts from the service worker's script
storage.

The goal is to import and evaluate as a module script at ServiceWorker.
Users can use it by adding type 'module' when register a service
worker script.

This CL allows to fetch installed scripts from the service worker's
script storage. I will add WPT tests and browser tests to make sure to
fetch installed scripts from the service worker's script storage in
the following CLs.

Bug: 824647
Change-Id: I73bcac6ebb9298063fbc13f9dcc31011ae183cef
Reviewed-on: https://chromium-review.googlesource.com/c/1270502
Commit-Queue: Asami Doi <asamidoi@google.com>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599902}
[modify] https://crrev.com/aac1b1fe26a2dc707304e3b187df9dfdfd959447/third_party/blink/renderer/core/loader/BUILD.gn
[add] https://crrev.com/aac1b1fe26a2dc707304e3b187df9dfdfd959447/third_party/blink/renderer/core/loader/modulescript/installed_service_worker_module_script_fetcher.cc
[add] https://crrev.com/aac1b1fe26a2dc707304e3b187df9dfdfd959447/third_party/blink/renderer/core/loader/modulescript/installed_service_worker_module_script_fetcher.h
[modify] https://crrev.com/aac1b1fe26a2dc707304e3b187df9dfdfd959447/third_party/blink/renderer/core/script/modulator.h
[modify] https://crrev.com/aac1b1fe26a2dc707304e3b187df9dfdfd959447/third_party/blink/renderer/core/script/worker_modulator_impl.cc
[modify] https://crrev.com/aac1b1fe26a2dc707304e3b187df9dfdfd959447/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Oct 22

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

commit 12e095b702d932a18c73ad2fa80417c43b6c00de
Author: Asami Doi <asamidoi@google.com>
Date: Mon Oct 22 02:20:04 2018

ServiceWorker: Add browser tests to make sure the implementation
to use an existing script on offline is correct or not.

The goal is to import and evaluate as a module script at ServiceWorker.
Users can use it by adding type 'module' when register a service
worker script.

The reason why I use browser tests instead of WPT tests is I want to
make sure an installed script works well offline. There is no way to
terminate a worker from WPT tests. These new tests are for 'classic'
and 'module' scripts.

Change-Id: I17f201080eeced93b8dccb8a3867721798b3699c
Cq-Include-Trybots: luci.chromium.try:linux_mojo
Bug: 824647
Reviewed-on: https://chromium-review.googlesource.com/c/1276046
Commit-Queue: Asami Doi <asamidoi@google.com>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#601465}
[modify] https://crrev.com/12e095b702d932a18c73ad2fa80417c43b6c00de/content/browser/service_worker/service_worker_browsertest.cc
[modify] https://crrev.com/12e095b702d932a18c73ad2fa80417c43b6c00de/content/browser/service_worker/service_worker_read_from_cache_job.cc
[modify] https://crrev.com/12e095b702d932a18c73ad2fa80417c43b6c00de/content/browser/service_worker/service_worker_register_job.cc
[modify] https://crrev.com/12e095b702d932a18c73ad2fa80417c43b6c00de/content/browser/service_worker/service_worker_version.cc
[add] https://crrev.com/12e095b702d932a18c73ad2fa80417c43b6c00de/content/test/data/service_worker/static_import_worker.js
[modify] https://crrev.com/12e095b702d932a18c73ad2fa80417c43b6c00de/third_party/blink/renderer/core/loader/worker_fetch_context.cc
[modify] https://crrev.com/12e095b702d932a18c73ad2fa80417c43b6c00de/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Oct 25

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

commit 75edff769336ec2284ac31c2a919f0dece9bb4d9
Author: Asami Doi <asamidoi@google.com>
Date: Thu Oct 25 08:59:22 2018

ServiceWorker: Add new tests for updating the registration with
different script type.

These tests check that a registration is updated correctly with
different script type. At first Service Worker is register as classic
script type, then it is re-registered as module script type, and
vice versa. A main script is also updated at the same time.

Bug: 824647
Change-Id: I3ab9391791508662de8dc73ac932a6105c4d7fe6
Reviewed-on: https://chromium-review.googlesource.com/c/1295763
Commit-Queue: Asami Doi <asamidoi@google.com>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602650}
[add] https://crrev.com/75edff769336ec2284ac31c2a919f0dece9bb4d9/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/imported-classic-script.js
[add] https://crrev.com/75edff769336ec2284ac31c2a919f0dece9bb4d9/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/imported-module-script.js
[add] https://crrev.com/75edff769336ec2284ac31c2a919f0dece9bb4d9/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/update-registration-with-type.py
[add] https://crrev.com/75edff769336ec2284ac31c2a919f0dece9bb4d9/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/update-registration-with-type.https.html

Blockedon: 900045
Project Member

Comment 13 by bugdroid1@chromium.org, Nov 1

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

commit 270d4abddc83d6e722b241a7ce2368605f44d7ae
Author: Asami Doi <asamidoi@google.com>
Date: Thu Nov 01 10:48:13 2018

ServiceWorker: Add new WPT tests to make sure to update a registration
with different script type and identical script content.

These tests check that a registration is updated correctly with
different script type. At first Service Worker is registered as
classic script type, then it is re-registered as module script type,
and vice versa. A main script is identical.

Bug: 824647
Change-Id: I2a3f87da1013f84c6e9495f362899dfe6ab97b45
Reviewed-on: https://chromium-review.googlesource.com/c/1298822
Commit-Queue: Asami Doi <asamidoi@google.com>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604551}
[add] https://crrev.com/270d4abddc83d6e722b241a7ce2368605f44d7ae/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/classic-worker.js
[add] https://crrev.com/270d4abddc83d6e722b241a7ce2368605f44d7ae/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/module-worker.js
[add] https://crrev.com/270d4abddc83d6e722b241a7ce2368605f44d7ae/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/update-registration-with-type.https-expected.txt
[modify] https://crrev.com/270d4abddc83d6e722b241a7ce2368605f44d7ae/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/update-registration-with-type.https.html

Project Member

Comment 14 by bugdroid1@chromium.org, Nov 2

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

commit f41575700afaafcf91451e1472b25931c1dde550
Author: Asami Doi <asamidoi@google.com>
Date: Fri Nov 02 05:29:41 2018

ServiceWorker: Skip byte-for-byte comparison when a script type is
changed.

Some tests in update-registration-with-type.https.html fail because
a new worker is not created when a script type is changed and a script
content is identical. This CL makes |skip_script_comparison_| true
when a script type is same. Also, I replaced has_installed_version()
newest_installed_version().

Bug: 824647
Change-Id: I755e3d031b97d6659a7a35a1f93f9acfc654368c
Reviewed-on: https://chromium-review.googlesource.com/c/1312828
Commit-Queue: Asami Doi <asamidoi@google.com>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604849}
[modify] https://crrev.com/f41575700afaafcf91451e1472b25931c1dde550/content/browser/service_worker/service_worker_register_job.cc
[modify] https://crrev.com/f41575700afaafcf91451e1472b25931c1dde550/content/browser/service_worker/service_worker_registration.h
[modify] https://crrev.com/f41575700afaafcf91451e1472b25931c1dde550/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/update-registration-with-type.https-expected.txt
[modify] https://crrev.com/f41575700afaafcf91451e1472b25931c1dde550/third_party/blink/renderer/core/workers/worker_module_tree_client.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Nov 2

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

commit 0d4913d31a7a1d3fad1657e6c74391fe4299a119
Author: Asami Doi <asamidoi@google.com>
Date: Fri Nov 02 09:20:03 2018

ServiceWorker: Add the new class ServiceWorkerModuleTreeClient to
handle an error when fetch a script.

In previous, Dedicated Workers and Service Workers share
WorkerModuleTreeClient but an error handling is different.
So, added the new class ServiceWorkerModuleTreeClient to reject
promise for Service Workers if an error happens when fetch a script.


Bug: 824647
Change-Id: Iade530d9d046d27704bf7e0c7a9a542b1c1a9ee3
Reviewed-on: https://chromium-review.googlesource.com/c/1304274
Commit-Queue: Asami Doi <asamidoi@google.com>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604870}
[modify] https://crrev.com/0d4913d31a7a1d3fad1657e6c74391fe4299a119/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/0d4913d31a7a1d3fad1657e6c74391fe4299a119/content/renderer/service_worker/service_worker_context_client.h
[modify] https://crrev.com/0d4913d31a7a1d3fad1657e6c74391fe4299a119/third_party/blink/public/web/modules/service_worker/web_service_worker_context_client.h
[modify] https://crrev.com/0d4913d31a7a1d3fad1657e6c74391fe4299a119/third_party/blink/renderer/core/workers/worker_reporting_proxy.h
[modify] https://crrev.com/0d4913d31a7a1d3fad1657e6c74391fe4299a119/third_party/blink/renderer/modules/service_worker/BUILD.gn
[modify] https://crrev.com/0d4913d31a7a1d3fad1657e6c74391fe4299a119/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc
[modify] https://crrev.com/0d4913d31a7a1d3fad1657e6c74391fe4299a119/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc
[modify] https://crrev.com/0d4913d31a7a1d3fad1657e6c74391fe4299a119/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.h
[add] https://crrev.com/0d4913d31a7a1d3fad1657e6c74391fe4299a119/third_party/blink/renderer/modules/service_worker/service_worker_module_tree_client.cc
[add] https://crrev.com/0d4913d31a7a1d3fad1657e6c74391fe4299a119/third_party/blink/renderer/modules/service_worker/service_worker_module_tree_client.h

Blockedon: 901317
Cc: domfarolino@gmail.com
Cc: leon....@intel.com
Project Member

Comment 19 by bugdroid1@chromium.org, Nov 16

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

commit c557ca8867e1d4a10a0f6d33493cf600f50869bf
Author: Asami Doi <d0iasm.pub@gmail.com>
Date: Fri Nov 16 07:55:19 2018

ServiceWorker: Add t.add_cleanup() in WPT tests.

This CL adds t.add_cleanup() that calls service_worker_unregister()
in WPT tests to ensure registrations are removed on test completion.

Bug: 824647
Change-Id: Ieb790d4d7f63fc4810f6062d7e288aad1e88f45d
Reviewed-on: https://chromium-review.googlesource.com/c/1328545
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608693}
[modify] https://crrev.com/c557ca8867e1d4a10a0f6d33493cf600f50869bf/AUTHORS
[modify] https://crrev.com/c557ca8867e1d4a10a0f6d33493cf600f50869bf/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/import-module-scripts.https.html

Cc: -nhiroki@chromium.org d0iasm....@gmail.com
Owner: nhiroki@chromium.org
Status: Assigned (was: Started)

Sign in to add a comment