New issue
Advanced search Search tips

Issue 845285 link

Starred by 3 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 878274
issue 860517

Blocking:
issue 841466



Sign in to add a comment

Introduce proper abstraction for settings object for module scripts

Project Member Reported by hirosh...@chromium.org, May 21 2018

Issue description

Currently, Modulator is the single abstraction of setting objects used for module script loading and execution.
However, there are multiple concepts of settings objects within a Modulator (at least a fetch client settings object and a module map settings object, which don't correspond one-to-one in worker cases), so it would be better to split Modulator into smaller interfaces each of which represents a specific spec concept.

Modulator was introduced not to expose the full interface of ExecutionContext to the module script system, because ExecutionContext is a too rich interface exposing much more things.
So the rough plan here is (1) introduce settings object intrerface classes (each of which would expose a subset of ExecutionContext capability) and (2) replace Modulator with those smaller interfaces.
 
Status: Assigned (was: Untriaged)
Blocking: 841466
Project Member

Comment 3 by bugdroid1@chromium.org, Jun 1 2018

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

commit b85ac4c9224230709fcc2fa9328b45c7ba4ae16b
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Fri Jun 01 03:34:15 2018

ES Modules: Implement the SettingsObject concept

This is a cleanup CL that doesn't change existing behavior, so there're no
additional tests.

This implements the "settings object" concept defined in the HTML spec:
https://html.spec.whatwg.org/multipage/webappapis.html#settings-object

A motivation of this change is to split the Modulator into the "fetch client
settings object" and the "module map settings object" so that module loading,
especially for workers and worklets, can be implemented in a saner and more
spec compatible way.

Specifically, this CL implements SettingsObject class, passes an instance of
the class as "fetch client settings object" to module loader classes, and
replaces Modulator::GetSecurityOrigin() and GetReferrerPolicy() with
SettingsObject's functions. The "module map settings object" will be implemented
in subsequent CLs.

Change-Id: I3028be4825745bf975c4ac2820358fb9c2c0974c
Bug:  842553 , 845285
Reviewed-on: https://chromium-review.googlesource.com/1080441
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#563522}
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/loader/link_loader.cc
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/loader/link_loader_test.cc
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/loader/modulescript/module_script_loader.cc
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/loader/modulescript/module_script_loader.h
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/loader/modulescript/module_script_loader_registry.cc
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/loader/modulescript/module_script_loader_registry.h
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/loader/modulescript/module_script_loader_test.cc
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/loader/modulescript/module_tree_linker.cc
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/loader/modulescript/module_tree_linker.h
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/loader/modulescript/module_tree_linker_registry.cc
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/loader/modulescript/module_tree_linker_registry.h
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/loader/modulescript/module_tree_linker_test.cc
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/script/BUILD.gn
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/script/dynamic_module_resolver.cc
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/script/dynamic_module_resolver_test.cc
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/script/modulator.h
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/script/modulator_impl_base.cc
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/script/modulator_impl_base.h
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/script/module_map.cc
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/script/module_map.h
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/script/module_map_test.cc
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/script/script_loader.cc
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/script/script_loader.h
[add] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/script/settings_object.cc
[add] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/script/settings_object.h
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/script/worklet_modulator_impl.cc
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/script/worklet_modulator_impl.h
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/testing/dummy_modulator.cc
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/testing/dummy_modulator.h
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.cc
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/workers/worker_or_worklet_global_scope.cc
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/workers/worker_or_worklet_global_scope.h
[modify] https://crrev.com/b85ac4c9224230709fcc2fa9328b45c7ba4ae16b/third_party/blink/renderer/core/workers/worklet_global_scope.cc

Owner: nhiroki@chromium.org
Status: Started (was: Assigned)
Project Member

Comment 5 by bugdroid1@chromium.org, Jun 5 2018

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

commit 030f5aa2dfc638b4d24addf1f8c91a25898a2093
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Tue Jun 05 06:42:02 2018

Worker: Pass Document's SettingsObject to WorkletGlobalScope as "fetch_client_settings_object"

This CL makes Document serve its settings object to WorkletGlobalScope. This
SettingsObject is used as "fetch_client_settings_object" in module loading for a
top-level worklet script and static imports. This involves a thread hop from the
main thread to a worker thread, so this CL makes SettingsObject
cross-thread-transferable.

Before this CL, the "fetch_client_settings_object" for worklets is generated
from Document's SecurityOrigin and WorkletGlobalScope's ReferrerPolicy. This
looks twisted, but worked correctly because WorkletGlobalScope has the same
ReferrerPolicy with Document's ReferrerPolicy. This CL straightens it by
providing the settings object from Document.

Implementation notes:
- This changes the SettingsObject class from GC-managed to non-GC-managed for
  making it cross-thread-transferable in a sanner manner.
- This adds class-level comments on SettingsObject that the class takes a
  snapshot of ExecutionContext's states and doesn't track updates of the states.

Bug:  842553 , 845285
Change-Id: I56ce1c52f3fe43a5be7572d5af38b5444f3cbc10
Reviewed-on: https://chromium-review.googlesource.com/1082143
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564379}
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/layout/custom/layout_worklet_global_scope_proxy.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/layout/custom/layout_worklet_global_scope_proxy.h
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/loader/link_loader.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/loader/link_loader_test.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/loader/modulescript/module_script_loader.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/loader/modulescript/module_script_loader.h
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/loader/modulescript/module_script_loader_registry.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/loader/modulescript/module_script_loader_registry.h
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/loader/modulescript/module_script_loader_test.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/loader/modulescript/module_tree_linker.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/loader/modulescript/module_tree_linker.h
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/loader/modulescript/module_tree_linker_registry.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/loader/modulescript/module_tree_linker_registry.h
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/loader/modulescript/module_tree_linker_test.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/script/dynamic_module_resolver.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/script/dynamic_module_resolver_test.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/script/modulator.h
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/script/modulator_impl_base.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/script/modulator_impl_base.h
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/script/module_map.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/script/module_map.h
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/script/module_map_test.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/script/script_loader.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/script/script_loader.h
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/script/settings_object.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/script/settings_object.h
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/testing/dummy_modulator.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/testing/dummy_modulator.h
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/workers/threaded_worklet_messaging_proxy.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/workers/threaded_worklet_messaging_proxy.h
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/workers/threaded_worklet_object_proxy.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/workers/threaded_worklet_object_proxy.h
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/workers/worker_or_worklet_global_scope.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/workers/worker_or_worklet_global_scope.h
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/workers/worklet.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/workers/worklet_global_scope.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/workers/worklet_global_scope.h
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/core/workers/worklet_global_scope_proxy.h
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope_proxy.cc
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope_proxy.h
[modify] https://crrev.com/030f5aa2dfc638b4d24addf1f8c91a25898a2093/third_party/blink/renderer/platform/weborigin/referrer_policy.h

