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

Issue metadata

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


Sign in to add a comment

Land CompositorWorker code behind a flag.

Project Member Reported by vollick@chromium.org, Nov 26 2014

Issue description

We need not settle upon a final API to get to this point, but landing the code behind a flag will unblock a great deal of prototyping and experimentation.
 
Blocking: chromium:436947
Blocking: chromium:430155
Blocking: chromium:436944
Blocking: chromium:436954
Labels: -Type-Bug Type-Feature

Comment 6 by sadrul@chromium.org, Mar 20 2015

Blockedon: -chromium:436924 -chromium:436932
Owner: sadrul@chromium.org
Status: Started
Summary: Land CompositorWorker code behind a flag. (was: Land UIWorker code behind a flag.)
Making this bug about landing the skeletal implementation of CompositorWorker. Work on isolate, threads etc. will happen after this.

Comment 7 by loyso@chromium.org, Mar 20 2015

Cc: loyso@chromium.org
Project Member

Comment 8 by bugdroid1@chromium.org, Mar 31 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=192592

------------------------------------------------------------------
r192592 | sadrul@chromium.org | 2015-03-26T10:27:21.232888Z

Changed paths:
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorkerGlobalScope.h?r1=192592&r2=192591&pathrev=192592
   A http://src.chromium.org/viewvc/blink/trunk/Source/bindings/modules/v8/custom/V8CompositorWorkerCustom.cpp?r1=192592&r2=192591&pathrev=192592
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/modules/v8/custom/custom.gni?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/templates/interface_base.cpp?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/WorkerThread.cpp?r1=192592&r2=192591&pathrev=192592
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorkerThread.h?r1=192592&r2=192591&pathrev=192592
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorkerMessagingProxy.cpp?r1=192592&r2=192591&pathrev=192592
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorkerGlobalScope.idl?r1=192592&r2=192591&pathrev=192592
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorker.h?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/Worker.cpp?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/idl.gni?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/WorkerMessagingProxy.h?r1=192592&r2=192591&pathrev=192592
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorkerGlobalScope.cpp?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/RuntimeEnabledFeatures.in?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-interface-listing-expected.txt?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/modules/modules.gni?r1=192592&r2=192591&pathrev=192592
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/DEPS?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/modules/v8/custom/custom.gypi?r1=192592&r2=192591&pathrev=192592
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorker.idl?r1=192592&r2=192591&pathrev=192592
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorkerThread.cpp?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/modules/generated.gyp?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/scripts/v8_utilities.py?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/ExecutionContext.h?r1=192592&r2=192591&pathrev=192592
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorker.cpp?r1=192592&r2=192591&pathrev=192592
   A http://src.chromium.org/viewvc/blink/trunk/Source/bindings/modules/v8/custom/V8CompositorWorkerGlobalScopeCustom.cpp?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/modules/generated.gypi?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/WorkerThread.h?r1=192592&r2=192591&pathrev=192592
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorkerMessagingProxy.h?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/WorkerMessagingProxy.cpp?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/Worker.h?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/EventTargetModulesFactory.in?r1=192592&r2=192591&pathrev=192592
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/modules.gypi?r1=192592&r2=192591&pathrev=192592

compositor-worker: Introduce CompositorWorker.

Notable changes:

. Make Worker and WorkerMessagingProxy non-final, so that CompositorWorker
  and CompositorWorkerMessagingProxy can override them.
. Have CompositorWorkerMessagingProxy as the WorkerGlobalScopeProxy for the
  compositor worker-thread, so that it can create a CompositorWorkerThread
  instead of a DedicatedWorkerThread.
. Introduce a virtual Worker::createWorkerGlobalScopeProxy() so that
  CompositorWorker can create a CompositorWorkerMessagingProxy as the
  proxy.
. CompositorWorkerThread is introduced, but it doesn't do anything yet. In
  subsequent CLs, it will override functionalities related to managing
  v8::Isolate, thread etc.
. CompositorWorkerGlobalScope is also introduced.

BUG= 436952 

Review URL: https://codereview.chromium.org/1018863002
-----------------------------------------------------------------
Project Member

Comment 9 by bugdroid1@chromium.org, Mar 31 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=192692

