gecko-dev/layout/ipc
Kartikaya Gupta 3b8aaa896a Bug 1384616 - Change how display items put their APZ-relevant info into the WebRenderScrollData. r=jrmuizel
Instead of the WebRenderLayerScrollData code knowing about all the
different display item types, it makes more sense to move this logic
into the display items.

In addition to avoiding dis-encapsulating the data from nsDisplayItem subclasses,
this makes it easier to handle two specific scenarios:
(1) the case where an nsDisplayItem A subclasses another nsDisplayItem B, but A
and B have different types returned by GetType(). Previously A and B would have
to be handled explicitly in the WebRenderLayerScrollData switch statements,
which doesn't scale well if new types are added. With the new approach the
virtual function is shared down from A to B and so takes care of it. This is
particularly relevant for types like nsDisplayOwnLayer which have a number of
subclasses.

(2) the case where a display item *might* have APZ-relevant information.
In this case the type of the item alone is not sufficient to determine
if we need to create a new WebRenderLayerScrollData for it. Instead, we
need to access specific state inside the display item. This is now
handled by the UpdateScrollData function returning true when passed
nullptr arguments, and replaces the switch statement in
WebRenderLayerManager that updated forceNewLayerData.

MozReview-Commit-ID: FlfHlgSccSn

--HG--
extra : rebase_source : d1fe841724cc6020433aea31ffb5214d8a44d0a9
2017-07-31 15:27:29 -04:00
..
PRenderFrame.ipdl Bug 1306603 - Remove rest of mozpasspointerevents code as it is not needed any more. r=kanru 2016-10-05 08:27:02 -04:00
PVsync.ipdl Bug 1332226, skip some refreshdriver ticks if processing ticks takes too much time, and re-enable high priority vsync, r=afarre 2017-02-11 16:42:20 +02:00
RenderFrameChild.cpp Bug 1182996 - Fix and add missing namespace comments. rs=ehsan 2015-07-13 08:25:42 -07:00
RenderFrameChild.h
RenderFrameParent.cpp Bug 1384616 - Change how display items put their APZ-relevant info into the WebRenderScrollData. r=jrmuizel 2017-07-31 15:27:29 -04:00
RenderFrameParent.h Bug 1384616 - Change how display items put their APZ-relevant info into the WebRenderScrollData. r=jrmuizel 2017-07-31 15:27:29 -04:00
VsyncChild.cpp Bug 1322184 - Measure time spent in content JS that causes delay in paint. r=billm, data-r=bsmedberg 2017-05-02 08:10:00 -04:00
VsyncChild.h Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
VsyncParent.cpp Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
VsyncParent.h Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
moz.build Bug 1286877 - do not set c-basic-offset for python-mode; r=gps 2016-07-14 10:16:42 -06:00