Copied from settings_object.h

// TODO(nhiroki): Strictly speaking, this class doesn't match the "settings
// object" concept in the spec. The spec requires a reference to the "settings
// object", but instead this class provides a snapshot to avoid cross thread
// references. To reduce confusion, this class should be renamed.

We (hiroshige, kouhei, and I) decided to rename SettingsObject to FetchClientSettingsObjectSnapshot. I'll make a patch after conflict patches are landed.
Project Member

Comment 7 by bugdroid1@chromium.org, Jun 7 2018

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

commit c475a689dcfb2886bdacff8b146dabd7ce43ac8a
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Thu Jun 07 06:10:41 2018

Worker: Use Document's SettingsObject for top-level module script loading on dedicated workers

This CL makes Document serve its settings object ("outside settings") to
WorkerGlobalScope based on the following HTML spec:

  Step 13. "Fetch a module worker script graph given url, outside settings,
  destination, the value of the credentials member of options, and inside
  settings."
  https://html.spec.whatwg.org/multipage/workers.html#worker-processing-model

This SettingsObject is used as "fetch client settings object" for top-level
module script loading and static imports.

Before this CL, WorkerGlobalScope's settings object ("inside_settings_object")
is used as "fetch client settings object". This is obviously wrong and fails
some web-platform-tests. This change fixes them.

Change-Id: I87a78f38308e262425b848d99dc617dbddeb81e7
Bug:  842553 , 845285
Reviewed-on: https://chromium-review.googlesource.com/1084133
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565199}
[modify] https://crrev.com/c475a689dcfb2886bdacff8b146dabd7ce43ac8a/third_party/WebKit/LayoutTests/external/wpt/workers/modules/dedicated-worker-import-referrer-expected.txt
[modify] https://crrev.com/c475a689dcfb2886bdacff8b146dabd7ce43ac8a/third_party/WebKit/LayoutTests/external/wpt/workers/modules/dedicated-worker-import-referrer.html
[modify] https://crrev.com/c475a689dcfb2886bdacff8b146dabd7ce43ac8a/third_party/blink/renderer/core/workers/dedicated_worker.cc
[modify] https://crrev.com/c475a689dcfb2886bdacff8b146dabd7ce43ac8a/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.cc
[modify] https://crrev.com/c475a689dcfb2886bdacff8b146dabd7ce43ac8a/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.h
[modify] https://crrev.com/c475a689dcfb2886bdacff8b146dabd7ce43ac8a/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc
[modify] https://crrev.com/c475a689dcfb2886bdacff8b146dabd7ce43ac8a/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.h
[modify] https://crrev.com/c475a689dcfb2886bdacff8b146dabd7ce43ac8a/third_party/blink/renderer/core/workers/shared_worker_global_scope.cc
[modify] https://crrev.com/c475a689dcfb2886bdacff8b146dabd7ce43ac8a/third_party/blink/renderer/core/workers/shared_worker_global_scope.h
[modify] https://crrev.com/c475a689dcfb2886bdacff8b146dabd7ce43ac8a/third_party/blink/renderer/core/workers/worker_global_scope.h
[modify] https://crrev.com/c475a689dcfb2886bdacff8b146dabd7ce43ac8a/third_party/blink/renderer/core/workers/worker_thread.cc
[modify] https://crrev.com/c475a689dcfb2886bdacff8b146dabd7ce43ac8a/third_party/blink/renderer/core/workers/worker_thread.h
[modify] https://crrev.com/c475a689dcfb2886bdacff8b146dabd7ce43ac8a/third_party/blink/renderer/core/workers/worker_thread_test_helper.h
[modify] https://crrev.com/c475a689dcfb2886bdacff8b146dabd7ce43ac8a/third_party/blink/renderer/modules/serviceworkers/service_worker_global_scope.cc
[modify] https://crrev.com/c475a689dcfb2886bdacff8b146dabd7ce43ac8a/third_party/blink/renderer/modules/serviceworkers/service_worker_global_scope.h

Project Member

Comment 8 by bugdroid1@chromium.org, Jun 13 2018

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

commit 486bced222f5d07b83b20857e40972d6caadf398
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Wed Jun 13 04:39:35 2018

ES Modules: Rename SettingsObject to FetchClientSettingsObjectSnapshot

This CL mechanically renames SettingsObject to
FetchClientSettingsObjectSnapshot, and revises the class level comments of the
class.

This change is a part of the Modulator cleanup project. See the design doc for
details:
https://docs.google.com/document/d/1R0VgKZtrBL9hAq8SgCVuDOv-2vzB15M9HDwzdad0J6k/edit#heading=h.5rwrtojwiu5c

Bug: 845285
Change-Id: I0359d650e97a5972b2cdc5a39c223b50f2e42afc
TBR: haraken@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/1090592
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566722}
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/layout/custom/layout_worklet_global_scope_proxy.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/layout/custom/layout_worklet_global_scope_proxy.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/loader/link_loader.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/loader/link_loader_test.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/loader/modulescript/module_script_loader.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/loader/modulescript/module_script_loader.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/loader/modulescript/module_script_loader_registry.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/loader/modulescript/module_script_loader_registry.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/loader/modulescript/module_script_loader_test.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/loader/modulescript/module_tree_linker.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/loader/modulescript/module_tree_linker.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/loader/modulescript/module_tree_linker_registry.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/loader/modulescript/module_tree_linker_registry.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/loader/modulescript/module_tree_linker_test.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/script/BUILD.gn
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/script/dynamic_module_resolver.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/script/dynamic_module_resolver_test.cc
[add] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/script/fetch_client_settings_object_snapshot.cc
[add] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/script/fetch_client_settings_object_snapshot.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/script/modulator.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/script/modulator_impl_base.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/script/modulator_impl_base.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/script/module_map.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/script/module_map.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/script/module_map_test.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/script/script_loader.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/script/script_loader.h
[delete] https://crrev.com/613a7a3c8b2de9b9c79a4f861da18a0966fc57ff/third_party/blink/renderer/core/script/settings_object.cc
[delete] https://crrev.com/613a7a3c8b2de9b9c79a4f861da18a0966fc57ff/third_party/blink/renderer/core/script/settings_object.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/testing/dummy_modulator.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/testing/dummy_modulator.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/dedicated_worker.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/shared_worker_global_scope.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/shared_worker_global_scope.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/threaded_worklet_messaging_proxy.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/threaded_worklet_messaging_proxy.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/threaded_worklet_object_proxy.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/threaded_worklet_object_proxy.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/worker_global_scope.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/worker_or_worklet_global_scope.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/worker_or_worklet_global_scope.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/worker_thread.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/worker_thread.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/worker_thread_test_helper.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/worklet.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/worklet_global_scope.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/worklet_global_scope.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/core/workers/worklet_global_scope_proxy.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope_proxy.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope_proxy.h
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/modules/serviceworkers/service_worker_global_scope.cc
[modify] https://crrev.com/486bced222f5d07b83b20857e40972d6caadf398/third_party/blink/renderer/modules/serviceworkers/service_worker_global_scope.h

Project Member

Comment 9 by bugdroid1@chromium.org, Jun 14 2018

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

commit 85dbb93c57409a43fae9d8f952b4153dbc6f5a84
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Thu Jun 14 06:34:08 2018

ES Modules: Update class level comments on FetchClientSettingsObjectSnapshot

This is a follow-up CL for the preview review comments:
https://chromium-review.googlesource.com/c/chromium/src/+/1090592/4/third_party/blink/renderer/core/script/fetch_client_settings_object_snapshot.h#23

Bug: 845285
Change-Id: I69192292116ee9a5675aeb94cbb4e7381f01f7f7
Reviewed-on: https://chromium-review.googlesource.com/1098654
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567174}
[modify] https://crrev.com/85dbb93c57409a43fae9d8f952b4153dbc6f5a84/third_party/blink/renderer/core/script/fetch_client_settings_object_snapshot.h

Project Member

Comment 10 by bugdroid1@chromium.org, Jun 14 2018

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

commit 55cd360577c017625f519b1fad6d87fc4d4fba2e
Author: Hiroshige Hayashizaki <hiroshige@chromium.org>
Date: Thu Jun 14 07:10:40 2018

Remove Modulator::FetchNewSingleModule()

Instead of redirecting ModuleMap->Modulator->ModuleScriptLoader,
this CL makes ModuleMap::FetchSingleModuleScript() to invoke
ModuleScriptLoader directly, in order to:
- Reduce indirection around Modulator, and
- Remove Modulator::FetchNewSingleModule().

This CL moves ModuleScriptLoaderRegistry from ModulatorImplBase
to ModuleMap, to make it accessible from ModuleMap.
This shouldn't affect lifetime and semantics, because Modulator and
ModuleMap correspond one-to-one.

Previously, unit tests have overridden
Modulator::FetchNewSingleModule() and put fake implementation there.
After this CL, unit tests creates a fake ModuleScriptFetcher.

Bug: 845285
Change-Id: If94d958c57e0e3e18622efd032863b2fbd8cc5c2
Reviewed-on: https://chromium-review.googlesource.com/1079963
Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567179}
[modify] https://crrev.com/55cd360577c017625f519b1fad6d87fc4d4fba2e/third_party/blink/renderer/core/script/modulator.h
[modify] https://crrev.com/55cd360577c017625f519b1fad6d87fc4d4fba2e/third_party/blink/renderer/core/script/modulator_impl_base.cc
[modify] https://crrev.com/55cd360577c017625f519b1fad6d87fc4d4fba2e/third_party/blink/renderer/core/script/modulator_impl_base.h
[modify] https://crrev.com/55cd360577c017625f519b1fad6d87fc4d4fba2e/third_party/blink/renderer/core/script/module_map.cc
[modify] https://crrev.com/55cd360577c017625f519b1fad6d87fc4d4fba2e/third_party/blink/renderer/core/script/module_map.h
[modify] https://crrev.com/55cd360577c017625f519b1fad6d87fc4d4fba2e/third_party/blink/renderer/core/script/module_map_test.cc
[modify] https://crrev.com/55cd360577c017625f519b1fad6d87fc4d4fba2e/third_party/blink/renderer/core/testing/dummy_modulator.cc
[modify] https://crrev.com/55cd360577c017625f519b1fad6d87fc4d4fba2e/third_party/blink/renderer/core/testing/dummy_modulator.h

Project Member

Comment 12 by bugdroid1@chromium.org, Jun 14 2018

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

commit 3ae0478ecad703b426cf8f4dad042de81225a89c
Author: Hiroshige Hayashizaki <hiroshige@chromium.org>
Date: Thu Jun 14 18:42:10 2018

Remove Modulator::CompileModule()

This CL merges ModulatorImplBase::CompileModule() into
ModuleScript::Create() and removes Modulator::CompileModule(),
- Because ModuleScript will need more closer interaction with
  ScriptModule and V8CodeCache in bindings.
