New issue
Advanced search Search tips

Issue 710364 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug

Blocking:
issue 777775



Sign in to add a comment

Redefine concepts of WorkerThread and WorkerBacingThread

Project Member Reported by nhiroki@chromium.org, Apr 11 2017

Issue description

WorkerThread is an overloaded class and its concept is getting unclear. It has a bit too much functionalities and some of them would be misplaced or broken because worklets were introduced.

To improve the situation, we could...

  * redefine WorkerThread as a per-global-scope object and rename it to something more appropriate name like GlobalScopeController, and
  * redefine WorkerBackingThread as a per-platform-thread object and move per-platform-thread things from GlobalScopeController to WorkerBackingThread.

See the design document for more details: https://docs.google.com/document/d/1a0qQwfquxsPLFRmVfaySHic02ll-TaR50J7Va91cL3U/edit?usp=sharing
 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 20 2017

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

commit d56a35fb25dc388a0506174b9e3fda67337313ce
Author: nhiroki <nhiroki@chromium.org>
Date: Thu Apr 20 01:05:33 2017

Worker: Introduce per-global-scope task scheduler

This CL introduces WorkerGlobalScopeScheduler to make it simpler and saner to
manage tasks on worker threads.

Before this CL, tasks on worker threads were always pushed into the thread's
default task queue, they should be handled in different ways based on their
task types though. For example, worker tasks shouldn't run after the global
scope is closed, while thread control tasks should run even after that. To
achieve it, worker tasks were always wrapped with WorkerThread's method to check
the current thread state. This was so tricky.

After this CL, each global scope has its own task queues like per-frame task
scheduler. Worker tasks are pushed into the task queues, control tasks are still
pushed into the thread's default task queue though. Thanks to this separation,
we can abort only worker tasks by simply unregistering the queues when a global
scope is closed.

In addition, this CL unifies postTask interfaces into TaskRunnerHelper (issue
694914), and enables any threads to post a task to worker threads because of
thread-safe refcounted WebTaskRunner.

BUG= 670534 ,  694914 ,  710364 

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

