Commit Graph

705 Commits

Author SHA1 Message Date
Tor Arvid Lund
09df5cf35c Bug 948765 - Port CopyableCanvasLayer to Moz2D. r=nical
This patch deprecates the UpdateSurface and PaintWithOpacity methods in the
CCL class. To do this, many other changes were made in the process.

BasicImplData::Paint was deprecated, and its mOperator was ported to Moz2D.
This caused changes in several *Layer subclasses.

GLScreenBuffer::Readback was deprecated.

I want to change the usages of the (now) deprecated functions, so that they
use the new Moz2D ones: CanvasClient::Update has been updated, but the big
one (BasicLayerManager::PaintSelfOrChildren) will have to be its own
project.
2014-02-12 10:07:46 -05:00
L. David Baron
d1d272808d Bug 91419 patch 5: Rename everything with SpecialSibling to IBSplitSibling. r=mats 2014-02-06 17:45:31 -08:00
Kartikaya Gupta
5fde241c65 Bug 963278 - Better fix to deal with concurrent scroll updates from APZ and other places. r=tn,botond,jimm 2014-02-05 17:43:20 -05:00
Timothy Nikkel
bbe549de72 Bug 962791. Include nsIFrameInlines.h so linux debug build doesn't complain about missing IsAbsolutelyPositioned. r=me on a CLOSED TREE 2014-02-04 00:14:07 -06:00
Timothy Nikkel
32cb74e6ed Bug 962791. Fail to create a scrollable layer if it would cause incorrect clipping of absolutely position items. r=roc
We incorrectly wrap abs pos items, but not wrapping them leads to too many sites failing to create scrollable layers that we can't do that. So instead just fix the clipping issue for now until a more robust solution can be developed.
2014-02-03 23:16:20 -06:00
Matt Woodrow
21451501e0 Bug 952011 - Use Untransform API to safetly untransform points when we have a projective matrix. r=roc 2014-02-04 12:25:23 +13:00
Matt Woodrow
d9d558f8f0 Bug 952011 - Remove some nsLayoutUtils transform functions that are no longer needed. r=roc 2014-02-04 12:25:22 +13:00
Robert O'Callahan
a6d3b2e9c0 Bug 946502. Part 4: Remove mStickyPosFrame. r=mattwoodrow
--HG--
extra : rebase_source : 71bcbd246cf6806196a3e64d32fdde169bddfa07
2014-01-04 18:14:27 +13:00
Robert O'Callahan
9a8f69348f Bug 946502. Part 3: Extend FrameLayerBuilder to set fixed-pos metadata on layers created for background-attachment:fixed content. r=mattwoodrow
--HG--
extra : rebase_source : dbaab718d7a358bfaa40124913bcd5acf0255aa1
2013-12-18 00:30:21 +13:00
Matt Woodrow
eec83a3058 Bug 946952 - Run a 'compressed' paint up to 1 second after skipping the ColorLayer optimization. r=roc 2014-01-30 18:41:17 +13:00
Benoit Girard
2947052490 Bug 940842 - 2/3 - Implement will-change in layers-building code - r=mattwoodrow 2013-11-22 13:14:34 -05:00
Timothy Nikkel
fce6c10380 Bug 950301. Make the underlying frame of scroll layer items be the scrolled frame before the layerizing display lists. r=mattwoodrow 2014-01-27 17:30:29 -06:00
David Zbarsky
1e61d187aa Bug 952977: Convert SetBaseTransform to gfx::Matrix4x4 r=nical 2014-01-27 10:28:33 -05:00
Timothy Nikkel
d5eb33d7d0 Bug 962505. Put the scroll frame and the scrolled frame in the display list dump for scroll layer items. r=mats 2014-01-26 16:09:06 -06:00
Timothy Nikkel
05195514d5 Bug 962505. When dumping display lists print the entire line at once so it works better with Fennec and b2g. r=mats 2014-01-26 16:07:08 -06:00
Benoit Girard
49072be9c6 Bug 950488 - Overhaul APZ handling of overflow:hidden. r=botond
--HG--
extra : rebase_source : 6ba93899e5ac446b5c4a4cacb18574dd05c54c62
2014-01-21 12:33:52 -05:00
Timothy Nikkel
491cf736ad Bug 931028. Remove app units per pixel argument from nsDisplayTransform::GetTransform. r=mattwoodrow
All callers were using, and should only be using, the same value.
2014-01-20 00:56:55 -06:00
Timothy Nikkel
b2654ec621 Bug 931028. Transform matrices when used for painting related things should be in dev pixels and not CSS pixels. r=mattwoodrow 2014-01-19 17:30:36 -06:00
Robert O'Callahan
1b23587630 Bug 812795. Disable subpixel AA in content subject to SVG effects such as filters. r=jwatt
--HG--
extra : rebase_source : 7cd6724d55b57af99db8077517564c01ba1848a8
2014-01-10 16:03:24 +13:00
Anthony Jones
3b3605ff77 Bug 951463 - Rename ClampRect to ForceInside; r=botond 2014-01-06 10:05:07 -05:00
Robert O'Callahan
ddd88c039d Bug 945203. Part 4: Add nsDisplayEventRegions and build it when painting. r=mats
--HG--
extra : rebase_source : 26b71b6a18681e8fc48c6082c8df6263c1bd3739
2013-12-17 00:22:11 +13:00
David Zbarsky
ca9e9d862a Bug 952977: Switch IsSVGTransformed to gfx::Matrix r=nical 2013-12-29 18:35:53 -05:00
Robert O'Callahan
aeb166a207 Bug 950427. Don't descend into subdocuments at all in elementFromPoint. r=mats
--HG--
extra : rebase_source : 59ce23c3ab81afc624921e4543fe48dd7ae47ce2
2013-12-18 18:37:24 +13:00
Phil Ringnalda
47bb18469f Back out f55504b0184f (bug 950427) for mochitest-4 and mochitest-oth bustage (at least)
CLOSED TREE
2013-12-17 23:22:20 -08:00
Robert O'Callahan
9454d623f6 Bug 950427. Don't descend into subdocuments at all in elementFromPoint. r=mats 2013-12-18 18:37:24 +13:00
Timothy Nikkel
a969eaf546 Bug 951467. Give scroll layer items the bounds of the scroll port, not the bounds of the display port. r=roc
The bounds of the scroll port match what will actually be drawn on the screen.