- Also this is a part of removing indirect layers around Modulator.

Bug: 845285, 841466
Change-Id: I4a2be4a816c4cc89a9ad57f8b0ec5a206000343c
Reviewed-on: https://chromium-review.googlesource.com/1065061
Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567357}
[modify] https://crrev.com/3ae0478ecad703b426cf8f4dad042de81225a89c/third_party/blink/renderer/core/loader/modulescript/module_script_loader_test.cc
[modify] https://crrev.com/3ae0478ecad703b426cf8f4dad042de81225a89c/third_party/blink/renderer/core/script/modulator.h
[modify] https://crrev.com/3ae0478ecad703b426cf8f4dad042de81225a89c/third_party/blink/renderer/core/script/modulator_impl_base.cc
[modify] https://crrev.com/3ae0478ecad703b426cf8f4dad042de81225a89c/third_party/blink/renderer/core/script/modulator_impl_base.h
[modify] https://crrev.com/3ae0478ecad703b426cf8f4dad042de81225a89c/third_party/blink/renderer/core/script/module_map_test.cc
[modify] https://crrev.com/3ae0478ecad703b426cf8f4dad042de81225a89c/third_party/blink/renderer/core/script/module_script.cc
[modify] https://crrev.com/3ae0478ecad703b426cf8f4dad042de81225a89c/third_party/blink/renderer/core/testing/dummy_modulator.cc
[modify] https://crrev.com/3ae0478ecad703b426cf8f4dad042de81225a89c/third_party/blink/renderer/core/testing/dummy_modulator.h

Project Member

Comment 13 by bugdroid1@chromium.org, Jun 18 2018

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

commit 6c6179d79879f6fe6be2357adda1cb61d6105ac7
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Mon Jun 18 08:19:02 2018

ES Modules: Introduce base URL in FetchClientSettingsObject

This CL introduces the base URL in FetchClientSettingsObject to avoid a
dependency on ExecutionContext from ModulatorImplBase. The dependency was not
correct because the base URL must be provided by "fetch client settings object",
not by "module map settings object". ModulatorImplBase corresponds to "module
map settings object".

Bug: 845285
Change-Id: I7986e16e3f160e145fa11357fe4a77cdff8113b7
Reviewed-on: https://chromium-review.googlesource.com/1102443
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567949}
[modify] https://crrev.com/6c6179d79879f6fe6be2357adda1cb61d6105ac7/third_party/blink/renderer/core/loader/modulescript/module_tree_linker.cc
[modify] https://crrev.com/6c6179d79879f6fe6be2357adda1cb61d6105ac7/third_party/blink/renderer/core/loader/modulescript/module_tree_linker.h
[modify] https://crrev.com/6c6179d79879f6fe6be2357adda1cb61d6105ac7/third_party/blink/renderer/core/loader/modulescript/module_tree_linker_test.cc
[modify] https://crrev.com/6c6179d79879f6fe6be2357adda1cb61d6105ac7/third_party/blink/renderer/core/script/fetch_client_settings_object_snapshot.cc
[modify] https://crrev.com/6c6179d79879f6fe6be2357adda1cb61d6105ac7/third_party/blink/renderer/core/script/fetch_client_settings_object_snapshot.h
[modify] https://crrev.com/6c6179d79879f6fe6be2357adda1cb61d6105ac7/third_party/blink/renderer/core/script/modulator_impl_base.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Jul 3

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

commit 75101fd0d97a60140f1233f96b3aae51133df463
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Tue Jul 03 05:49:14 2018

Loader: Narrow visibility of functions in BaseFetchContext for cleanup

For cleanup, this CL...

- moves BaseFetchContext::PrintAccessDeniedMessage() from 'protected' to
  'private', and
- inlines BaseFetchContext::AddCSPHeaderIfNecessary() in
  FrameFetchContext::PopulateResourceRequest().

Bug: 845285
Change-Id: Id16a9210cef284ddb814cf1ee4a2da81bb12f030
Reviewed-on: https://chromium-review.googlesource.com/1123978
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572119}
[modify] https://crrev.com/75101fd0d97a60140f1233f96b3aae51133df463/third_party/blink/renderer/core/loader/base_fetch_context.cc
[modify] https://crrev.com/75101fd0d97a60140f1233f96b3aae51133df463/third_party/blink/renderer/core/loader/base_fetch_context.h
[modify] https://crrev.com/75101fd0d97a60140f1233f96b3aae51133df463/third_party/blink/renderer/core/loader/frame_fetch_context.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Jul 3

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

commit f2f6c7f2ad3b599d35148047e25dad5859dfd120
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Tue Jul 03 12:26:59 2018

Loader: Make ResourceFetcher return URLs of unused preloads for logging

As a cleanup, this CL removes ResourceFetcher::AddWarningConsoleMessage() and
instead implements ResourceFetcher::GetUrlsOfUnusedPreloads().

Before this CL, AddWarningConsoleMessage() printed warnings in the console via
an implementation of FetchContext because ResourceFetcher is in platform/ and
cannot access ConsoleMessage etc.

To simplify layering around that, this CL makes ResourceFetcher return URLs of
unused preloads and a caller (i.e., LocalDOMWindow) in core/ print warnings with
the URLs.

