New issue
Advanced search Search tips

Issue 726457 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Update worklets to use wrapper tracing

Project Member Reported by majidvp@chromium.org, May 25 2017

Issue description

Most worklet provide a way for scripts to register components (e.g., paint, animator, processor)
in the worklet global scope. These components own v8 objects so they 
should participate in wrapper tracing to ensure accurate and timely garbage collection.

At the moment we rely on clearing the references on Dispose to break the cycle
 
Status: Started (was: Assigned)
WIP patch: https://codereview.chromium.org/2903703003/
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 5 2017

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

commit e487923b15ab54c9dd10e93ba51a9ce0b95fecee
Author: Majid Valipour <majidvp@chromium.org>
Date: Mon Jun 05 22:34:25 2017

Make WorkletGlobalScope ActiveScriptWrappable

This is a necessary pre-cursor to enable wrapper tracing for worklet global
scopes. The worklet global scope wrapper is kept alive until its execution
context is destroyed which happens during worklet shutdown.

Bug:  726457 
Change-Id: Icd8c1a1be8fd3ba9fd37d0abb58b6297fd1a3b50
Reviewed-on: https://chromium-review.googlesource.com/522169
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Majid Valipour <majidvp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#477099}
[modify] https://crrev.com/e487923b15ab54c9dd10e93ba51a9ce0b95fecee/third_party/WebKit/Source/core/workers/WorkletGlobalScope.cpp
[modify] https://crrev.com/e487923b15ab54c9dd10e93ba51a9ce0b95fecee/third_party/WebKit/Source/core/workers/WorkletGlobalScope.h
[modify] https://crrev.com/e487923b15ab54c9dd10e93ba51a9ce0b95fecee/third_party/WebKit/Source/core/workers/WorkletGlobalScope.idl

Project Member

Comment 3 by bugdroid1@chromium.org, Jun 6 2017

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

commit 303c5ab1608b16d3e4b793557718b3666a720fff
Author: majidvp <majidvp@chromium.org>
Date: Tue Jun 06 13:55:26 2017

Use wrapper tracing for worklets.

Many worklet provide a way for scripts to register components (e.g., paint,
animator, processor) in the worklet global scope. These components own v8
objects so they should participate in wrapper tracing to ensure accurate and
timely garbage collection.

This depends on having worklet global scope ActiveScriptWrappable
which is here: https://chromium-review.googlesource.com/c/522169/

BUG= 726457 

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

[modify] https://crrev.com/303c5ab1608b16d3e4b793557718b3666a720fff/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletGlobalScope.cpp
[modify] https://crrev.com/303c5ab1608b16d3e4b793557718b3666a720fff/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletGlobalScope.h
[modify] https://crrev.com/303c5ab1608b16d3e4b793557718b3666a720fff/third_party/WebKit/Source/modules/compositorworker/Animator.cpp
[modify] https://crrev.com/303c5ab1608b16d3e4b793557718b3666a720fff/third_party/WebKit/Source/modules/compositorworker/Animator.h
[modify] https://crrev.com/303c5ab1608b16d3e4b793557718b3666a720fff/third_party/WebKit/Source/modules/compositorworker/AnimatorDefinition.cpp
[modify] https://crrev.com/303c5ab1608b16d3e4b793557718b3666a720fff/third_party/WebKit/Source/modules/compositorworker/AnimatorDefinition.h
[modify] https://crrev.com/303c5ab1608b16d3e4b793557718b3666a720fff/third_party/WebKit/Source/modules/csspaint/CSSPaintDefinition.cpp
[modify] https://crrev.com/303c5ab1608b16d3e4b793557718b3666a720fff/third_party/WebKit/Source/modules/csspaint/CSSPaintDefinition.h
[modify] https://crrev.com/303c5ab1608b16d3e4b793557718b3666a720fff/third_party/WebKit/Source/modules/csspaint/PaintWorkletGlobalScope.cpp
[modify] https://crrev.com/303c5ab1608b16d3e4b793557718b3666a720fff/third_party/WebKit/Source/modules/csspaint/PaintWorkletGlobalScope.h
[modify] https://crrev.com/303c5ab1608b16d3e4b793557718b3666a720fff/third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScope.cpp
[modify] https://crrev.com/303c5ab1608b16d3e4b793557718b3666a720fff/third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScope.h
[modify] https://crrev.com/303c5ab1608b16d3e4b793557718b3666a720fff/third_party/WebKit/Source/modules/webaudio/AudioWorkletProcessor.cpp
[modify] https://crrev.com/303c5ab1608b16d3e4b793557718b3666a720fff/third_party/WebKit/Source/modules/webaudio/AudioWorkletProcessor.h
[modify] https://crrev.com/303c5ab1608b16d3e4b793557718b3666a720fff/third_party/WebKit/Source/modules/webaudio/AudioWorkletProcessorDefinition.cpp
[modify] https://crrev.com/303c5ab1608b16d3e4b793557718b3666a720fff/third_party/WebKit/Source/modules/webaudio/AudioWorkletProcessorDefinition.h

Status: Fixed (was: Started)

Sign in to add a comment