Commit Graph

687 Commits

Author SHA1 Message Date
Robert O'Callahan
aced109502 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
ffb3cc0bf2 Bug 951463 - Rename ClampRect to ForceInside; r=botond 2014-01-06 10:05:07 -05:00
Robert O'Callahan
67dd0d7a70 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
71ac1019d5 Bug 952977: Switch IsSVGTransformed to gfx::Matrix r=nical 2013-12-29 18:35:53 -05:00
Robert O'Callahan
c227b8935c 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
29350e47dd 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
5e9047d2fe Bug 950427. Don't descend into subdocuments at all in elementFromPoint. r=mats 2013-12-18 18:37:24 +13:00
Timothy Nikkel
aa3d1dc04d 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
330e915734 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
5b431ef375 Bug 913503 - Fix reversed if() condition to fix bustage. 2013-12-16 21:05:20 +13:00
Matt Woodrow
eb8c0db39a 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
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