Closed Bug 890279 Opened 11 years ago Closed 11 years ago

Create ScrollInfoLayers for frames we want APZC support

Categories

(Core :: Graphics: Layers, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla25

People

(Reporter: BenWa, Assigned: BenWa)

References

Details

Attachments

(1 file, 2 obsolete files)

Attached patch patch (obsolete) — Splinter Review
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+
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)
We discussed this in person. We're moving the area from the layer visible region to the frame metrics.
Flags: needinfo?(matt.woodrow)
Attached patch Use mViewport instead (obsolete) — Splinter Review
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+
Attachment #772480 - Attachment is obsolete: true
Attachment #772773 - Flags: review+
Keywords: checkin-needed
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla25
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: