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

Issue 670534 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 776416
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug

Blocked on:
issue 692906



Sign in to add a comment

Introduce task throttling mechanism for workers

Project Member Reported by nhiroki@chromium.org, Dec 2 2016

Issue description

Currently, tasks on worker threads are able to run even while a parent document is suspended. To stop them, we may need a simple task throttling mechanism for workers.

Random ideas:
- Maybe 2 task types are necessary: (1) THROTTLED for regular tasks, UNTHROTTLED for DevTools tasks and thread control tasks.
  - THROTTLED tasks are suspended while a parent document is suspended.
  - UNTHROTTLED tasks are running even while a parent document is suspended.
- This mechanism should work only for tasks of DedicatedWorkers and Worklets. Tasks of SharedWorkers and ServiceWorkers shouldn't be throttled because they don't have the concept of parent documents and should continue running even after one of connecting/controlling documents is suspended.
- We could extend existing WorkerScheduler class (third_party/WebKit/Source/platform/scheduler/child/worker_scheduler.cc)
 
The plan sounds reasonable to me :)

Cc: falken@chromium.org kinuko@chromium.org
Cc: skyos...@chromium.org altimin@chromium.org alexclarke@chromium.org
Basically the idea sounds good. If "throttled" actually means suspended/stopped, let's use another name for it since throttling means something else in the scheduler.
Blockedon: 692906

Comment 5 by yuryu@chromium.org, Apr 13 2017

Cc: yuryu@chromium.org
Project Member

Comment 6 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 7 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 8 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

Mergedinto: 776416
Status: Duplicate (was: Assigned)

Sign in to add a comment