------------------------------------------------------------------
r192692 | sadrul@chromium.org | 2015-03-27T17:42:04.522104Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/inspector/InspectorAnimationAgent.cpp?r1=192692&r2=192691&pathrev=192692
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/inspector/InspectorDOMAgent.cpp?r1=192692&r2=192691&pathrev=192692
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/core.gypi?r1=192692&r2=192691&pathrev=192692
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/inspector/InspectorTraceEvents.cpp?r1=192692&r2=192691&pathrev=192692
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/layout/compositing/DeprecatedPaintLayerCompositor.cpp?r1=192692&r2=192691&pathrev=192692
   D http://src.chromium.org/viewvc/blink/trunk/Source/core/inspector/InspectorNodeIds.cpp?r1=192692&r2=192691&pathrev=192692
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/DOMNodeIds.cpp?r1=192692&r2=192691&pathrev=192692
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/layout/compositing/CompositedDeprecatedPaintLayerMapping.cpp?r1=192692&r2=192691&pathrev=192692
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/accessibility/InspectorAccessibilityAgent.cpp?r1=192692&r2=192691&pathrev=192692
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/inspector/InspectorStyleSheet.cpp?r1=192692&r2=192691&pathrev=192692
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/paint/GraphicsContextAnnotator.cpp?r1=192692&r2=192691&pathrev=192692
   D http://src.chromium.org/viewvc/blink/trunk/Source/core/inspector/InspectorNodeIds.h?r1=192692&r2=192691&pathrev=192692
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/inspector/InspectorLayerTreeAgent.cpp?r1=192692&r2=192691&pathrev=192692
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/DOMNodeIds.h?r1=192692&r2=192691&pathrev=192692

Move inspector/InspectorNodeIds to dom/DOMNodeIds.

InspectNodeIds is used in non-inspector code too (e.g.
/core/layout/compositing/, /modules/accessibility), and newer
code (e.g. CompositorProxy) is also going to use it. So move
it into dom/DOMNodeIds.

BUG= 436952 
TBR=dmazzoni@chromium.org for //Source/modules/accessibility

Review URL: https://codereview.chromium.org/997073004
-----------------------------------------------------------------
Project Member

Comment 10 by bugdroid1@chromium.org, Mar 31 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=192715

------------------------------------------------------------------
r192715 | sadrul@chromium.org | 2015-03-28T03:36:14.641495Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/core/v8/ScriptValueSerializer.cpp?r1=192715&r2=192714&pathrev=192715
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/CompositorProxy.idl?r1=192715&r2=192714&pathrev=192715
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/compositorworker/resources?r1=192715&r2=192714&pathrev=192715
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/core/v8/SerializationTag.h?r1=192715&r2=192714&pathrev=192715
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/core/v8/ScriptValueSerializer.h?r1=192715&r2=192714&pathrev=192715
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/compositorworker?r1=192715&r2=192714&pathrev=192715
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/compositorworker/resources/proxy-echo.js?r1=192715&r2=192714&pathrev=192715
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-interface-listing-expected.txt?r1=192715&r2=192714&pathrev=192715
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/core.gypi?r1=192715&r2=192714&pathrev=192715
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/CompositorProxy.cpp?r1=192715&r2=192714&pathrev=192715
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/compositorworker/compositor-proxy-postmessage.html?r1=192715&r2=192714&pathrev=192715
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/CompositorProxy.h?r1=192715&r2=192714&pathrev=192715

compositor-worker: Introduce CompositorProxy.

Notable changes:

. Make it possible to send a CompositorProxy object via post-message between
  threads.
. Add a test to verify that the proxy objects for the same element get the same
  |elementId|, and different set of attributes set the correct flags on the
  proxies.

BUG= 436952 

Review URL: https://codereview.chromium.org/1024233002
-----------------------------------------------------------------
Project Member

Comment 11 by bugdroid1@chromium.org, Mar 31 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=192768

------------------------------------------------------------------
r192768 | sadrul@chromium.org | 2015-03-30T17:12:29.712734Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/CompositorProxy.idl?r1=192768&r2=192767&pathrev=192768
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/compositorworker/compositor-attribute-change-worker.html?r1=192768&r2=192767&pathrev=192768
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-interface-listing-expected.txt?r1=192768&r2=192767&pathrev=192768
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/compositorworker/resources/proxy-mutate.js?r1=192768&r2=192767&pathrev=192768
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/CompositorProxy.cpp?r1=192768&r2=192767&pathrev=192768
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/compositorworker/compositor-attribute-change.html?r1=192768&r2=192767&pathrev=192768
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/CompositorProxy.h?r1=192768&r2=192767&pathrev=192768