Bug: 845285
Change-Id: I241c9567ba79df0ec24f8817cf6045456e44b75b
Reviewed-on: https://chromium-review.googlesource.com/1124137
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572178}
[modify] https://crrev.com/f2f6c7f2ad3b599d35148047e25dad5859dfd120/third_party/blink/renderer/core/frame/local_dom_window.cc
[modify] https://crrev.com/f2f6c7f2ad3b599d35148047e25dad5859dfd120/third_party/blink/renderer/core/loader/base_fetch_context.cc
[modify] https://crrev.com/f2f6c7f2ad3b599d35148047e25dad5859dfd120/third_party/blink/renderer/core/loader/base_fetch_context.h
[modify] https://crrev.com/f2f6c7f2ad3b599d35148047e25dad5859dfd120/third_party/blink/renderer/core/loader/frame_fetch_context_test.cc
[modify] https://crrev.com/f2f6c7f2ad3b599d35148047e25dad5859dfd120/third_party/blink/renderer/platform/loader/fetch/fetch_context.cc
[modify] https://crrev.com/f2f6c7f2ad3b599d35148047e25dad5859dfd120/third_party/blink/renderer/platform/loader/fetch/fetch_context.h
[modify] https://crrev.com/f2f6c7f2ad3b599d35148047e25dad5859dfd120/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
[modify] https://crrev.com/f2f6c7f2ad3b599d35148047e25dad5859dfd120/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h

Project Member

Comment 16 by bugdroid1@chromium.org, Jul 5

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

commit cc32171dd7d0a35a6bcebd7a4a38c202a108e771
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Thu Jul 05 08:47:09 2018

Loader: Make FetchClientSettingsObjectSnapshot GC-managed

This is a preparation for [1]. The most noticeable change in this CL is to add
CrossThreadFetchClientSettingsObjectData. This is a holder to contain a copy of
thread-unsafe data originally owned by the GC-managed class, and used for
passing the snapshot across threads.

[1] https://chromium-review.googlesource.com/c/chromium/src/+/1124209

Bug: 845285
Change-Id: I2c01bff881d4e181f53f676e39d58730ff06a43e
Reviewed-on: https://chromium-review.googlesource.com/1124730
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572740}
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/layout/custom/layout_worklet_global_scope_proxy.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/layout/custom/layout_worklet_global_scope_proxy.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/loader/link_loader.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/loader/link_loader_test.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/loader/modulescript/module_script_loader.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/loader/modulescript/module_script_loader.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/loader/modulescript/module_script_loader_test.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/loader/modulescript/module_tree_linker.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/loader/modulescript/module_tree_linker.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/loader/modulescript/module_tree_linker_test.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/script/dynamic_module_resolver.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/script/dynamic_module_resolver_test.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/script/fetch_client_settings_object_snapshot.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/script/fetch_client_settings_object_snapshot.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/script/modulator.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/script/modulator_impl_base.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/script/modulator_impl_base.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/script/module_map.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/script/module_map.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/script/module_map_test.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/script/script_loader.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/script/script_loader.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/testing/dummy_modulator.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/testing/dummy_modulator.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/dedicated_worker.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/shared_worker_global_scope.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/shared_worker_global_scope.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/threaded_worklet_messaging_proxy.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/threaded_worklet_messaging_proxy.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/threaded_worklet_object_proxy.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/threaded_worklet_object_proxy.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/worker_global_scope.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/worker_or_worklet_global_scope.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/worker_or_worklet_global_scope.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/worker_thread.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/worker_thread.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/worker_thread_test_helper.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/worklet.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/worklet_global_scope.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/worklet_global_scope.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/core/workers/worklet_global_scope_proxy.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope_proxy.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope_proxy.h
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/modules/serviceworkers/service_worker_global_scope.cc
[modify] https://crrev.com/cc32171dd7d0a35a6bcebd7a4a38c202a108e771/third_party/blink/renderer/modules/serviceworkers/service_worker_global_scope.h

Project Member

Comment 17 by bugdroid1@chromium.org, Jul 5

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

commit 8326c318be0646674658e241e8765afe7d63eee7
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Thu Jul 05 15:45:51 2018

Loader: Introduce FetchSettingsClientObject in BaseFetchContext

<Overview>

This CL introduces FetchSettingsClientObject in BaseFetchContext and replaces
some functions of BaseFetchContext with that. This makes the scope of
responsibilities of BaseFetchContext clearer.

Also, this is a preparation for separating ResourceFetcher for main resource
request and subresource requests for workers and worklets. The main resource
request needs a snapshot of the fetch client settings object of the parent
execution context, while the subresource requests need up-to-date values of the
fetch client settings object of the worker / worklet execution context. This
change enables a subsequent CL easily to inject the fetch client settings object
from externals of WorkerFetchContext.

<Technical details>

- This CL introduces FetchSettingsClientObject interface and
  FetchSettingsClientObjectImpl. Also, this makes
  FetchSettingsClientObjectSnapshot inherit the interface so that
  BaseFetchContext doesn't have to take care of an actual implementation.
- FrameFetchContext has the FrozenState concept that is used for keeping states
  even after the frame is detached. Similarly, this CL makes FrameFetchContext
  creates a new instance of FetchSettingsClientObjectSnapshot on frame detach,
  and replace the current |fetch_client_settings_object_| with that.

Bug: 845285
Change-Id: I29e2dbac640507e6c128da932737cacb7a844920
Reviewed-on: https://chromium-review.googlesource.com/1124209
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572805}
[modify] https://crrev.com/8326c318be0646674658e241e8765afe7d63eee7/third_party/blink/renderer/core/loader/base_fetch_context.cc
[modify] https://crrev.com/8326c318be0646674658e241e8765afe7d63eee7/third_party/blink/renderer/core/loader/base_fetch_context.h
[modify] https://crrev.com/8326c318be0646674658e241e8765afe7d63eee7/third_party/blink/renderer/core/loader/base_fetch_context_test.cc
[modify] https://crrev.com/8326c318be0646674658e241e8765afe7d63eee7/third_party/blink/renderer/core/loader/frame_fetch_context.cc
[modify] https://crrev.com/8326c318be0646674658e241e8765afe7d63eee7/third_party/blink/renderer/core/loader/frame_fetch_context.h
[modify] https://crrev.com/8326c318be0646674658e241e8765afe7d63eee7/third_party/blink/renderer/core/loader/modulescript/module_tree_linker.cc
[modify] https://crrev.com/8326c318be0646674658e241e8765afe7d63eee7/third_party/blink/renderer/core/loader/worker_fetch_context.cc
[modify] https://crrev.com/8326c318be0646674658e241e8765afe7d63eee7/third_party/blink/renderer/core/loader/worker_fetch_context.h
[modify] https://crrev.com/8326c318be0646674658e241e8765afe7d63eee7/third_party/blink/renderer/core/script/BUILD.gn
[add] https://crrev.com/8326c318be0646674658e241e8765afe7d63eee7/third_party/blink/renderer/core/script/fetch_client_settings_object.h
[add] https://crrev.com/8326c318be0646674658e241e8765afe7d63eee7/third_party/blink/renderer/core/script/fetch_client_settings_object_impl.cc
[add] https://crrev.com/8326c318be0646674658e241e8765afe7d63eee7/third_party/blink/renderer/core/script/fetch_client_settings_object_impl.h
[modify] https://crrev.com/8326c318be0646674658e241e8765afe7d63eee7/third_party/blink/renderer/core/script/fetch_client_settings_object_snapshot.h

