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

Issue 624689 link

Starred by 9 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Feature


Sign in to add a comment

[meta] Move all timers, tasks and EventSenders to WebFrameScheduler

Project Member Reported by haraken@chromium.org, Jun 30 2016

Issue description

This is a meta bug to keep track of efforts to implement the per-iframe scheduler.

Design doc: https://docs.google.com/document/d/1CEggurHQGXenhu_GQT7KnRvtSuowuenXpxVzYSeRxSY/edit

Implementation plan: https://docs.google.com/document/d/10It1DFRP7H3gev9hQA-7dtTcvcMFhrxuCt3-k21yjgQ/edit


 
Blockedon: 624694
Blockedon: 624696
Blockedon: 624697
Blockedon: 624699
Blockedon: 624702
Blockedon: 428349
Blockedon: 625927
Blockedon: 627034
Project Member

Comment 9 by bugdroid1@chromium.org, Jul 13 2016

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

commit 453e03e72d02fb698ba2eee8550245928a8ab3a5
Author: haraken <haraken@chromium.org>
Date: Wed Jul 13 03:15:50 2016

Add helper functions to get per-frame task runners

This CL introduces TaskRunnerHelper that collects helper functions to get task runners.

This CL removes code to look up task runners of m_importsController and m_contextDocument
(I don't think it's needed; we can just fall back to the default task runner
when document->frame() is not available).

BUG=624689

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

[modify] https://crrev.com/453e03e72d02fb698ba2eee8550245928a8ab3a5/third_party/WebKit/Source/core/core.gypi
[modify] https://crrev.com/453e03e72d02fb698ba2eee8550245928a8ab3a5/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/453e03e72d02fb698ba2eee8550245928a8ab3a5/third_party/WebKit/Source/core/dom/Document.h
[add] https://crrev.com/453e03e72d02fb698ba2eee8550245928a8ab3a5/third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp
[add] https://crrev.com/453e03e72d02fb698ba2eee8550245928a8ab3a5/third_party/WebKit/Source/core/dom/TaskRunnerHelper.h
[modify] https://crrev.com/453e03e72d02fb698ba2eee8550245928a8ab3a5/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
[modify] https://crrev.com/453e03e72d02fb698ba2eee8550245928a8ab3a5/third_party/WebKit/Source/core/html/parser/HTMLDocumentParser.cpp
[modify] https://crrev.com/453e03e72d02fb698ba2eee8550245928a8ab3a5/third_party/WebKit/Source/core/html/parser/HTMLScriptRunner.cpp

Now that we landed TaskRunnerHelper, our goal is to replace Platform::current()->currentThread(->scheduler())->... and timers with TaskRunnerHelper::getXXXTaskRunner().

We can start distributing the work :)

Project Member

Comment 11 by bugdroid1@chromium.org, Jul 13 2016

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

commit 453e03e72d02fb698ba2eee8550245928a8ab3a5
Author: haraken <haraken@chromium.org>
Date: Wed Jul 13 03:15:50 2016

Add helper functions to get per-frame task runners

This CL introduces TaskRunnerHelper that collects helper functions to get task runners.

This CL removes code to look up task runners of m_importsController and m_contextDocument
(I don't think it's needed; we can just fall back to the default task runner
when document->frame() is not available).

BUG=624689

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

[modify] https://crrev.com/453e03e72d02fb698ba2eee8550245928a8ab3a5/third_party/WebKit/Source/core/core.gypi
[modify] https://crrev.com/453e03e72d02fb698ba2eee8550245928a8ab3a5/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/453e03e72d02fb698ba2eee8550245928a8ab3a5/third_party/WebKit/Source/core/dom/Document.h
[add] https://crrev.com/453e03e72d02fb698ba2eee8550245928a8ab3a5/third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp
[add] https://crrev.com/453e03e72d02fb698ba2eee8550245928a8ab3a5/third_party/WebKit/Source/core/dom/TaskRunnerHelper.h
[modify] https://crrev.com/453e03e72d02fb698ba2eee8550245928a8ab3a5/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
[modify] https://crrev.com/453e03e72d02fb698ba2eee8550245928a8ab3a5/third_party/WebKit/Source/core/html/parser/HTMLDocumentParser.cpp
[modify] https://crrev.com/453e03e72d02fb698ba2eee8550245928a8ab3a5/third_party/WebKit/Source/core/html/parser/HTMLScriptRunner.cpp

Blockedon: 632237
We discussed what tasks should use what task runners in https://groups.google.com/a/chromium.org/d/topic/platform-architecture-dev/uRvrk4CYSEc/discussion.

The conclusion is as follows:

- Per-frame scheduler
---- Idle task runner
---- Timer task runner
---- Loading task runner
---- Rendering task runner
---- ... (<= We may add more specific task runners as necessary.)
---- Unthrottled task runner (<= not encouraged)

- Per-thread scheduler
--- Idle task runner (<= not encouraged)
--- Default task runner (<= not encouraged)


Project Member

Comment 14 by bugdroid1@chromium.org, Aug 5 2016

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

commit 19b8ee3aff5d67dd49f83e98c65f2410a9d4cf62
Author: haraken <haraken@chromium.org>
Date: Fri Aug 05 03:29:50 2016

Introduce TaskRunnerHelper::get()

Per the discussion in https://groups.google.com/a/chromium.org/d/topic/platform-architecture-dev/uRvrk4CYSEc/discussion,
this CL introduces TaskRunnerHelper::get(), which maps TaskRunnerTypes
to actual task runners.

BUG=624689

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

[modify] https://crrev.com/19b8ee3aff5d67dd49f83e98c65f2410a9d4cf62/third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp
[modify] https://crrev.com/19b8ee3aff5d67dd49f83e98c65f2410a9d4cf62/third_party/WebKit/Source/core/dom/TaskRunnerHelper.h

Blockedon: 676805

Comment 16 by ojan@chromium.org, May 8 2018

Cc: -ojan@chromium.org
Cc: alexclarke@chromium.org
 Issue 560402  has been merged into this issue.
Labels: -Type-Bug -Pri-3 Pri-1 Type-Feature

Sign in to add a comment