compositor-worker: Add mutable attributes to CompositorProxy.

Add some mutable attributes to CompositorProxy. These attributes are mutable
only in the compositor-worker thread, and only during requestCompositorFrame
callbacks (this is currently not-implemented in this CL, and will be added
later). Trying to mutate these attributes from the main-thread raises
exceptions.

BUG= 436952 

Review URL: https://codereview.chromium.org/1025893002
-----------------------------------------------------------------
Blocking: chromium:472288
Project Member

Comment 13 by bugdroid1@chromium.org, Apr 1 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=192918

------------------------------------------------------------------
r192918 | sadrul@chromium.org | 2015-04-01T11:18:10.415009Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Document.cpp?r1=192918&r2=192917&pathrev=192918
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/inspector/InspectorDOMDebuggerAgent.cpp?r1=192918&r2=192917&pathrev=192918
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/ScriptedAnimationController.cpp?r1=192918&r2=192917&pathrev=192918
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Document.h?r1=192918&r2=192917&pathrev=192918
   D http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/RequestAnimationFrameCallback.h?r1=192918&r2=192917&pathrev=192918
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/FrameRequestCallback.h?r1=192918&r2=192917&pathrev=192918
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/ScriptedAnimationController.h?r1=192918&r2=192917&pathrev=192918
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/inspector/InspectorDOMDebuggerAgent.h?r1=192918&r2=192917&pathrev=192918
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/DOMWindow.h?r1=192918&r2=192917&pathrev=192918
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/FrameRequestCallbackCollection.cpp?r1=192918&r2=192917&pathrev=192918
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/LocalDOMWindow.cpp?r1=192918&r2=192917&pathrev=192918
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/RemoteDOMWindow.cpp?r1=192918&r2=192917&pathrev=192918
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/core.gypi?r1=192918&r2=192917&pathrev=192918
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/inspector/InspectorTraceEvents.cpp?r1=192918&r2=192917&pathrev=192918
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/FrameRequestCallbackCollection.h?r1=192918&r2=192917&pathrev=192918
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/LocalDOMWindow.h?r1=192918&r2=192917&pathrev=192918
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/RemoteDOMWindow.h?r1=192918&r2=192917&pathrev=192918
   D http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/RequestAnimationFrameCallback.idl?r1=192918&r2=192917&pathrev=192918
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/FrameRequestCallback.idl?r1=192918&r2=192917&pathrev=192918
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/inspector/InspectorTraceEvents.h?r1=192918&r2=192917&pathrev=192918
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/inspector/InspectorInstrumentation.idl?r1=192918&r2=192917&pathrev=192918
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/Window.idl?r1=192918&r2=192917&pathrev=192918

rAF: Introduce FrameRequestCallbackCollection for managing rAF callbacks.

