New issue
Advanced search Search tips

Issue 870606 link

Starred by 1 user

Issue metadata

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

Blocked on:
issue 913912



Sign in to add a comment

Forbid V8 execution from the default task runner of the main thread

Project Member Reported by hajimehoshi@chromium.org, Aug 3

Issue description

V8 execution should not be done at the default task runner for performance and semantics.

CL for investigation: https://chromium-review.googlesource.com/c/chromium/src/+/1160428
 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 7

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

commit 051bf03a729792e1865b5b3965b4ac85e7537bde
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Tue Aug 07 04:50:31 2018

scheduler: Remove EmptyFrameScheduler

We aim to forbid V8 execution from the default task runner of the main
thread. As one of the steps, this CL removes EmptyFrameScheduler that
offers the default task runner instead of a per-frame task runner.

By removing this, some assumptions are changed: Before this CL, a Page
might not have a PageScheduler. After this CL, a Page always have a
PageScheduler.

This CL also moves |CSSAnimationsTest::platform_| and other similar
variables to their ancenstor |PageTestBase::platform_| in order to
assure that a scheduler owned by a platform is destroyed after a local
frame is destroyed. This was necessary to pass the tests.

Bug: 870606
Change-Id: I39bf80aea5d4ac01da125b47224620605fea16de
Reviewed-on: https://chromium-review.googlesource.com/1162083
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581135}
[modify] https://crrev.com/051bf03a729792e1865b5b3965b4ac85e7537bde/third_party/blink/renderer/core/animation/css/css_animations_test.cc
[modify] https://crrev.com/051bf03a729792e1865b5b3965b4ac85e7537bde/third_party/blink/renderer/core/frame/local_frame.cc
[modify] https://crrev.com/051bf03a729792e1865b5b3965b4ac85e7537bde/third_party/blink/renderer/core/loader/resource/image_resource_test.cc
[modify] https://crrev.com/051bf03a729792e1865b5b3965b4ac85e7537bde/third_party/blink/renderer/core/page/page.cc
[modify] https://crrev.com/051bf03a729792e1865b5b3965b4ac85e7537bde/third_party/blink/renderer/core/page/page.h
[modify] https://crrev.com/051bf03a729792e1865b5b3965b4ac85e7537bde/third_party/blink/renderer/core/testing/page_test_base.cc
[modify] https://crrev.com/051bf03a729792e1865b5b3965b4ac85e7537bde/third_party/blink/renderer/core/testing/page_test_base.h
[modify] https://crrev.com/051bf03a729792e1865b5b3965b4ac85e7537bde/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d_test.cc
[modify] https://crrev.com/051bf03a729792e1865b5b3965b4ac85e7537bde/third_party/blink/renderer/modules/media_controls/media_controls_impl_test.cc
[modify] https://crrev.com/051bf03a729792e1865b5b3965b4ac85e7537bde/third_party/blink/renderer/modules/notifications/notification_image_loader_test.cc
[modify] https://crrev.com/051bf03a729792e1865b5b3965b4ac85e7537bde/third_party/blink/renderer/platform/scheduler/common/scheduler_helper.cc
[modify] https://crrev.com/051bf03a729792e1865b5b3965b4ac85e7537bde/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc
[modify] https://crrev.com/051bf03a729792e1865b5b3965b4ac85e7537bde/third_party/blink/renderer/platform/testing/testing_platform_support.cc
[modify] https://crrev.com/051bf03a729792e1865b5b3965b4ac85e7537bde/third_party/blink/renderer/platform/testing/testing_platform_support.h

Project Member

Comment 3 by bugdroid1@chromium.org, Aug 7

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

commit c6d077247d11db4fb62814f1dd8511fde8e6cce1
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Tue Aug 07 06:44:37 2018

scheduler: Use per-frame task runner at RunServeAsyncRequestsTask

This is a part of efforts to forbid V8 execution on the default task
runner of the main thread.

Bug: 870606
Change-Id: I587e9cb4b321b08e07f86003537116a0b3b55543
Reviewed-on: https://chromium-review.googlesource.com/1164738
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581150}
[modify] https://crrev.com/c6d077247d11db4fb62814f1dd8511fde8e6cce1/third_party/blink/renderer/core/frame/frame_test_helpers.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 7

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

commit 24987fbbb4290a39f72ca8d60484ab1352d99ebf
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Tue Aug 07 12:05:09 2018

scheduler: Replace default task runner usages at TimerTest

This is a part of efforts to forbid V8 execution on the default task
runner of the main thread.

Bug: 870606
Change-Id: Ic4c8d968e3b07157d5092f54d617b2e69236fae2
Reviewed-on: https://chromium-review.googlesource.com/1165002
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581200}
[modify] https://crrev.com/24987fbbb4290a39f72ca8d60484ab1352d99ebf/third_party/blink/renderer/platform/timer_test.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Aug 10

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

commit 6cacb2df6c3a59f205b6cdb424a892968e9a0ced
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Fri Aug 10 12:00:19 2018

scheduler: Avoid using default task runner at MockFetchContext

This is a part of efforts to forbid V8 execution on the default task
runner of the main thread.

Bug: 870606

Change-Id: I3aa11f7cb4f8d6da6b0015d8b5516b1b2ba53bbf
Reviewed-on: https://chromium-review.googlesource.com/1169037
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582120}
[modify] https://crrev.com/6cacb2df6c3a59f205b6cdb424a892968e9a0ced/third_party/blink/renderer/platform/loader/fetch/resource_fetcher_test.cc
[modify] https://crrev.com/6cacb2df6c3a59f205b6cdb424a892968e9a0ced/third_party/blink/renderer/platform/loader/testing/fetch_testing_platform_support.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Sep 18

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

commit 35cf88d82de5e83266446e8f4d4e262daf37b1ca
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Tue Sep 18 06:32:52 2018

Use per-frame task runner at BlinkTestRunner when possible

This is a part of efforts to forbid V8 execution on the default task
runner of the main thread.

Bug: 870606
Change-Id: I3986f33bf3328a191588ea6eb1fe35df45e61947
Reviewed-on: https://chromium-review.googlesource.com/1220352
Reviewed-by: Mike West <mkwst@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591958}
[modify] https://crrev.com/35cf88d82de5e83266446e8f4d4e262daf37b1ca/content/shell/renderer/layout_test/blink_test_runner.cc
[modify] https://crrev.com/35cf88d82de5e83266446e8f4d4e262daf37b1ca/content/shell/renderer/layout_test/blink_test_runner.h
[modify] https://crrev.com/35cf88d82de5e83266446e8f4d4e262daf37b1ca/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 18

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

commit 43df7a7541427937fa7419a1f41adefb5ebc5f70
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Tue Sep 18 08:02:43 2018

Use per-frame task runner at VRDisplay

This is a part of efforts to forbid V8 execution on the default task
runner of the main thread.

In VRDisplay case, callbacks registered via requestAnimationFrame
were called on the default task runner. This CL changes the task runner
to per-frame task runners.

Bug: 870606
Cq-Include-Trybots: luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I20067397f2114c53c516a0a10e897452d673219f
Reviewed-on: https://chromium-review.googlesource.com/1226892
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591967}
[modify] https://crrev.com/43df7a7541427937fa7419a1f41adefb5ebc5f70/third_party/blink/renderer/modules/vr/vr_display.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 18

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

commit 2bd86c77c0c1f2c42b8e3d82befd19e421e37e7a
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Tue Sep 18 08:31:41 2018

Use per-frame task runner at XRFrameProvider

This is a part of efforts to forbid V8 execution on the default task
runner of the main thread.

In XRFrameProvider case, callbacks registered via requestAnimationFrame
were called on the default task runner. This CL changes the task runner
to per-frame task runners.

Bug: 870606
Cq-Include-Trybots: luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Ia8cfc659bca261ad2330836287414cfb3fe13291
Reviewed-on: https://chromium-review.googlesource.com/1226891
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591972}
[modify] https://crrev.com/2bd86c77c0c1f2c42b8e3d82befd19e421e37e7a/third_party/blink/renderer/modules/xr/xr_frame_provider.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Sep 19

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