Project Member

Comment 18 by bugdroid1@chromium.org, Jul 5

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

commit 4b1182bd125001adecd65ae792aa7b587cea99b7
Author: Kenneth Russell <kbr@chromium.org>
Date: Thu Jul 05 18:56:47 2018

Revert "Loader: Introduce FetchSettingsClientObject in BaseFetchContext"

This reverts commit 8326c318be0646674658e241e8765afe7d63eee7.

Reason for revert: believe this may be the cause of random crashes in the WebGL 2.0 conformance tests per  http://crbug.com/860517  .

Bug:  860517 

Original change's description:
> Loader: Introduce FetchSettingsClientObject in BaseFetchContext
> 
> <Overview>
> 
> This CL introduces FetchSettingsClientObject in BaseFetchContext and replaces
> some functions of BaseFetchContext with that. This makes the scope of
> responsibilities of BaseFetchContext clearer.
> 
> Also, this is a preparation for separating ResourceFetcher for main resource
> request and subresource requests for workers and worklets. The main resource
> request needs a snapshot of the fetch client settings object of the parent
> execution context, while the subresource requests need up-to-date values of the
> fetch client settings object of the worker / worklet execution context. This
> change enables a subsequent CL easily to inject the fetch client settings object
> from externals of WorkerFetchContext.
> 
> <Technical details>
> 
> - This CL introduces FetchSettingsClientObject interface and
>   FetchSettingsClientObjectImpl. Also, this makes
>   FetchSettingsClientObjectSnapshot inherit the interface so that
>   BaseFetchContext doesn't have to take care of an actual implementation.
> - FrameFetchContext has the FrozenState concept that is used for keeping states
>   even after the frame is detached. Similarly, this CL makes FrameFetchContext
>   creates a new instance of FetchSettingsClientObjectSnapshot on frame detach,
>   and replace the current |fetch_client_settings_object_| with that.
> 
> Bug: 845285
> Change-Id: I29e2dbac640507e6c128da932737cacb7a844920
> Reviewed-on: https://chromium-review.googlesource.com/1124209
> Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
> Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#572805}

TBR=kinuko@chromium.org,hiroshige@chromium.org,kouhei@chromium.org,nhiroki@chromium.org

Change-Id: I807d2256b0054cd06ae931392cd192c3a50bb850
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 845285
Reviewed-on: https://chromium-review.googlesource.com/1127420
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572834}
[modify] https://crrev.com/4b1182bd125001adecd65ae792aa7b587cea99b7/third_party/blink/renderer/core/loader/base_fetch_context.cc
[modify] https://crrev.com/4b1182bd125001adecd65ae792aa7b587cea99b7/third_party/blink/renderer/core/loader/base_fetch_context.h
[modify] https://crrev.com/4b1182bd125001adecd65ae792aa7b587cea99b7/third_party/blink/renderer/core/loader/base_fetch_context_test.cc
[modify] https://crrev.com/4b1182bd125001adecd65ae792aa7b587cea99b7/third_party/blink/renderer/core/loader/frame_fetch_context.cc
[modify] https://crrev.com/4b1182bd125001adecd65ae792aa7b587cea99b7/third_party/blink/renderer/core/loader/frame_fetch_context.h
[modify] https://crrev.com/4b1182bd125001adecd65ae792aa7b587cea99b7/third_party/blink/renderer/core/loader/modulescript/module_tree_linker.cc
[modify] https://crrev.com/4b1182bd125001adecd65ae792aa7b587cea99b7/third_party/blink/renderer/core/loader/worker_fetch_context.cc
[modify] https://crrev.com/4b1182bd125001adecd65ae792aa7b587cea99b7/third_party/blink/renderer/core/loader/worker_fetch_context.h
[modify] https://crrev.com/4b1182bd125001adecd65ae792aa7b587cea99b7/third_party/blink/renderer/core/script/BUILD.gn
[delete] https://crrev.com/c92e44c00324be13288005dea74f3118979fcfd1/third_party/blink/renderer/core/script/fetch_client_settings_object.h
[delete] https://crrev.com/c92e44c00324be13288005dea74f3118979fcfd1/third_party/blink/renderer/core/script/fetch_client_settings_object_impl.cc
[delete] https://crrev.com/c92e44c00324be13288005dea74f3118979fcfd1/third_party/blink/renderer/core/script/fetch_client_settings_object_impl.h
[modify] https://crrev.com/4b1182bd125001adecd65ae792aa7b587cea99b7/third_party/blink/renderer/core/script/fetch_client_settings_object_snapshot.h

Blockedon: 860517
https://chromium-review.googlesource.com/1124209 was definitely the cause of random crashes in the WebGL conformance tests, per analysis in  Issue 860517 .

nhiroki@, please debug this before attempting to re-land the CL above. Also please add a Cq-Include-Trybots line to your new CL which runs the optional GPU trybots, similarly to this CL:
https://chromium-review.googlesource.com/1126394

like this:
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel

Thanks.