[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/core/dom/TaskRunnerHelper.h
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/core/loader/ThreadableLoaderTest.cpp
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/core/workers/DedicatedWorkerTest.cpp
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/core/workers/InProcessWorkerMessagingProxy.cpp
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/core/workers/InProcessWorkerObjectProxy.cpp
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.cpp
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/core/workers/ThreadedWorkletTest.cpp
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/core/workers/WorkerEventQueue.cpp
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/core/workers/WorkerOrWorkletGlobalScope.cpp
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/core/workers/WorkerThread.cpp
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/core/workers/WorkerThread.h
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/modules/time_zone_monitor/TimeZoneMonitorClient.cpp
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScopeTest.cpp
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/platform/BUILD.gn
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/platform/scheduler/child/compositor_worker_scheduler.cc
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/platform/scheduler/child/compositor_worker_scheduler.h
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/platform/scheduler/child/web_task_runner_impl.h
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/platform/scheduler/child/webthread_base.cc
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/platform/scheduler/child/webthread_impl_for_worker_scheduler.cc
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/platform/scheduler/child/webthread_impl_for_worker_scheduler.h
[add] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/platform/scheduler/child/worker_global_scope_scheduler.cc
[add] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/platform/scheduler/child/worker_global_scope_scheduler.h
[add] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/platform/scheduler/child/worker_global_scope_scheduler_unittest.cc
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/platform/scheduler/child/worker_scheduler.cc
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/platform/scheduler/child/worker_scheduler.h
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/platform/scheduler/child/worker_scheduler_impl.cc
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/platform/scheduler/child/worker_scheduler_impl.h
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/web/WebEmbeddedWorkerImpl.cpp
[modify] https://crrev.com/d56a35fb25dc388a0506174b9e3fda67337313ce/third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp

Project Member

Comment 2 by bugdroid1@chromium.org, Apr 20 2017

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

commit ee6a4f06b0e0561618669ed56e5997af91108c3e
Author: aboxhall <aboxhall@chromium.org>
Date: Thu Apr 20 03:46:24 2017

Revert of Worker: Introduce per-global-scope task scheduler (patchset #22 id:450001 of https://codereview.chromium.org/2806623004/ )

Reason for revert:
Seems to have caused a crash in fast/workers/termination-early.html on Webkit Linux Trusty Leak -
https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux_Trusty_Leak/4107/layout-test-results/results.html
https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Linux%20Trusty%20Leak/builds/4107

https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux_Trusty_Leak/4106/layout-test-results/fast/workers/termination-early-crash-log.txt
https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Linux%20Trusty%20Leak/builds/4106

Original issue's description:
> Worker: Introduce per-global-scope task scheduler
>
> This CL introduces WorkerGlobalScopeScheduler to make it simpler and saner to
> manage tasks on worker threads.
>
> Before this CL, tasks on worker threads were always pushed into the thread's
> default task queue, they should be handled in different ways based on their
> task types though. For example, worker tasks shouldn't run after the global
> scope is closed, while thread control tasks should run even after that. To
> achieve it, worker tasks were always wrapped with WorkerThread's method to check
> the current thread state. This was so tricky.
>
> After this CL, each global scope has its own task queues like per-frame task
> scheduler. Worker tasks are pushed into the task queues, control tasks are still
> pushed into the thread's default task queue though. Thanks to this separation,
> we can abort only worker tasks by simply unregistering the queues when a global
> scope is closed.
>
> In addition, this CL unifies postTask interfaces into TaskRunnerHelper (issue
> 694914), and enables any threads to post a task to worker threads because of
> thread-safe refcounted WebTaskRunner.
>
> BUG= 670534 ,  694914 ,  710364 
>
> Review-Url: https://codereview.chromium.org/2806623004
> Cr-Commit-Position: refs/heads/master@{#465841}
> Committed: https://chromium.googlesource.com/chromium/src/+/d56a35fb25dc388a0506174b9e3fda67337313ce

TBR=kinuko@chromium.org,haraken@chromium.org,tzik@chromium.org,skyostil@chromium.org,altimin@chromium.org,nhiroki@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 670534 ,  694914 ,  710364 

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

[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/core/dom/TaskRunnerHelper.h
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/core/loader/ThreadableLoaderTest.cpp
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/core/workers/DedicatedWorkerTest.cpp
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/core/workers/InProcessWorkerMessagingProxy.cpp
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/core/workers/InProcessWorkerObjectProxy.cpp
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.cpp
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/core/workers/ThreadedWorkletTest.cpp
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/core/workers/WorkerEventQueue.cpp
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/core/workers/WorkerOrWorkletGlobalScope.cpp
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/core/workers/WorkerThread.cpp
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/core/workers/WorkerThread.h
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/modules/time_zone_monitor/TimeZoneMonitorClient.cpp
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScopeTest.cpp
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/platform/BUILD.gn
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/platform/scheduler/child/compositor_worker_scheduler.cc
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/platform/scheduler/child/compositor_worker_scheduler.h
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/platform/scheduler/child/web_task_runner_impl.h
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/platform/scheduler/child/webthread_base.cc
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/platform/scheduler/child/webthread_impl_for_worker_scheduler.cc
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/platform/scheduler/child/webthread_impl_for_worker_scheduler.h
[delete] https://crrev.com/c695cc71ebc3348aa9db521f7f4324502a0134e3/third_party/WebKit/Source/platform/scheduler/child/worker_global_scope_scheduler.cc
[delete] https://crrev.com/c695cc71ebc3348aa9db521f7f4324502a0134e3/third_party/WebKit/Source/platform/scheduler/child/worker_global_scope_scheduler.h
[delete] https://crrev.com/c695cc71ebc3348aa9db521f7f4324502a0134e3/third_party/WebKit/Source/platform/scheduler/child/worker_global_scope_scheduler_unittest.cc
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/platform/scheduler/child/worker_scheduler.cc
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/platform/scheduler/child/worker_scheduler.h
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/platform/scheduler/child/worker_scheduler_impl.cc
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/platform/scheduler/child/worker_scheduler_impl.h
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/web/WebEmbeddedWorkerImpl.cpp
[modify] https://crrev.com/ee6a4f06b0e0561618669ed56e5997af91108c3e/third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp

Project Member

Comment 3 by bugdroid1@chromium.org, Apr 20 2017

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

commit 7800a474d39eacc36c6c247f6a956e15f5d2489a
Author: nhiroki <nhiroki@chromium.org>
Date: Thu Apr 20 10:06:51 2017

Reland of Worker: Introduce per-global-scope task scheduler

I couldn't reproduce the failure on my local machine and trybots.
If this still fails the tests only on the specific bot, I'll mark them with
SKIP and fix them in a separate CL.

Original issue's description:
> Revert of Worker: Introduce per-global-scope task scheduler (patchset #22 id:450001 of https://codereview.chromium.org/2806623004/ )
>
> Reason for revert:
> Seems to have caused a crash in fast/workers/termination-early.html on Webkit Linux Trusty Leak -
> https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux_Trusty_Leak/4107/layout-test-results/results.html
> https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Linux%20Trusty%20Leak/builds/4107
>
> https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux_Trusty_Leak/4106/layout-test-results/fast/workers/termination-early-crash-log.txt
> https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Linux%20Trusty%20Leak/builds/4106
>
> Original issue's description:
> > Worker: Introduce per-global-scope task scheduler
> >
> > This CL introduces WorkerGlobalScopeScheduler to make it simpler and saner to
> > manage tasks on worker threads.
> >
> > Before this CL, tasks on worker threads were always pushed into the thread's
> > default task queue, they should be handled in different ways based on their
> > task types though. For example, worker tasks shouldn't run after the global
> > scope is closed, while thread control tasks should run even after that. To
> > achieve it, worker tasks were always wrapped with WorkerThread's method to check
> > the current thread state. This was so tricky.
> >
> > After this CL, each global scope has its own task queues like per-frame task
> > scheduler. Worker tasks are pushed into the task queues, control tasks are still
> > pushed into the thread's default task queue though. Thanks to this separation,
> > we can abort only worker tasks by simply unregistering the queues when a global
> > scope is closed.
> >
> > In addition, this CL unifies postTask interfaces into TaskRunnerHelper (issue
> > 694914), and enables any threads to post a task to worker threads because of
> > thread-safe refcounted WebTaskRunner.
> >
> > BUG= 670534 ,  694914 ,  710364 
> >
> > Review-Url: https://codereview.chromium.org/2806623004
> > Cr-Commit-Position: refs/heads/master@{#465841}
> > Committed: https://chromium.googlesource.com/chromium/src/+/d56a35fb25dc388a0506174b9e3fda67337313ce
>
> TBR=kinuko@chromium.org,haraken@chromium.org,tzik@chromium.org,skyostil@chromium.org,altimin@chromium.org,nhiroki@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG= 670534 ,  694914 ,  710364 
>
> Review-Url: https://codereview.chromium.org/2831843002
> Cr-Commit-Position: refs/heads/master@{#465892}
> Committed: https://chromium.googlesource.com/chromium/src/+/ee6a4f06b0e0561618669ed56e5997af91108c3e

TBR=kinuko@chromium.org,haraken@chromium.org,tzik@chromium.org,skyostil@chromium.org,altimin@chromium.org,aboxhall@chromium.org
BUG= 670534 ,  694914 ,  710364 

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

[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/core/dom/TaskRunnerHelper.h
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/core/loader/ThreadableLoaderTest.cpp
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/core/workers/DedicatedWorkerTest.cpp
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/core/workers/InProcessWorkerMessagingProxy.cpp
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/core/workers/InProcessWorkerObjectProxy.cpp
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.cpp
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/core/workers/ThreadedWorkletTest.cpp
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/core/workers/WorkerEventQueue.cpp
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/core/workers/WorkerOrWorkletGlobalScope.cpp
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/core/workers/WorkerThread.cpp
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/core/workers/WorkerThread.h
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/modules/time_zone_monitor/TimeZoneMonitorClient.cpp
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScopeTest.cpp
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/platform/BUILD.gn
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/platform/scheduler/child/compositor_worker_scheduler.cc
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/platform/scheduler/child/compositor_worker_scheduler.h
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/platform/scheduler/child/web_task_runner_impl.h
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/platform/scheduler/child/webthread_base.cc
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/platform/scheduler/child/webthread_impl_for_worker_scheduler.cc
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/platform/scheduler/child/webthread_impl_for_worker_scheduler.h
[add] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/platform/scheduler/child/worker_global_scope_scheduler.cc
[add] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/platform/scheduler/child/worker_global_scope_scheduler.h
[add] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/platform/scheduler/child/worker_global_scope_scheduler_unittest.cc
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/platform/scheduler/child/worker_scheduler.cc
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/platform/scheduler/child/worker_scheduler.h
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/platform/scheduler/child/worker_scheduler_impl.cc
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/platform/scheduler/child/worker_scheduler_impl.h
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/web/WebEmbeddedWorkerImpl.cpp
[modify] https://crrev.com/7800a474d39eacc36c6c247f6a956e15f5d2489a/third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp

Project Member

Comment 4 by bugdroid1@chromium.org, Jul 13 2017

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

commit 2d6bc176fea781bffc262ebb26e17794e48becb8
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Thu Jul 13 01:48:36 2017

Worker: Avoid settings Isolate to V8 parameters multiple times

This CL ensures that Isolate is set to V8 parameters (e.g., HeapLimitMode) only
one time.

Isolate can be shared by WorkerThreads for worklets. Before this CL, Isolate is
set to the parameters every time a new WorkerThread is created. This is harmless
because Isolate is shared only by homogenous global scopes and given parameters
are always the same, but it shouldn't be a good design.

Bug:  710364 
Change-Id: Ic44f1d5d2faebcc8b44c15d91e6afaa715045343
Reviewed-on: https://chromium-review.googlesource.com/567794
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#486213}
[modify] https://crrev.com/2d6bc176fea781bffc262ebb26e17794e48becb8/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorldTest.cpp
[modify] https://crrev.com/2d6bc176fea781bffc262ebb26e17794e48becb8/third_party/WebKit/Source/core/workers/WorkerBackingThread.cpp
[modify] https://crrev.com/2d6bc176fea781bffc262ebb26e17794e48becb8/third_party/WebKit/Source/core/workers/WorkerBackingThread.h
[modify] https://crrev.com/2d6bc176fea781bffc262ebb26e17794e48becb8/third_party/WebKit/Source/core/workers/WorkerThread.cpp
[modify] https://crrev.com/2d6bc176fea781bffc262ebb26e17794e48becb8/third_party/WebKit/Source/core/workers/WorkerThreadStartupData.h
[modify] https://crrev.com/2d6bc176fea781bffc262ebb26e17794e48becb8/third_party/WebKit/Source/core/workers/WorkletThreadHolder.h

Project Member

Comment 5 by bugdroid1@chromium.org, Jul 18 2017

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

commit 0b2947ef4ff77a580138931c2f4df8959215a0f9
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Tue Jul 18 11:31:50 2017

Worker: Separate WorkerThreadStartupData for cleanup

This CL separates WorkerThreadStartupData into 2 structs:
GlobalScopeCreationParams for creating global scope and
WorkerBackingThreadStartupData for initializing WorkerBackingThread.

Before this CL, WorkerThreadStartupData contains both the data and it causes
awkward initialization like [1]. This CL simplifies parameter handling and
unblocks further refactorings like separating WorkerBackingThread initialization
from WorkerThread.

[1] https://chromium-review.googlesource.com/c/567794/

Bug:  710364 
Change-Id: I3123b84faa8df29bcc0988395f5efb7906ba2341
Reviewed-on: https://chromium-review.googlesource.com/571519
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487443}
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/bindings/bindings.gni
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorldTest.cpp
[delete] https://crrev.com/6a576a58c36bcaf95478b30392ae6ecf2cfc5af6/third_party/WebKit/Source/bindings/core/v8/WorkerV8Settings.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/exported/WebSharedWorkerImpl.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/BUILD.gn
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/DedicatedWorkerGlobalScope.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/DedicatedWorkerGlobalScope.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/DedicatedWorkerMessagingProxy.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/DedicatedWorkerMessagingProxy.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/DedicatedWorkerTest.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/DedicatedWorkerThread.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/DedicatedWorkerThread.h
[add] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/GlobalScopeCreationParams.cpp
[add] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/GlobalScopeCreationParams.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/InProcessWorkerMessagingProxy.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/InProcessWorkerMessagingProxy.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/SharedWorkerGlobalScope.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/SharedWorkerGlobalScope.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/SharedWorkerThread.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/SharedWorkerThread.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/ThreadedWorkletMessagingProxy.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/ThreadedWorkletTest.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/WorkerBackingThread.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/WorkerBackingThread.h
[add] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/WorkerBackingThreadStartupData.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/WorkerThread.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/WorkerThread.h
[delete] https://crrev.com/6a576a58c36bcaf95478b30392ae6ecf2cfc5af6/third_party/WebKit/Source/core/workers/WorkerThreadStartupData.cpp
[delete] https://crrev.com/6a576a58c36bcaf95478b30392ae6ecf2cfc5af6/third_party/WebKit/Source/core/workers/WorkerThreadStartupData.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/WorkerThreadTest.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/WorkerThreadTestHelper.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/core/workers/WorkletThreadHolder.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletGlobalScopeTest.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletThread.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletThread.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletThreadTest.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/compositorworker/CompositorWorkerGlobalScope.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/compositorworker/CompositorWorkerGlobalScope.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/compositorworker/CompositorWorkerMessagingProxy.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/compositorworker/CompositorWorkerMessagingProxy.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/compositorworker/CompositorWorkerThread.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/compositorworker/CompositorWorkerThread.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/compositorworker/CompositorWorkerThreadTest.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/exported/WebEmbeddedWorkerImpl.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerGlobalScope.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerGlobalScope.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerThread.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerThread.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScopeTest.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/webaudio/AudioWorkletThread.cpp
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/webaudio/AudioWorkletThread.h
[modify] https://crrev.com/0b2947ef4ff77a580138931c2f4df8959215a0f9/third_party/WebKit/Source/modules/webaudio/AudioWorkletThreadTest.cpp

Project Member

Comment 6 by bugdroid1@chromium.org, Jul 28 2017

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

commit 125504917421425b5411cdd7198a4ad7919ee5f6
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Fri Jul 28 05:59:37 2017

Worker: Clear WorkerOrWorkletGlobalScope in PrepareForShutdownOnWorkerThread()

This is a cleanup CL and shouldn't change behavior.

Before this CL, WorkerThread clears WorkerOrWorkletGlobalScope in
PerformShutdownOnWorkerThread() to be called in the last of WorkerThread
termination. However, we don't have to keep it until the last function and it'd
be more natural to clear it up in PrepareForShutdownOnWorkerThread() that calls
WorkerOrWorkletGlobalScope::Dispose() etc.

This CL moves the clearance to PrepareForShutdownOnWorkerThread() and removes
outdated comments added before the Oilpan is enabled.

Bug:  710364 
Change-Id: Ibdc36555129d2d67c9f9cab9f47fb8dd4d31334f
Reviewed-on: https://chromium-review.googlesource.com/590336
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490292}
[modify] https://crrev.com/125504917421425b5411cdd7198a4ad7919ee5f6/third_party/WebKit/Source/core/workers/WorkerThread.cpp

Project Member

Comment 7 by bugdroid1@chromium.org, Jul 28 2017

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

commit bcae6b3deb023f6494441a8f3b993f9edc3b56d6
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Fri Jul 28 08:41:29 2017

Worker: Remove redundant InspectorTaskRunner::Kill() call from WorkerThread

Before this CL, WorkerThread::PerformDebuggerTaskOnWorkerThread() calls
InspectorTaskRunner::Kill() if WorkerThread::requested_to_terminate_ is set.
However, if the flag is set, InspectorTaskRunner::Kill() should already be
called in WorkerThread::Terminate(). Note that InspectorTaskRunner::Kill() is
thread-safe and can be called from both the main thraed and worker thread.

This CL removes such the redundant call for cleanup.

Bug:  710364 
Change-Id: If5d4668a70e97bb19fa802ca7ff42f0cf30fc70a
Reviewed-on: https://chromium-review.googlesource.com/575300
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490318}
[modify] https://crrev.com/bcae6b3deb023f6494441a8f3b993f9edc3b56d6/third_party/WebKit/Source/core/workers/WorkerThread.cpp

Project Member

Comment 8 by bugdroid1@chromium.org, Oct 10 2017

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

commit 2524cafdad659ef274f6ca4dfce7ffbe6fed7449
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Tue Oct 10 17:52:36 2017

Worker: Pass GlobalScopeCreationParams to the ctors of *WorkerGlobalScope

This is a cleanup CL. No test added, no behavior change.

Before this CL, the ctors of *WorkerGlobalScope take params decomposed from
GlobalScopeCreationParams. This is redundant.

After this CL, the ctor of *WorkerGlobalScope take GlobalScopeCreationParams. In
addition, this CL removes the V8CacheOptions param from EvaluateClassicScript()
because *WorkerGlobalScope take it via the ctors.

Bug:  710364 
Change-Id: I33ffddcf941ebfd9a4476f8461999a00e1b0e8da
Reviewed-on: https://chromium-review.googlesource.com/708100
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507709}
[modify] https://crrev.com/2524cafdad659ef274f6ca4dfce7ffbe6fed7449/third_party/WebKit/Source/core/workers/DedicatedWorkerGlobalScope.cpp
[modify] https://crrev.com/2524cafdad659ef274f6ca4dfce7ffbe6fed7449/third_party/WebKit/Source/core/workers/DedicatedWorkerGlobalScope.h
[modify] https://crrev.com/2524cafdad659ef274f6ca4dfce7ffbe6fed7449/third_party/WebKit/Source/core/workers/DedicatedWorkerTest.cpp
[modify] https://crrev.com/2524cafdad659ef274f6ca4dfce7ffbe6fed7449/third_party/WebKit/Source/core/workers/DedicatedWorkerThread.cpp
[modify] https://crrev.com/2524cafdad659ef274f6ca4dfce7ffbe6fed7449/third_party/WebKit/Source/core/workers/SharedWorkerGlobalScope.cpp
[modify] https://crrev.com/2524cafdad659ef274f6ca4dfce7ffbe6fed7449/third_party/WebKit/Source/core/workers/SharedWorkerGlobalScope.h
[modify] https://crrev.com/2524cafdad659ef274f6ca4dfce7ffbe6fed7449/third_party/WebKit/Source/core/workers/SharedWorkerThread.cpp
[modify] https://crrev.com/2524cafdad659ef274f6ca4dfce7ffbe6fed7449/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
[modify] https://crrev.com/2524cafdad659ef274f6ca4dfce7ffbe6fed7449/third_party/WebKit/Source/core/workers/WorkerGlobalScope.h
[modify] https://crrev.com/2524cafdad659ef274f6ca4dfce7ffbe6fed7449/third_party/WebKit/Source/core/workers/WorkerOrWorkletGlobalScope.h
[modify] https://crrev.com/2524cafdad659ef274f6ca4dfce7ffbe6fed7449/third_party/WebKit/Source/core/workers/WorkerThread.cpp
[modify] https://crrev.com/2524cafdad659ef274f6ca4dfce7ffbe6fed7449/third_party/WebKit/Source/core/workers/WorkerThreadTest.cpp
[modify] https://crrev.com/2524cafdad659ef274f6ca4dfce7ffbe6fed7449/third_party/WebKit/Source/core/workers/WorkerThreadTestHelper.h
[modify] https://crrev.com/2524cafdad659ef274f6ca4dfce7ffbe6fed7449/third_party/WebKit/Source/core/workers/WorkletGlobalScope.cpp
[modify] https://crrev.com/2524cafdad659ef274f6ca4dfce7ffbe6fed7449/third_party/WebKit/Source/core/workers/WorkletGlobalScope.h
[modify] https://crrev.com/2524cafdad659ef274f6ca4dfce7ffbe6fed7449/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerGlobalScope.cpp
[modify] https://crrev.com/2524cafdad659ef274f6ca4dfce7ffbe6fed7449/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerGlobalScope.h

Project Member

Comment 9 by bugdroid1@chromium.org, Oct 24 2017

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

commit f34c0ec7e1bae02695666d69135b1c6cce65ed46
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Tue Oct 24 05:04:53 2017

Worker: Replace WorkerThreadStartMode with WorkerInspectorProxy::PauseOnWorkerStart

For code cleanup, this CL...

- excludes WorkerThreadStartMode from GlobalScopeCreationParams because the mode
  is not used for creating a global scope, and
- moves WorkerThreadStartMode from WorkerThread.h to
  WorkerInspectorProxy::PauseOnWorkerStart because the mode is used only for the
  inspector.

This doesn't change behavior, so doesn't add tests.

Bug:  710364 
Change-Id: I8c006c6950028d7e7da2fcb34fd3823bd9d203c4
Reviewed-on: https://chromium-review.googlesource.com/732804
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511041}
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/core/exported/WebSharedWorkerImpl.cpp
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/core/workers/DedicatedWorkerMessagingProxy.cpp
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/core/workers/DedicatedWorkerTest.cpp
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/core/workers/GlobalScopeCreationParams.cpp
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/core/workers/GlobalScopeCreationParams.h
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.cpp
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.h
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/core/workers/ThreadedWorkletMessagingProxy.cpp
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/core/workers/ThreadedWorkletTest.cpp
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/core/workers/WorkerInspectorProxy.cpp
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/core/workers/WorkerInspectorProxy.h
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/core/workers/WorkerThread.cpp
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/core/workers/WorkerThread.h
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/core/workers/WorkerThreadTest.cpp
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/core/workers/WorkerThreadTestHelper.h
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletGlobalScopeTest.cpp
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletThreadTest.cpp
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/modules/exported/WebEmbeddedWorkerImpl.cpp
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerGlobalScopeProxy.cpp
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScopeTest.cpp
[modify] https://crrev.com/f34c0ec7e1bae02695666d69135b1c6cce65ed46/third_party/WebKit/Source/modules/webaudio/AudioWorkletThreadTest.cpp

Blocking: 777775
Cc: hajimehoshi@chromium.org
Project Member

Comment 12 by bugdroid1@chromium.org, Dec 8 2017

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

commit 6eba64719f5e950ff9ef335e0392f2b6f7c45adc
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Fri Dec 08 03:09:36 2017

Worker: Exclude source_code from GlobalScopeCreationParams for cleanup

For cleanup, this CL excludes |source_code| and |cached_meta_data| from
GlobalScopeCreationParams and passes them as separate arguments to functions.
This is because these fields are not used for creating a global scope but for
evaluating a worker script.

Also, this change simplifies worklets implementation and helps to implement
module worker because they don't need to pass |source_code| and
|cached_meta_data| from the main thread.

Bug: 680046,  710364 
Change-Id: Icdf978ec136cb316c391a47e8306ba454e9b9876
Reviewed-on: https://chromium-review.googlesource.com/813454
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#522692}
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/core/exported/WebSharedWorkerImpl.cpp
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoaderTest.cpp
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/core/workers/DedicatedWorkerMessagingProxy.cpp
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/core/workers/DedicatedWorkerTest.cpp
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/core/workers/GlobalScopeCreationParams.cpp
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/core/workers/GlobalScopeCreationParams.h
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/core/workers/MainThreadWorkletTest.cpp
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.cpp
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.h
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/core/workers/ThreadedWorkletMessagingProxy.cpp
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/core/workers/ThreadedWorkletTest.cpp
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/core/workers/WorkerThread.cpp
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/core/workers/WorkerThread.h
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/core/workers/WorkerThreadTest.cpp
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/core/workers/WorkerThreadTestHelper.h
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletGlobalScopeTest.cpp
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletThreadTest.cpp
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/modules/csspaint/PaintWorkletGlobalScopeProxy.cpp
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/modules/exported/WebEmbeddedWorkerImpl.cpp
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScopeTest.cpp
[modify] https://crrev.com/6eba64719f5e950ff9ef335e0392f2b6f7c45adc/third_party/WebKit/Source/modules/webaudio/AudioWorkletThreadTest.cpp

Status: Fixed (was: Started)
We're not active on this. Let's close this and file separate issues if there're still rooms for improvement.

Sign in to add a comment