commit a1c01b5ce00b872ccf5f8a0adf2807fa9fcabcbd
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Wed Sep 19 06:32:58 2018

Use per-context task runner instead of per-thread task runner at AsyncAudioDecoder

This is a part of efforts to forbid V8 execution on the default task
runner of the main thread.

Bug: 870606
Change-Id: I558cbdeb55f3abdcd4f4fa95f4694c495512f91a
Reviewed-on: https://chromium-review.googlesource.com/1229739
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Hongchan Choi <hongchan@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592328}
[modify] https://crrev.com/a1c01b5ce00b872ccf5f8a0adf2807fa9fcabcbd/third_party/blink/renderer/modules/webaudio/async_audio_decoder.cc
[modify] https://crrev.com/a1c01b5ce00b872ccf5f8a0adf2807fa9fcabcbd/third_party/blink/renderer/modules/webaudio/async_audio_decoder.h

Project Member

Comment 11 by bugdroid1@chromium.org, Oct 2

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

commit 0fa81ba6ef29e41daab6c94cc7a63aa6880741d5
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Tue Oct 02 04:52:36 2018

Refactoring: Use the given task runner instead of SingleThreadTaskRunnerForTesting

There is no need to use SingleThreadTaskRunnerForTesting here.

Bug: 870606
Change-Id: I2219ece19db82e1636f2cb83eb4570dd1d09b08f
Reviewed-on: https://chromium-review.googlesource.com/1253524
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Xiaohan Wang <xhwang@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595724}
[modify] https://crrev.com/0fa81ba6ef29e41daab6c94cc7a63aa6880741d5/media/blink/video_decode_stats_reporter_unittest.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Oct 2

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

commit 9d4107f2942bbfb017cecad856d375e6459660e4
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Tue Oct 02 04:53:32 2018

Remove one LazyThreadControllerForTest usage of the two

LazyThreadControllerForTest makes it hard to write tests related to task
runners. We aim to remove this class, and this CL is one of the steps.

In media unittests, LazyThreadControllerForTest is not necessary. Use
WebThreadScheduler::CreateMainThreadScheduler instead.

Bug: 870606
Change-Id: I0976c4db02e466f06247bf5a82654734f6c7d7bd
Reviewed-on: https://chromium-review.googlesource.com/1250684
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Xiaohan Wang <xhwang@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595725}
[modify] https://crrev.com/9d4107f2942bbfb017cecad856d375e6459660e4/media/blink/run_all_unittests.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Oct 4

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

commit 2e538b99d395e1d2b9332b86abf5adf470e58230
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Thu Oct 04 01:44:23 2018

Avoid using TaskObserver at MemoryCache

We want to avoid TaskObserver since this binds the current message
loop's default task runner and a class tightly.

This CL makes MemoryCache not be a TaskObserver and actual pruning is
deferred by posting a task. This changes the behavior that the pruning
task is enqueued to the end of the task runner. This should not affect
actual memory usages so much.

This CL also replaces the default task runner usages in the tests with
the test task runner since we also want to avoid the default task runner
in the test as much as possible.

Bug: 870606
Change-Id: I6865ffe2a02800b5106b6da8605e7624498d6316
Reviewed-on: https://chromium-review.googlesource.com/c/1258805
Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#596476}
[modify] https://crrev.com/2e538b99d395e1d2b9332b86abf5adf470e58230/third_party/blink/renderer/core/imagebitmap/image_bitmap_test.cc
[modify] https://crrev.com/2e538b99d395e1d2b9332b86abf5adf470e58230/third_party/blink/renderer/core/loader/resource/css_style_sheet_resource_test.cc
[modify] https://crrev.com/2e538b99d395e1d2b9332b86abf5adf470e58230/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d_test.cc
[modify] https://crrev.com/2e538b99d395e1d2b9332b86abf5adf470e58230/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc
[modify] https://crrev.com/2e538b99d395e1d2b9332b86abf5adf470e58230/third_party/blink/renderer/platform/loader/fetch/memory_cache.h
[modify] https://crrev.com/2e538b99d395e1d2b9332b86abf5adf470e58230/third_party/blink/renderer/platform/loader/fetch/memory_cache_correctness_test.cc
[modify] https://crrev.com/2e538b99d395e1d2b9332b86abf5adf470e58230/third_party/blink/renderer/platform/loader/fetch/memory_cache_test.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Oct 9

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

