Create ScrollInfoLayers for frames we want APZC support

RESOLVED FIXED in mozilla25

Status

()

RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: BenWa, Assigned: BenWa)

Tracking

Trunk
mozilla25
x86
Mac OS X
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 2 obsolete attachments)

(Assignee)

Description

6 years ago
Created attachment 771353 [details] [diff] [review]
patch

Follow up to bug 775459 since it didn't really fit in there.

Carrying r=kats,mattwoodrow . Patch should be ready to go once I fix the assertion in dom/indexedDB/ipc:
https://tbpl.mozilla.org/php/getParsedLog.php?id=24842027&tree=Try
Attachment #771353 - Flags: review+
(Assignee)

Comment 1

6 years ago
My code is trying to build a nsScrollInfoLayer to hold the scroll meta data but it's hitting this assertion. Looks like we can either:
1) Change the layer type to LAYER_ACTIVE and remove the _EMPTY part or
2) Remove this assertion: http://mxr.mozilla.org/mozilla-central/source/layout/base/FrameLayerBuilder.cpp#2099

Matt can you weight in on the implications here.
Flags: needinfo?(matt.woodrow)
(Assignee)

Comment 2

6 years ago
We discussed this in person. We're moving the area from the layer visible region to the frame metrics.
Flags: needinfo?(matt.woodrow)
(Assignee)

Comment 3

6 years ago
Created attachment 772480 [details] [diff] [review]
Use mViewport instead

The changes to layout are the same minus two hunks that are no longer needed. Modified the tests and hit testing code.

https://tbpl.mozilla.org/?tree=Try&rev=c0512cb7f643
Assignee: nobody → bgirard
Attachment #771353 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #772480 - Flags: review?(bugmail.mozilla)
Comment on attachment 772480 [details] [diff] [review]
Use mViewport instead

Review of attachment 772480 [details] [diff] [review]:
-----------------------------------------------------------------

::: gfx/layers/composite/ContainerLayerComposite.cpp
@@ +157,5 @@
>  
> +    const FrameMetrics& frame = aContainer->GetFrameMetrics();
> +    CSSRect viewport = frame.mViewport;
> +    CSSToLayerScale paintedScale = frame.mDevPixelsPerCSSPixel * frame.mResolution;
> +    LayerRect layerViewport = viewport * paintedScale;

You can do frame.mViewport * frame.LayerPixelsPerCSSPixel() here, it's a little simpler.

::: gfx/layers/ipc/AsyncPanZoomController.cpp
@@ +1483,5 @@
> +  if (aLayer.GetFrameMetrics().IsScrollable()) {
> +    const FrameMetrics& frame = aLayer.GetFrameMetrics();
> +    CSSRect viewport = frame.mViewport;
> +    CSSToLayerScale paintedScale = frame.mDevPixelsPerCSSPixel * frame.mResolution;
> +    LayerRect layerViewport = viewport * paintedScale;

Ditto here
Attachment #772480 - Flags: review?(bugmail.mozilla) → review+
(Assignee)

Comment 5

6 years ago
Created attachment 772773 [details] [diff] [review]
Use mViewport instead
Attachment #772480 - Attachment is obsolete: true
Attachment #772773 - Flags: review+
(Assignee)

Updated

6 years ago
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/48d6452c9d10
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla25
You need to log in before you can comment on or make changes to this bug.