The bounds of the contained content (sized to the display port) are still accessible via mList.GetBounds, and similarly the visible rect of the contained content is mList.GetVisibleRect. The external bounds/visible rect are GetBounds and GetVisibleRect on the nsDisplayScrollLayer object itself.

We implement nsDisplayScrollInfoLayer::GetBounds solely so that it continues to return an empty rect because we expect active empty layers to have empty visible rects.

We no longer have to set our mVisibleRect in nsDisplayScrollLayer::ComputeVisibility because nsDisplayList::ComputeVisibilityForSublist now does it correctly for us (like other items).

We also have to teach ContainerState::ProcessDisplayItems to not set the visible region for scroll layers because it has the external visible region, not the larger internal display port sized visible region. We instead let BuildContainerLayer set the visible region of the layer.
2013-12-17 23:02:56 -06:00
Kartikaya Gupta
8109167828 Bug 949132 - Add a flag to FrameMetrics indicating a non-APZ scroll (original patch by mstange). r=tn 2013-12-16 12:04:45 -05:00
Matt Woodrow
adff6f24ed Bug 913503 - Fix reversed if() condition to fix bustage. 2013-12-16 21:05:20 +13:00
Matt Woodrow
7e4d69c48b Bug 913503 - Update windowed plugin positions before we schedule a composite with OMTC. r=roc 2013-12-16 18:38:42 +13:00
Chris Lord
7977706b6f Bug 936500 - Always build layers for nsDisplayScrollLayer. r=tn
APZC information is associated with layers, and having those layers suddenly
disappear because they became occluded, or their displayports are off-screen
has undesired effects.
2013-12-13 19:37:34 +00:00
Tor Arvid Lund
af7e76f848 Bug 929513 - Replace some instances of gfxIntSize with gfx::IntSize r=nical 2013-12-13 18:32:02 +01:00
Robert O'Callahan
c19c09f778 Bug 945634. The fixed-pos anchor point should be in the layer's coordinate system, whose 0,0 is the top-left of the fixed-pos frame. r=mattwoodrow 2013-12-13 01:33:02 +13:00
Cameron McCormack
ff1a22b1fb Bug 773296 - Part 16a: Followup to move to using nsCSSValueSharedList in OMTA code. r=roc 2013-12-12 13:09:44 +11:00
Cameron McCormack
6f8dcf77b4 Bug 773296 - Part 16: Add a ref-counted list nsCSSValue unit and use it for tranform lists; hold a strong reference to one on nsStyleDisplay. r=dbaron
This adds a new eCSSUnit_SharedList type for nsCSSValue, which is a
reference counted object that contains an nsCSSValueList.  We need this
so that nsStyleDisplay::mSpecifiedTransform can hold a strong reference
to a specified transform list value.  When 'transform' is specified
using a variable reference, the resulting nsCSSValue does not stick
around in the Declaration object, so we wouldn't be guaranteed that
it lives long enough for nsStyleDisplay to keep referencing it.
2013-12-12 13:09:44 +11:00
Ryan VanderMeulen
6fb3114a62 Merge m-c to inbound. 2013-12-10 15:48:16 -05:00
Kartikaya Gupta
1af8763544 Bug 814435 - Annotate layers for scrollbars as such. r=tn, BenWa 2013-12-09 22:14:53 -05:00
Matt Woodrow
af8e5172d6 Bug 926268 - Don't include the full frame bounds in nsDisplayBorder if we're only painting one side. r=roc 2013-12-09 12:01:30 +13:00
Timothy Nikkel
76f3bda08c Bug 933264. If we have to flatten scroll layer items make sure to clip their child items properly. r=roc
The scroll layer item has the clip induced by the scroll frame, but the scrolled items are only clipped to the (larger) display port so we can async scroll the display port area. But if we can't merge all the scroll layer items then we can't render the expanded display port content so we have to clip the scrolled items to the scroll frame by propagating the clip on the scroll layer item to its children.
2013-12-10 12:05:18 -06:00
Timothy Nikkel
b9f79ea143 Bug 947467. Active transform layers should obey ancestor clipping if we don't need to prerender non-visible parts of them. r=roc 2013-12-07 12:33:09 -06:00
Botond Ballo
811c422a69 Bug 942995 - Squish the FrameMetrics::mScrollableRect for overflow:hidden elements. r=tn 2013-11-26 18:46:47 -05:00
Botond Ballo
bcb10de663 Bug 943619 - Do not discard scroll info layers inside an nsDisplayTransform. r=tn 2013-11-26 16:30:20 -05:00
Benoit Girard
f8fd653be7 Bug 942483 - Port paint-dumping to android/b2g. r=gal 2013-11-23 17:44:18 -05:00
Botond Ballo
16e9267e41 Bug 912666 - Force scroll frames for 'scrollgrab' elements to always create a real scrollable layer rather than a scroll info layer. r=roc,tn 2013-10-23 05:04:42 -04:00
Botond Ballo
a04c592e61 Bug 912666 - Propagate the 'scrollgrab' attribute to FrameMetrics. r=kats,Cwiiis 2013-09-23 14:09:48 -05:00
Botond Ballo
b75d9dd1de Bug 900092 - Remove FrameMetrics::ROOT_SCROLL_ID. r=kats,tn 2013-11-08 19:07:00 -05:00
Ryan VanderMeulen
e23074782e Merge m-c to inbound on a CLOSED TREE. 2013-11-18 10:59:48 -05:00
Gijs Kruitbosch
d283ec620c Merge m-c to ux 2013-11-18 13:44:32 +01:00
Gijs Kruitbosch
1e3930ad3d Merge m-c to ux 2013-11-17 23:37:53 +01:00
Matt Woodrow
4122bef511 Bug 939607 - Part 3: Try fold nsDisplayOpacity items opacity value into their children. r=roc 2013-11-18 22:32:09 +13:00
Matt Woodrow
7bb2bbae86 Bug 939607 - Part 2: Add an API for storing an opacity on a display item, and implement it for nsDisplayBoxShadowOuter. r=roc 2013-11-18 22:32:09 +13:00