commit 915024e2fc298befc48f9a3044ffc1cf7d661def
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Tue Oct 09 09:28:49 2018

Enable to specify a loading task runner for FetchContext::NullInstance

Before this CL, FetchContext::NullInstance::GetLoadingTaskRunner()
always returns the default task runner, which we want to avoid in the
tests.

This CL enables to specify a task runner when a null instance of the
fetch context is created. As FetchContext itself will have a task
runner and its children will not have to do, this CL also changes its
child classes to use FetchContext's task runner when possible.

Bug: 870606
Change-Id: I23b5302bbab8f6a5f65e9f8da78d71571d9771f9
Reviewed-on: https://chromium-review.googlesource.com/c/1260531
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597857}
[modify] https://crrev.com/915024e2fc298befc48f9a3044ffc1cf7d661def/third_party/blink/renderer/core/loader/base_fetch_context.cc
[modify] https://crrev.com/915024e2fc298befc48f9a3044ffc1cf7d661def/third_party/blink/renderer/core/loader/base_fetch_context.h
[modify] https://crrev.com/915024e2fc298befc48f9a3044ffc1cf7d661def/third_party/blink/renderer/core/loader/base_fetch_context_test.cc
[modify] https://crrev.com/915024e2fc298befc48f9a3044ffc1cf7d661def/third_party/blink/renderer/core/loader/frame_fetch_context.cc
[modify] https://crrev.com/915024e2fc298befc48f9a3044ffc1cf7d661def/third_party/blink/renderer/core/loader/worker_fetch_context.cc
[modify] https://crrev.com/915024e2fc298befc48f9a3044ffc1cf7d661def/third_party/blink/renderer/core/loader/worker_fetch_context.h
[modify] https://crrev.com/915024e2fc298befc48f9a3044ffc1cf7d661def/third_party/blink/renderer/platform/loader/fetch/fetch_context.cc
[modify] https://crrev.com/915024e2fc298befc48f9a3044ffc1cf7d661def/third_party/blink/renderer/platform/loader/fetch/fetch_context.h
[modify] https://crrev.com/915024e2fc298befc48f9a3044ffc1cf7d661def/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
[modify] https://crrev.com/915024e2fc298befc48f9a3044ffc1cf7d661def/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h
[modify] https://crrev.com/915024e2fc298befc48f9a3044ffc1cf7d661def/third_party/blink/renderer/platform/loader/fetch/resource_fetcher_test.cc
[modify] https://crrev.com/915024e2fc298befc48f9a3044ffc1cf7d661def/third_party/blink/renderer/platform/loader/fetch/resource_load_scheduler.cc
[modify] https://crrev.com/915024e2fc298befc48f9a3044ffc1cf7d661def/third_party/blink/renderer/platform/loader/testing/mock_fetch_context.h

Project Member

Comment 16 by bugdroid1@chromium.org, Oct 11

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

commit 3ec2da85763c85ab4e011c4a6a7a43989fc1cb86
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Thu Oct 11 03:56:24 2018

Avoid the default task runner in WebThreadImplForRendererSchedulerTest

We're trying to fobid V8 on the default task runner. Now
WebThreadImplForRendererSchedulerTest tests the task observer with the
default task runner, but this doesn't have to be that. This CL replaces
its usages with the temporal message loop's task runner.

Bug: 870606
Change-Id: I0e11195fad9f97aebfc57c47297661bad0348175
Reviewed-on: https://chromium-review.googlesource.com/c/1273416
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#598661}
[modify] https://crrev.com/3ec2da85763c85ab4e011c4a6a7a43989fc1cb86/third_party/blink/renderer/platform/scheduler/renderer/webthread_impl_for_renderer_scheduler_unittest.cc