Rename the rAF callback from RequestAnimationFrameCallback to
FrameRequestCallback, since that's what it's called in the spec
(https://html.spec.whatwg.org/multipage/browsers.html#the-window-object).
Split out the functionality related to managing the rAF callbacks into a
separate FrameRequestCallbackCollection so that it can be used by
compositor-workers.

BUG= 436952 

Review URL: https://codereview.chromium.org/1043903003
-----------------------------------------------------------------
Project Member

Comment 14 by bugdroid1@chromium.org, Apr 1 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=192936

------------------------------------------------------------------
r192936 | sadrul@chromium.org | 2015-04-01T13:23:26.880104Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorkerGlobalScope.h?r1=192936&r2=192935&pathrev=192936
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorkerGlobalScope.idl?r1=192936&r2=192935&pathrev=192936
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorkerGlobalScope.cpp?r1=192936&r2=192935&pathrev=192936

compositor-worker: Allow registering compositor-frame callbacks.

Use the refactored FrameRequestCallbackCollection for managing the
list of compositor-frame callbacks.

BUG= 436952 

Review URL: https://codereview.chromium.org/1047783002
-----------------------------------------------------------------
Project Member

Comment 15 by bugdroid1@chromium.org, Apr 1 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=192945

------------------------------------------------------------------
r192945 | sigbjornf@opera.com | 2015-04-01T15:11:16.779252Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/FrameRequestCallbackCollection.cpp?r1=192945&r2=192944&pathrev=192945
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/FrameRequestCallbackCollection.h?r1=192945&r2=192944&pathrev=192945

Oilpan: fix build after r192918.

TBR=oilpan-reviews
BUG= 436952 
NOTRY=true

Review URL: https://codereview.chromium.org/1053703002
-----------------------------------------------------------------
Project Member

Comment 16 by bugdroid1@chromium.org, Apr 1 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=192948

------------------------------------------------------------------
r192948 | sigbjornf@opera.com | 2015-04-01T15:31:17.568739Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorkerGlobalScope.cpp?r1=192948&r2=192947&pathrev=192948
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorkerGlobalScope.h?r1=192948&r2=192947&pathrev=192948

Oilpan: fix build after r192936.

TBR=oilpan-reviews
BUG= 436952 
NOTRY=true

Review URL: https://codereview.chromium.org/1058493002
-----------------------------------------------------------------
Project Member

Comment 17 by bugdroid1@chromium.org, Apr 10 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=193501

------------------------------------------------------------------
r193501 | sadrul@chromium.org | 2015-04-10T01:58:27.903964Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/ElementRareData.h?r1=193501&r2=193500&pathrev=193501
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/compositorworker/compositor-proxy-disconnect.html?r1=193501&r2=193500&pathrev=193501
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/CompositorProxy.h?r1=193501&r2=193500&pathrev=193501
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/core/v8/ScriptValueSerializer.cpp?r1=193501&r2=193500&pathrev=193501
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/CompositorProxy.idl?r1=193501&r2=193500&pathrev=193501
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.cpp?r1=193501&r2=193500&pathrev=193501
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/compositorworker/resources/proxy-disconnect.js?r1=193501&r2=193500&pathrev=193501
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/compositorworker/compositor-proxy-disconnect-worker.html?r1=193501&r2=193500&pathrev=193501
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.h?r1=193501&r2=193500&pathrev=193501
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-interface-listing-expected.txt?r1=193501&r2=193500&pathrev=193501
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/CompositorProxy.cpp?r1=193501&r2=193500&pathrev=193501

compositor-worker: Introduce CompositorProxy::disconnect().

Introduce CompositorProxy::disconnect() to allow disconnecting the proxy
from the element. Trying to mutate a proxy or send the proxy over
postMessage after disconnecting it from the element throws an exception.

Other notable change: keep the number of active CompositorProxy objects for
an Element in ElementRareData.

BUG= 436952 

Review URL: https://codereview.chromium.org/1064123002
-----------------------------------------------------------------
Project Member

Comment 18 by bugdroid1@chromium.org, Apr 10 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=193506

------------------------------------------------------------------
r193506 | chrome-bot@google.com | 2015-04-10T04:00:23.222427Z

Changed paths:
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/compositorworker/resources/proxy-idle.js?r1=193506&r2=193505&pathrev=193506
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/StyleChangeReason.cpp?r1=193506&r2=193505&pathrev=193506
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/layout/LayoutInline.h?r1=193506&r2=193505&pathrev=193506
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/layout/LayoutTableRow.h?r1=193506&r2=193505&pathrev=193506
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/StyleChangeReason.h?r1=193506&r2=193505&pathrev=193506
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/CompositorProxy?r1=193506&r2=193505&pathrev=193506
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/layout/LayoutBox.cpp?r1=193506&r2=193505&pathrev=193506
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/layout/compositing/CompositingReasonFinder.cpp?r1=193506&r2=193505&pathrev=193506
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/style/ComputedStyle.h?r1=193506&r2=193505&pathrev=193506
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.cpp?r1=193506&r2=193505&pathrev=193506
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/style/StyleRareNonInheritedData.cpp?r1=193506&r2=193505&pathrev=193506
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/compositorworker/compositor-proxy-disconnect-worker-terminate.html?r1=193506&r2=193505&pathrev=193506
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/CompositorProxy/proxy-forces-layer.html?r1=193506&r2=193505&pathrev=193506
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/style/StyleRareNonInheritedData.h?r1=193506&r2=193505&pathrev=193506
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/graphics/CompositingReasons.cpp?r1=193506&r2=193505&pathrev=193506
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/graphics/CompositingReasons.h?r1=193506&r2=193505&pathrev=193506

compositor-worker: Force elements to grow a layer when a CompositorProxy is created.

Notable changes:
. A new StyleChangeReason is added as CompositorProxy.
. A new CompositingReason is added as CompositingReasonCompositorProxy.
. ComputedStyle keeps track of whether the element has a compositor proxy in
  StyleRareNonInheritedData::m_hasCompositorProxy.

BUG= 436952 

Review URL: https://codereview.chromium.org/1060973003
-----------------------------------------------------------------
Project Member

Comment 19 by bugdroid1@chromium.org, Apr 14 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=193670

------------------------------------------------------------------
r193670 | sadrul@chromium.org | 2015-04-14T05:32:48.768911Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorker.cpp?r1=193670&r2=193669&pathrev=193670
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorkerMessagingProxy.cpp?r1=193670&r2=193669&pathrev=193670
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/DedicatedWorkerMessagingProxy.h?r1=193670&r2=193669&pathrev=193670
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/Worker.cpp?r1=193670&r2=193669&pathrev=193670
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/WorkerMessagingProxy.cpp?r1=193670&r2=193669&pathrev=193670
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorker.h?r1=193670&r2=193669&pathrev=193670
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorkerMessagingProxy.h?r1=193670&r2=193669&pathrev=193670
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/InProcessWorkerBase.cpp?r1=193670&r2=193669&pathrev=193670
   M http://src.chromium.org/viewvc/blink/trunk/Source/web/WorkerGlobalScopeProxyProviderImpl.cpp?r1=193670&r2=193669&pathrev=193670
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/Worker.h?r1=193670&r2=193669&pathrev=193670
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/WorkerMessagingProxy.h?r1=193670&r2=193669&pathrev=193670
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/InProcessWorkerBase.h?r1=193670&r2=193669&pathrev=193670
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/DedicatedWorkerMessagingProxy.cpp?r1=193670&r2=193669&pathrev=193670
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/core.gypi?r1=193670&r2=193669&pathrev=193670

workers: Move core worker functionality into InProcessWorkerBase.

WorkerBase implements the core worker functionality, with Worker providing
implementation for dedicated workers, and CompositedWorker providing
implementation for compositor-workers.

BUG= 436952 

Review URL: https://codereview.chromium.org/1075603003
-----------------------------------------------------------------
Project Member

Comment 20 by bugdroid1@chromium.org, Apr 30 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=194715

------------------------------------------------------------------
r194715 | sadrul@chromium.org | 2015-04-30T09:19:01.567578Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/WorkerThread.cpp?r1=194715&r2=194714&pathrev=194715
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorkerThread.h?r1=194715&r2=194714&pathrev=194715
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/serviceworkers/ServiceWorkerThread.cpp?r1=194715&r2=194714&pathrev=194715
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/WorkerThread.h?r1=194715&r2=194714&pathrev=194715
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/DedicatedWorkerThread.cpp?r1=194715&r2=194714&pathrev=194715
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/SharedWorkerThread.cpp?r1=194715&r2=194714&pathrev=194715
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/serviceworkers/ServiceWorkerThread.h?r1=194715&r2=194714&pathrev=194715
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/compositorworker/CompositorWorkerThread.cpp?r1=194715&r2=194714&pathrev=194715
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/DedicatedWorkerThread.h?r1=194715&r2=194714&pathrev=194715
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/workers/SharedWorkerThread.h?r1=194715&r2=194714&pathrev=194715

workers: Move ownership of WebThread from WorkerThread

WorkerThread currently creates and owns the WebThread that is used for the
worker. However, for compositor-workers, we want to run all the worker scripts
in the same thread. To allow for this, move ownership of WebThread from
WorkerThread, and have each type of worker implementation provide the WebThread
to use for the worker.

BUG= 436952 ,  436932 

Review URL: https://codereview.chromium.org/1100413004
-----------------------------------------------------------------
Project Member

Comment 21 by bugdroid1@chromium.org, May 11 2015

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

commit 6780f3daea93a14cb81698025685c860b8f41db5
Author: sadrul <sadrul@chromium.org>
Date: Mon May 11 17:01:52 2015

cc: Add LayerTreeHost::InitParams for LayerTreeHost creation.

Instead of passing in a number of things to the LayerTreeHost constructor,
use a struct to simplify the code a bit, and make this more readable. This
also makes it easy to maintain a development branch that adds new things.

TBR=jam@ for API usage update in android_webview/, components/, and content/

BUG= 436952 

Review URL: https://codereview.chromium.org/1126253005

Cr-Commit-Position: refs/heads/master@{#329164}

[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/android_webview/browser/hardware_renderer.cc
[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/cc/layers/layer_unittest.cc
[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/cc/layers/picture_layer_unittest.cc
[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/cc/layers/scrollbar_layer_unittest.cc
[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/cc/layers/texture_layer_unittest.cc
[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/cc/layers/tiled_layer_unittest.cc
[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/cc/test/fake_layer_tree_host.cc
[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/cc/test/fake_layer_tree_host.h
[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/cc/test/layer_tree_test.cc
[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/cc/trees/layer_tree_host.cc
[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/cc/trees/layer_tree_host.h
[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/cc/trees/layer_tree_host_unittest.cc
[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/cc/trees/layer_tree_host_unittest_no_message_loop.cc
[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/cc/trees/layer_tree_host_unittest_scroll.cc
[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/components/html_viewer/web_layer_tree_view_impl.cc
[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/content/browser/renderer_host/compositor_impl_android.cc
[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/content/renderer/gpu/render_widget_compositor.cc
[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/content/test/web_layer_tree_view_impl_for_testing.cc
[modify] http://crrev.com/6780f3daea93a14cb81698025685c860b8f41db5/ui/compositor/compositor.cc

Project Member

Comment 22 by bugdroid1@chromium.org, May 18 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=195477

------------------------------------------------------------------
r195477 | sadrul@chromium.org | 2015-05-18T21:03:54.229325Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/http/tests/xmlhttprequest/workers/shared-worker-response-type-blob.html?r1=195477&r2=195476&pathrev=195477
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/resources/js-test.js?r1=195477&r2=195476&pathrev=195477
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/storage/indexeddb/basics-shared-workers.html?r1=195477&r2=195476&pathrev=195477
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/filesystem/workers/file-writer-events-shared-worker.html?r1=195477&r2=195476&pathrev=195477
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/http/tests/xmlhttprequest/workers/shared-worker-response-type-blob-sync.html?r1=195477&r2=195476&pathrev=195477
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-interface-listing-dedicated-worker.html?r1=195477&r2=195476&pathrev=195477
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-interface-listing-shared-worker.html?r1=195477&r2=195476&pathrev=195477
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/workers/shared-worker-messageevent-source.html?r1=195477&r2=195476&pathrev=195477
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/workers/shared-worker-replace-event-handler.html?r1=195477&r2=195476&pathrev=195477

js-test.js: Allow creating a CompositorWorker.

Change startWorker() in js-test.js to allow creating CompositorWorkers when
passing 'compositor' as the second parameter. A SharedWorker is created for
'shared', and for any other value, a DedicatedWorker is created.

BUG= 436952 

Review URL: https://codereview.chromium.org/1140133003
-----------------------------------------------------------------
Project Member

Comment 23 by bugdroid1@chromium.org, May 26 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=195927

------------------------------------------------------------------
r195927 | sadrul@chromium.org | 2015-05-26T22:08:30.891009Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/graphics/GraphicsLayer.cpp?r1=195927&r2=195926&pathrev=195927
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/graphics/GraphicsLayerClient.h?r1=195927&r2=195926&pathrev=195927
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/CompositorProxy/proxy-forces-layer.html?r1=195927&r2=195926&pathrev=195927
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/testing/Internals.idl?r1=195927&r2=195926&pathrev=195927

layout-tests: Add flag for including compositingReasons in layerTreeAsText().

Add internals.LAYER_TREE_INCLUDES_COMPOSITING_REASONS flag for including
compositingReasons in the output of internals.layerTreeAsText() (only the
short name, description is included with debug-info). This allows a layout
test to verify that a layer is being created for the right reasons.

BUG= 436952 

Review URL: https://codereview.chromium.org/1153023002
-----------------------------------------------------------------
Blockedon: chromium:518708
Owner: flackr@chromium.org
flackr@ should this be assigned to you now?
Labels: Hotlist-Recharge
This issue likely requires triage.  The current issue owner may be inactive (i.e. hasn't fixed an issue in the last 30 days or commented in this particular issue in the last 90 days).  Thanks for helping out!

-Anthony

Comment 27 by rbyers@google.com, Oct 5 2015

Labels: Hotlist-Input-Dev
Once these two CL's land we should have a usable compositor worker (behind a flag):
https://codereview.chromium.org/1602343002/
https://codereview.chromium.org/1625473002/
Components: -Blink>Animation Internals>Compositing
This does not belong in Blink>Animation.  Should we create a new Internals>Compositing>Worker component?
Status: Fixed (was: Started)
Compositor worker is now landed behind the experimental web platform features flag.

Sign in to add a comment