Commit Graph

676 Commits

Author SHA1 Message Date
Chris Lord
68d407c357 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
944f0d6f3b Bug 929513 - Replace some instances of gfxIntSize with gfx::IntSize r=nical 2013-12-13 18:32:02 +01:00
Robert O'Callahan
ef28de860d 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
f720004d48 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
835faf601a 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
a762d43c40 Merge m-c to inbound. 2013-12-10 15:48:16 -05:00
Kartikaya Gupta
cb968a6256 Bug 814435 - Annotate layers for scrollbars as such. r=tn, BenWa 2013-12-09 22:14:53 -05:00
Matt Woodrow
90f013ebd8 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
754bcccff1 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
b7e64954db 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
01ffa4c50d Bug 942995 - Squish the FrameMetrics::mScrollableRect for overflow:hidden elements. r=tn 2013-11-26 18:46:47 -05:00
Botond Ballo
1c483e7005 Bug 943619 - Do not discard scroll info layers inside an nsDisplayTransform. r=tn 2013-11-26 16:30:20 -05:00
Benoit Girard
74c90d1629 Bug 942483 - Port paint-dumping to android/b2g. r=gal 2013-11-23 17:44:18 -05:00
Botond Ballo
28accb51aa 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
c33a73dd59 Bug 912666 - Propagate the 'scrollgrab' attribute to FrameMetrics. r=kats,Cwiiis 2013-09-23 14:09:48 -05:00
Botond Ballo
20adb2fb8e Bug 900092 - Remove FrameMetrics::ROOT_SCROLL_ID. r=kats,tn 2013-11-08 19:07:00 -05:00
Ryan VanderMeulen
79774cfe25 Merge m-c to inbound on a CLOSED TREE. 2013-11-18 10:59:48 -05:00
Gijs Kruitbosch
94480b349c Merge m-c to ux 2013-11-18 13:44:32 +01:00
Gijs Kruitbosch
5cbd9e36ff Merge m-c to ux 2013-11-17 23:37:53 +01:00
Matt Woodrow
bd01a8a744 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
3e3b836930 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
Gijs Kruitbosch
eac4a01c92 Merge mozilla-central and ux 2013-11-11 22:41:49 +01:00
Matthew Noorenberghe
dc43a0e285 Merge mozilla-central to UX 2013-11-09 17:46:29 -08:00
Gijs Kruitbosch
b61aba6994 merge m-c to ux 2013-11-06 22:25:39 +01:00
Gijs Kruitbosch
6c072adc32 Merge mozilla-central and ux 2013-11-05 20:14:58 +01:00
Kartikaya Gupta
0dbc924a02 Bug 930904 - Remove some old code for android that is now no-op'd. r=tn 2013-11-04 21:40:05 -05:00
Kartikaya Gupta
afe1cd6f74 Bug 930904 - Ensure the presShell resolution is recorded on the FrameMetrics for the root scrollable layer of the presShell. r=tn
Previously the code would only set the resolution on the FrameMetrics when
the scroll ID was equal to ROOT_SCROLL_ID. This only happens on the root
scrollable frame for a layer tree. However, with bug 732971 fixed, any presShell
can have a resolution associated with it, so we need to populate the mResolution
for any layer that is the root scrollable layer for a presShell.

On platforms like Fennec and Metro the content presShell is a sub-presShell
of the root presShell. The resolution is set on the content presShell, but would
not get populated on the FrameMetrics correctly because of this condition. The #ifdef
ANDROID hack a few lines below was used to work around this on Fennec but it
was broken on Metro. This change corrects the behaviour on both of these platforms.
2013-11-04 21:39:44 -05:00
Gijs Kruitbosch
00aa54c9ed Merge mozilla-central and ux 2013-11-03 23:36:57 +01:00
Gijs Kruitbosch
a880139178 Merge mozilla-central and ux 2013-11-01 09:20:15 +01:00
Robert O'Callahan
1ca3b651c4 Bug 933354. Avoid calling GetDeltaToPerspectiveOrigin for elements that don't have perspective. r=heycam
--HG--
extra : rebase_source : 2e887376cc3529191799e6e7726c336199121e96
2013-11-05 23:03:38 -08:00
Ryan VanderMeulen
c80a525c6d Merge m-c to inbound on a CLOSED TREE. 2013-10-30 22:42:13 -04:00
Jim Mathies
af489855e8 Bug 931146 - Set FrameMetrics mMayHaveTouchListeners for all frames that call RecordFrameMetrics. Fixes missing touch info for sub documents. r=tnikkel,kats 2013-10-29 20:51:00 -05:00
Kartikaya Gupta
6029715149 Bug 732971 - Create a new layer type for subdocuments with a resolution. r=tn
The new nsDisplayResolution layer type is created for any subdocument whose
presShell specifies a non-1.0 resolution. This is specifically needed for
platforms such as Android and Metro, where the presShells corresponding to
the tabs (which have non-1.0 resolutions) are not the root presShell.
2013-10-29 09:27:15 -04:00
Phil Ringnalda
b679ae2f4c Back out 0a88dee3b92b:dc5cc7d7b84d (bug 911889) for beaucoup unexpected assertions
--HG--
extra : rebase_source : a2a13633b6028c99a3c732dbbafe8c800bc32071
2013-10-28 23:38:02 -07:00
Ehsan Akhgari
790750e904 Bug 938114 - Build layout/base in unified mode; r=roc 2013-11-14 21:43:56 -05:00
Robert O'Callahan
9ed4932e4b Backout changesets 37f9a5424227, c1578a4fc86d and a417424f9213 (for bugs 933354, 929021 and 923193 respectively) while we figure out performance regressions
--HG--
extra : rebase_source : e4a004a15c92b5a8a8b780e7da779ac86d1c29be
2013-11-11 15:23:56 +13:00
Robert O'Callahan
3044512b73 Bug 919144. Part 10: Fold nsDisplayFixedPosition into nsDisplayStickyPosition. r=mattwoodrow
--HG--
extra : rebase_source : 597e2a178762509421a32d53be6242cd588c7995
2013-09-27 18:02:03 +12:00
Robert O'Callahan
e65856150c Bug 919144. Part 9: Move FrameLayerBuilder::ContainerParameters to mozilla::ContainerLayerParameters. r=mattwoodrow
This is to avoid having to #include FrameLayerBuilder.h in nsLayoutUtils.h in the next patch.