Project Member

Comment 17 by bugdroid1@chromium.org, Oct 22

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/1a6517622f744d0b744545dee90e2418cda77600

commit 1a6517622f744d0b744545dee90e2418cda77600
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Mon Oct 22 06:33:25 2018

Add DUMP_ON_FAILURE and Platform::DumpWithoutCrash

This CL adds OnFailure::DUMP_ON_FAILURE representing a scope where base::
DumpWithoutCrash is called when V8 execution is detected. As V8 can't call base
functions, this CL also adds Platform::DumpWithoutCrash.

Doc: https://docs.google.com/document/d/1PStT6dPlSM7QfGUJQD6t6LNLTv_48gNMhY5RdEpt3XQ/edit?disco=AAAACJ6Xg0o&ts=5bc0be1b

BUG=chromium:870606

Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I5df62fd99ed78adb4e2505aeaee3d526d6786e59
Reviewed-on: https://chromium-review.googlesource.com/c/1276325
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56838}
[modify] https://crrev.com/1a6517622f744d0b744545dee90e2418cda77600/include/v8-platform.h
[modify] https://crrev.com/1a6517622f744d0b744545dee90e2418cda77600/include/v8.h
[modify] https://crrev.com/1a6517622f744d0b744545dee90e2418cda77600/src/api.cc
[modify] https://crrev.com/1a6517622f744d0b744545dee90e2418cda77600/src/assert-scope.cc
[modify] https://crrev.com/1a6517622f744d0b744545dee90e2418cda77600/src/assert-scope.h
[modify] https://crrev.com/1a6517622f744d0b744545dee90e2418cda77600/src/execution.cc
[modify] https://crrev.com/1a6517622f744d0b744545dee90e2418cda77600/test/cctest/test-api.cc

Project Member

Comment 18 by bugdroid1@chromium.org, Oct 31

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

commit f8f65cb0c87020c8aaf8a6ce174a8825d1ff42cf
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Wed Oct 31 04:37:26 2018

Use per-frame task runner at SharedMemoryDataConsumeHandle::Context

As |notification_task_runner_| can execute V8, this must not be the
default task runner. Use a per-frame task runner instead.

Bug: 870606
Change-Id: I6537fa2fae5f9b5e831476be815220cc3e783711
Reviewed-on: https://chromium-review.googlesource.com/c/1307360
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604154}
[modify] https://crrev.com/f8f65cb0c87020c8aaf8a6ce174a8825d1ff42cf/content/renderer/loader/shared_memory_data_consumer_handle.cc
[modify] https://crrev.com/f8f65cb0c87020c8aaf8a6ce174a8825d1ff42cf/content/renderer/loader/shared_memory_data_consumer_handle.h

Project Member

Comment 19 by bugdroid1@chromium.org, Nov 7

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

commit f776d747b06f14e67903b25db2096558de16dffd
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Wed Nov 07 04:18:22 2018

Use per-frame task runner at CastStreamingNativeHandler

V8 should not be executed on per-thread task runner. Use per-frame task
runner instead.

Bug: 870606
Change-Id: I29754c8a085dfe0ec7b4d9e9f6b57ecdf75e1dae
Reviewed-on: https://chromium-review.googlesource.com/c/1319406
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Ken Rockot <rockot@google.com>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605960}
[modify] https://crrev.com/f776d747b06f14e67903b25db2096558de16dffd/chrome/renderer/extensions/cast_streaming_native_handler.cc

Project Member

Comment 20 by bugdroid1@chromium.org, Nov 12

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

commit cb5a960bf9cf62fc934f8a167ac4da6219080aa2
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Mon Nov 12 05:21:54 2018

mojo: Use a more appripriate task runner at HandleSignalTracker's SimpleWatch

HandleSignalTracker's SimpleWatcher objects always used the default task
runner. This CL fixes this by passing a more appropriate task runner
obtained from Connector.

Bug: 870606
Change-Id: Ib9028175d224b7768606ac1b2319662bd9700f37
Reviewed-on: https://chromium-review.googlesource.com/c/1328550
Reviewed-by: Ken Rockot <rockot@google.com>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607147}
[modify] https://crrev.com/cb5a960bf9cf62fc934f8a167ac4da6219080aa2/mojo/public/cpp/bindings/lib/connector.cc
[modify] https://crrev.com/cb5a960bf9cf62fc934f8a167ac4da6219080aa2/mojo/public/cpp/system/handle_signal_tracker.cc
[modify] https://crrev.com/cb5a960bf9cf62fc934f8a167ac4da6219080aa2/mojo/public/cpp/system/handle_signal_tracker.h

Project Member

Comment 21 by bugdroid1@chromium.org, Nov 12

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

commit 670fa6ff77dab93d47313831591c8c5c8b330f3a
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Mon Nov 12 08:59:40 2018

Use a per-frame task runner at DeprecatedStorageQuota::quota_host_

V8 should not be executed on per-thread task runner. Use per-frame (per-
execution-context) task runner instead.

Bug: 870606
Change-Id: I353c421901f0ff78966df5d197014f8cb650a985
Reviewed-on: https://chromium-review.googlesource.com/c/1331289
Reviewed-by: Taiju Tsuiki <tzik@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607172}
[modify] https://crrev.com/670fa6ff77dab93d47313831591c8c5c8b330f3a/third_party/blink/renderer/modules/quota/deprecated_storage_quota.cc

Project Member

Comment 22 by bugdroid1@chromium.org, Nov 13

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

commit 262e5e79c2739dd5edb64996c378beeaae229d9e
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Tue Nov 13 04:35:22 2018

Use per-frame task runner at GpuBenchmarking::input_injector_

V8 should not be executed on per-thread task runner. Use per-frame (per-
execution-context) task runner instead.

Bug: 870606
Change-Id: Ibaf9e02bb33eacbf0f29b2bb30645ad8d7a19121
Reviewed-on: https://chromium-review.googlesource.com/c/1331291
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607487}
[modify] https://crrev.com/262e5e79c2739dd5edb64996c378beeaae229d9e/content/renderer/gpu/gpu_benchmarking_extension.cc

Project Member

Comment 23 by bugdroid1@chromium.org, Nov 21

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

commit 8cc2d519830fbbfe48fe81687952e2fa07242f9c
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Wed Nov 21 08:08:48 2018

Use per-frame task runners for Notification mojo binding

This might invoke V8, and V8 should not be executed on per-thread task
runners. This CL gives a per-frame task runner at binding.

Bug: 870606
Change-Id: Ib814c717e2805beca341a6ad1a10926b231c361f
Reviewed-on: https://chromium-review.googlesource.com/c/1343878
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609945}
[modify] https://crrev.com/8cc2d519830fbbfe48fe81687952e2fa07242f9c/third_party/blink/renderer/modules/notifications/notification.cc

Project Member

Comment 24 by bugdroid1@chromium.org, Nov 21

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

commit 0bcc565df3457d702f24f52da66d05b2a677b9b6
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Wed Nov 21 12:16:45 2018

translate: Use a per-frame task runner at TranslateHelper

V8 must not be executed on the default task runner. This CL replaces
that with a per-frame task runner.

Bug: 870606
Change-Id: I9c3844692235baad411a83ed50a7c6402e0a3b8f
Reviewed-on: https://chromium-review.googlesource.com/c/1312444
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610007}
[modify] https://crrev.com/0bcc565df3457d702f24f52da66d05b2a677b9b6/components/translate/content/renderer/translate_helper.cc

Blockedon: 913912
Project Member

Comment 26 by bugdroid1@chromium.org, Jan 9

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

commit 5959c54fa966daba96b8b41d8741e651f0945cb0
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Wed Jan 09 01:42:12 2019

Use per-frame task runners instead of per-thread task runners at pepper module

This CL is based on Alexander's CL: https://chromium-review.googlesource.com/c/chromium/src/+/1367329