kbr@: Thank you for sheriffing and sharing how to run the trybots. That's really helpful. I'll make sure the reland patch satisfies those bots.
Project Member

Comment 22 by bugdroid1@chromium.org, Jul 10

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

commit ac69965e7aa6918cb2c6830690f3fe6b4a07f2e9
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Tue Jul 10 09:06:49 2018

Loader: Remove dependencies on WorkerGlobalScope from MixedContentChecker

MixedContentChecker is fetch-ish things and thus should refer fetch client's
settings object. However, WorkerGlobalScope doesn't correspond to the fetch
client, while Document does. Especially after Issue 845285, there will be two
FetchContext per WorkerGlobalScope (because in the spec there are two fetch
client's settings objects per worker global scope). Therefore,
MixedContentChecker should refer to FetchContext or WorkerFetchContext.

Credit: This CL description was borrowed from comments by hiroshige@chromium.org.

Bug: 845285
Change-Id: I6527e19b0d844b5d2a0d7621998e5dc01a806b47
Reviewed-on: https://chromium-review.googlesource.com/1126879
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573652}
[modify] https://crrev.com/ac69965e7aa6918cb2c6830690f3fe6b4a07f2e9/third_party/blink/renderer/core/frame/csp/content_security_policy.cc
[modify] https://crrev.com/ac69965e7aa6918cb2c6830690f3fe6b4a07f2e9/third_party/blink/renderer/core/frame/csp/content_security_policy.h
[modify] https://crrev.com/ac69965e7aa6918cb2c6830690f3fe6b4a07f2e9/third_party/blink/renderer/core/loader/frame_fetch_context.cc
[modify] https://crrev.com/ac69965e7aa6918cb2c6830690f3fe6b4a07f2e9/third_party/blink/renderer/core/loader/mixed_content_checker.cc
[modify] https://crrev.com/ac69965e7aa6918cb2c6830690f3fe6b4a07f2e9/third_party/blink/renderer/core/loader/mixed_content_checker.h
[modify] https://crrev.com/ac69965e7aa6918cb2c6830690f3fe6b4a07f2e9/third_party/blink/renderer/core/loader/worker_fetch_context.cc
[modify] https://crrev.com/ac69965e7aa6918cb2c6830690f3fe6b4a07f2e9/third_party/blink/renderer/core/loader/worker_fetch_context.h

Project Member

Comment 23 by bugdroid1@chromium.org, Jul 10

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

commit 816c225adc6c453c861597ed524c8ea4487dacdb
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Tue Jul 10 12:29:50 2018

Loader: Remove unused WorkerFetchContext::resource_fetcher_

Bug: 845285
Change-Id: I45a8e9aeac448f776ec00c075e4cf2ab6deabd9a
Reviewed-on: https://chromium-review.googlesource.com/1131039
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573690}
[modify] https://crrev.com/816c225adc6c453c861597ed524c8ea4487dacdb/third_party/blink/renderer/core/loader/worker_fetch_context.cc
[modify] https://crrev.com/816c225adc6c453c861597ed524c8ea4487dacdb/third_party/blink/renderer/core/loader/worker_fetch_context.h

Reg c#20,21: keishi@ fixed the root cause in the Oilpan (issue 861624). I'll try to land the CL again.
Project Member

Comment 25 by bugdroid1@chromium.org, Jul 10

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

commit d47f25b8130ad766233ccc3ee3b26f4c5c5b4add
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Tue Jul 10 23:27:52 2018

[Reland] Loader: Introduce FetchSettingsClientObject in BaseFetchContext

This is a reland CL for:
https://chromium-review.googlesource.com/c/chromium/src/+/1124209

The original CL was reverted because of the random crashes in the WebGL 2.0
conformance tests:
https://chromium-review.googlesource.com/c/chromium/src/+/1127420

This was caused by an Oilpan's GC bug happening only on the debug build. That
was already fixed by keishi@chromium.org:
https://chromium-review.googlesource.com/c/chromium/src/+/1131154

Therefore, this CL changes nothing from the original CL.

===== Original CL description =====

<Overview>

This CL introduces FetchSettingsClientObject in BaseFetchContext and replaces
some functions of BaseFetchContext with that. This makes the scope of
responsibilities of BaseFetchContext clearer.

Also, this is a preparation for separating ResourceFetcher for main resource
request and subresource requests for workers and worklets. The main resource
request needs a snapshot of the fetch client settings object of the parent
execution context, while the subresource requests need up-to-date values of the
fetch client settings object of the worker / worklet execution context. This
change enables a subsequent CL easily to inject the fetch client settings object
from externals of WorkerFetchContext.

<Technical details>

- This CL introduces FetchSettingsClientObject interface and
  FetchSettingsClientObjectImpl. Also, this makes
  FetchSettingsClientObjectSnapshot inherit the interface so that
  BaseFetchContext doesn't have to take care of an actual implementation.
- FrameFetchContext has the FrozenState concept that is used for keeping states
  even after the frame is detached. Similarly, this CL makes FrameFetchContext
  creates a new instance of FetchSettingsClientObjectSnapshot on frame detach,
  and replace the current |fetch_client_settings_object_| with that.