--HG--
extra : rebase_source : 5f3c3ae2785267949766ae094414781133d4ce44
2013-09-27 18:01:16 +12:00
Robert O'Callahan
ef35905e93 Bug 919144. Part 8: Delete lots of code that's no longer needed. r=mattwoodrow
I never liked nsDisplayListBuilder::IsFixedItem anyway, its behavior and
naming was confusing. Also, it assumed there's only one viewport displayport,
on the rootmost document, and that's a bad assumption in general.
We're able to remove calls to ForceVisiblityForFixedItem because FrameLayerBuilder
is now responsible for inflating the visible region of the fixed-pos layers.

--HG--
extra : rebase_source : e93d8e25d2f5c7f3e167e47203d961e6b4293b81
2013-09-27 18:01:16 +12:00
Robert O'Callahan
c14b5d34af Bug 919144. Part 6: nsDisplayListBuilder::MarkOutOfFlowFrameForDisplay should call IsFixedPosFrameInDisplayPort and make fixed-pos frames intersect their overflow-rect with the viewport's displayport to get their dirty rect. r=mattwoodrow
This prevents insanely large fixed-pos elements from getting an over-huge
dirty rect and building an enormous display list.
This is also a step towards getting rid of nsDisplayListBuilder::mHasDisplayPort,
which is good because the new code works on any subdocument that has a displayport.

--HG--
extra : rebase_source : e853022dd2ce85af318f235f8851d9dd8b5001ac
2013-09-27 18:01:15 +12:00
Robert O'Callahan
3d6d117d48 Bug 919144. Part 1: Rename identifiers from 'active scroll(ed) root' to 'animated geometry root'. r=mattwoodrow
Also sneaks in a couple of other refactorings:

--HG--
extra : rebase_source : 8b0e0729f26231d98ed069b54dd4f7c1e51b10b5
2013-09-26 09:07:26 +12:00
Horia Iosif Olaru
db2682823f Bug 841601 - Add background-blend-mode implementation. r=roc 2013-11-08 10:08:03 -05:00
Robert O'Callahan
05b58a7e00 Bug 911889. Part 3: Create nsLayoutUtils::HasAnimations, and suppress opacity:0 optimizations whenever there's any opacity animation even if it's not using the compositor. r=dbaron
--HG--
extra : rebase_source : b3ffe185686e38226e0979060a74669271e1c2d5
2013-09-04 23:30:57 +12:00
Robert O'Callahan
1daba93a73 Bug 911889. Part 3: Create nsLayoutUtils::HasAnimations, and suppress opacity:0 optimizations whenever there's any opacity animation even if it's not using the compositor. r=dbaron 2013-09-04 23:30:57 +12:00
Robert O'Callahan
c2cf6c85d0 Bug 911889. Part 2: Refactor MarkLayersActive code into its own class and be much more explicit about what it does. r=mattwoodrow
This also changes the functionality a little bit to track independent
per-property mutation counts and independent "content active" status.

--HG--
extra : rebase_source : e69b8e7a95d36720bd38d74f0789ede603e58a09
2013-09-04 23:30:57 +12:00
Robert O'Callahan
a999a450cf Bug 911889. Part 2: Refactor MarkLayersActive code into its own class and be much more explicit about what it does. r=mattwoodrow
This also changes the functionality a little bit to track independent
per-property mutation counts and independent "content active" status.
2013-09-04 23:30:57 +12:00
Robert O'Callahan
5f0e45ba5d Bug 929021. Skip calling GetFrameBoundsForTransform when we don't need it. r=heycam
--HG--
extra : rebase_source : 646bea24724034ca4e2c0f2075ae8cb86f884023
2013-10-22 11:09:46 +02:00
Markus Stange
a7e6eb475f Bug 851652 - Change position of the standardWindowButtons for Australis [r=smichaud r=mnoorenberghe+bmo r=jaws r=roc]
--HG--
extra : rebase_source : 4936bfc62a4712871caa5d767b1dd2e496e0826c
2013-06-12 23:42:00 +02:00
Chris Lord
29921ef803 Bug 933556 - Anchor fixed, left+right/top+bottom positioned content to center. r=roc
If a fixed position element has both top and bottom, or both left and right
positioning, set the fixed position anchor to the center of the corresponding
axis. This causes it to remain center-aligned when async zooming.
2013-11-15 17:06:29 +00:00
L. David Baron
fd3c5fb2bd Bug 929673 Patch 3: Rename GetDeltaToMoz{Transform,Perspective}Origin to remove the Moz to avoid use of deprecated CSS prefixes in variable names. r=dzbarsky 2013-10-24 14:46:00 +02:00