Bug: 870606
Change-Id: I2ca696efeb203d7cb48c9f33034163c2d9c6277d
Reviewed-on: https://chromium-review.googlesource.com/c/1379607
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620986}
[modify] https://crrev.com/5959c54fa966daba96b8b41d8741e651f0945cb0/content/renderer/pepper/host_dispatcher_wrapper.cc
[modify] https://crrev.com/5959c54fa966daba96b8b41d8741e651f0945cb0/content/renderer/pepper/host_dispatcher_wrapper.h
[modify] https://crrev.com/5959c54fa966daba96b8b41d8741e651f0945cb0/content/renderer/pepper/pepper_plugin_instance_impl.cc
[modify] https://crrev.com/5959c54fa966daba96b8b41d8741e651f0945cb0/content/renderer/pepper/plugin_module.cc
[modify] https://crrev.com/5959c54fa966daba96b8b41d8741e651f0945cb0/content/renderer/pepper/plugin_module.h
[modify] https://crrev.com/5959c54fa966daba96b8b41d8741e651f0945cb0/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/5959c54fa966daba96b8b41d8741e651f0945cb0/ppapi/proxy/broker_dispatcher.cc
[modify] https://crrev.com/5959c54fa966daba96b8b41d8741e651f0945cb0/ppapi/proxy/host_dispatcher.cc
[modify] https://crrev.com/5959c54fa966daba96b8b41d8741e651f0945cb0/ppapi/proxy/host_dispatcher.h
[modify] https://crrev.com/5959c54fa966daba96b8b41d8741e651f0945cb0/ppapi/proxy/plugin_dispatcher.cc
[modify] https://crrev.com/5959c54fa966daba96b8b41d8741e651f0945cb0/ppapi/proxy/ppapi_proxy_test.cc
[modify] https://crrev.com/5959c54fa966daba96b8b41d8741e651f0945cb0/ppapi/proxy/proxy_channel.cc
[modify] https://crrev.com/5959c54fa966daba96b8b41d8741e651f0945cb0/ppapi/proxy/proxy_channel.h

Project Member

Comment 27 by bugdroid1@chromium.org, Jan 11

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

commit 5bb870e228dc7cf0f845984087ae96fb3242c1d9
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Fri Jan 11 07:18:31 2019

Use per-frame task runners instead of per-thread task runners at media

JavaScript Execution on per-thread task runners must be forbidden for
bfcache. This CL passes per-frame task runners for such tasks like mojo
bindings.

This is part of https://chromium-review.googlesource.com/c/chromium/src/+/1379794

Bug: 870606
Change-Id: Iea22b5af3874f34453b8eaa0e9941cf482d9c9b8
Reviewed-on: https://chromium-review.googlesource.com/c/1400430
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Xiaohan Wang <xhwang@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621929}
[modify] https://crrev.com/5bb870e228dc7cf0f845984087ae96fb3242c1d9/content/renderer/media/stream/user_media_client_impl.cc
[modify] https://crrev.com/5bb870e228dc7cf0f845984087ae96fb3242c1d9/content/renderer/media/stream/user_media_client_impl_unittest.cc
[modify] https://crrev.com/5bb870e228dc7cf0f845984087ae96fb3242c1d9/content/renderer/media/stream/user_media_processor.cc
[modify] https://crrev.com/5bb870e228dc7cf0f845984087ae96fb3242c1d9/content/renderer/media/stream/user_media_processor.h
[modify] https://crrev.com/5bb870e228dc7cf0f845984087ae96fb3242c1d9/media/blink/webcontentdecryptionmoduleaccess_impl.cc
[modify] https://crrev.com/5bb870e228dc7cf0f845984087ae96fb3242c1d9/media/blink/webcontentdecryptionmoduleaccess_impl.h
[modify] https://crrev.com/5bb870e228dc7cf0f845984087ae96fb3242c1d9/third_party/blink/public/platform/web_content_decryption_module_access.h
[modify] https://crrev.com/5bb870e228dc7cf0f845984087ae96fb3242c1d9/third_party/blink/renderer/modules/encryptedmedia/media_key_system_access.cc

Sign in to add a comment