Bug: 845285
Change-Id: I74b43722002bb07197d718d3f266bbe384636b66
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
TBR: kouhei@chromium.org, kinuko@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/1127202
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573983}
[modify] https://crrev.com/d47f25b8130ad766233ccc3ee3b26f4c5c5b4add/third_party/blink/renderer/core/loader/base_fetch_context.cc
[modify] https://crrev.com/d47f25b8130ad766233ccc3ee3b26f4c5c5b4add/third_party/blink/renderer/core/loader/base_fetch_context.h
[modify] https://crrev.com/d47f25b8130ad766233ccc3ee3b26f4c5c5b4add/third_party/blink/renderer/core/loader/base_fetch_context_test.cc
[modify] https://crrev.com/d47f25b8130ad766233ccc3ee3b26f4c5c5b4add/third_party/blink/renderer/core/loader/frame_fetch_context.cc
[modify] https://crrev.com/d47f25b8130ad766233ccc3ee3b26f4c5c5b4add/third_party/blink/renderer/core/loader/frame_fetch_context.h
[modify] https://crrev.com/d47f25b8130ad766233ccc3ee3b26f4c5c5b4add/third_party/blink/renderer/core/loader/modulescript/module_tree_linker.cc
[modify] https://crrev.com/d47f25b8130ad766233ccc3ee3b26f4c5c5b4add/third_party/blink/renderer/core/loader/worker_fetch_context.cc
[modify] https://crrev.com/d47f25b8130ad766233ccc3ee3b26f4c5c5b4add/third_party/blink/renderer/core/loader/worker_fetch_context.h
[modify] https://crrev.com/d47f25b8130ad766233ccc3ee3b26f4c5c5b4add/third_party/blink/renderer/core/script/BUILD.gn
[add] https://crrev.com/d47f25b8130ad766233ccc3ee3b26f4c5c5b4add/third_party/blink/renderer/core/script/fetch_client_settings_object.h
[add] https://crrev.com/d47f25b8130ad766233ccc3ee3b26f4c5c5b4add/third_party/blink/renderer/core/script/fetch_client_settings_object_impl.cc
[add] https://crrev.com/d47f25b8130ad766233ccc3ee3b26f4c5c5b4add/third_party/blink/renderer/core/script/fetch_client_settings_object_impl.h
[modify] https://crrev.com/d47f25b8130ad766233ccc3ee3b26f4c5c5b4add/third_party/blink/renderer/core/script/fetch_client_settings_object_snapshot.h

Project Member

Comment 26 by bugdroid1@chromium.org, Jul 11

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

commit 7d5cd5ba0096346afe49e6c5d01798511a268bc6
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Wed Jul 11 06:16:42 2018

Loader: Move FetchContext::CheckResponseNosniff() to ResourceLoader

FetchContext::CheckResponseNosniff() is called only from ResourceLoader. That
should be placed in ResourceLoader for code health.

Bug: 845285
Change-Id: I3174ec08c046d3f95eaf304d23bcb29105c0c67f
Reviewed-on: https://chromium-review.googlesource.com/1131044
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574086}
[modify] https://crrev.com/7d5cd5ba0096346afe49e6c5d01798511a268bc6/third_party/blink/renderer/core/loader/base_fetch_context.cc
[modify] https://crrev.com/7d5cd5ba0096346afe49e6c5d01798511a268bc6/third_party/blink/renderer/core/loader/base_fetch_context.h
[modify] https://crrev.com/7d5cd5ba0096346afe49e6c5d01798511a268bc6/third_party/blink/renderer/platform/loader/fetch/fetch_context.h
[modify] https://crrev.com/7d5cd5ba0096346afe49e6c5d01798511a268bc6/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
[modify] https://crrev.com/7d5cd5ba0096346afe49e6c5d01798511a268bc6/third_party/blink/renderer/platform/loader/fetch/resource_loader.h
[modify] https://crrev.com/7d5cd5ba0096346afe49e6c5d01798511a268bc6/third_party/blink/renderer/platform/loader/testing/mock_fetch_context.h

Project Member

Comment 27 by bugdroid1@chromium.org, Jul 27

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

commit 15ab44877228859c9f8be9742db75943dd66c666
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Fri Jul 27 07:43:03 2018

Loader: Remove ThreadableLoadingContext

ThreadableLoadingContext has been used for encapsulating
ExecutionContext-dependent things for loaders. Thanks to recent
off-the-main-thread efforts, now most of resource loading can run
off-the-main-thread and this abstraction is no longer necessary.

In addition to removing unnecessary code, this cleanup is useful for removing
WorkerShadowPage for installed service workers (issue 820329), and introducing
FetchClientSettingsObject in loaders (issue 845285).

Bug: 820329, 845285
Change-Id: Id6e329c9c783057ba68abab78a2e86054a3b0c29
TBR: haraken@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/1150957
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Adam Rice <ricea@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578559}
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value_threaded_test.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/core/loader/BUILD.gn
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/core/loader/threadable_loader.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/core/loader/threadable_loader.h
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/core/loader/threadable_loader_test.cc
[delete] https://crrev.com/2fd3efecf7240ef64aec96015ec4052b275e49ab/third_party/blink/renderer/core/loader/threadable_loading_context.cc
[delete] https://crrev.com/2fd3efecf7240ef64aec96015ec4052b275e49ab/third_party/blink/renderer/core/loader/threadable_loading_context.h
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/core/workers/dedicated_worker_test.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/core/workers/dedicated_worker_thread.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/core/workers/dedicated_worker_thread.h
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/core/workers/shared_worker_thread.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/core/workers/shared_worker_thread.h
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/core/workers/threaded_messaging_proxy_base.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/core/workers/threaded_messaging_proxy_base.h
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/core/workers/threaded_worklet_test.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/core/workers/worker_thread.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/core/workers/worker_thread.h
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/core/workers/worker_thread_test.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/core/workers/worker_thread_test_helper.h
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/modules/animationworklet/animation_worklet_global_scope_test.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/modules/animationworklet/animation_worklet_messaging_proxy.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/modules/animationworklet/animation_worklet_thread.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/modules/animationworklet/animation_worklet_thread.h
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/modules/animationworklet/animation_worklet_thread_test.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/modules/service_worker/service_worker_thread.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/modules/service_worker/service_worker_thread.h
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/modules/webaudio/audio_worklet_global_scope_test.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/modules/webaudio/audio_worklet_messaging_proxy.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/modules/webaudio/audio_worklet_thread.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/modules/webaudio/audio_worklet_thread.h
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
[modify] https://crrev.com/15ab44877228859c9f8be9742db75943dd66c666/third_party/blink/renderer/modules/websockets/websocket_channel_impl.h

Blockedon: 878274

Sign in to add a comment