Commit Graph

516 Commits

Author SHA1 Message Date
Chris Lord
f67f2ed873 Bug 856932 - Fix async scrolling of auto-positioned fixed position elements. r=nrc
Layers representing auto-positioned fixed position elements should not be
offset by the fixed layer margins.
2013-04-15 09:31:48 +01:00
Matt Woodrow
30d119577c Bug 859630 - Use the PresContext's document in FindContentInDocument when the frame doesn't have an associated nsIContent. r=roc 2013-04-15 18:55:36 +12:00
Robert O'Callahan
bf594d63fa Bug 841192. Part 16: Take plugin's own clipping into account when computing the region for its window. Make SortByContentOrder handle cases where display items in the same list come from different documents. r=mattwoodrow
--HG--
extra : rebase_source : f39deb6250c7aef71d6cd3a62df43785a3bfc7b1
2013-04-05 21:30:34 +13:00
Robert O'Callahan
7cbe6380ff Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow
This patch does several things. Sorry.

In BuildDisplayList implementations, instead of wrapping display items in nsDisplayClip, we
push clip state onto the nsDisplayListBuilder and give the display items an
explicit clip when they're created.

In FrameLayerBuilder, we use the explicit clips we find on display items instead of
computing our own.

We remove nsDisplayClip and everything that depends on it.

We remove ExplodeAnonymousChildLists. With nsDisplayClip gone, and
nsDisplayOptionEventGrabber removed in a previous patch, there are no
anonymous child lists.

nsDisplayItem::TryMerge implementations need to make sure they have the same
clip before being merged.

I ripped out the part of PruneDisplayListForExtraPage that adjusts clip rects.
As far as I can tell, it isn't actually necessary.

--HG--
extra : rebase_source : 6f3988b385d0ac54ab26fad10b12173884441f48
2013-03-04 22:56:02 +13:00
Robert O'Callahan
62aa179c29 Bug 841192. Part 13: Rename nsFrame::ApplyOverflowClipping to ShouldApplyOverflowClipping. r=mattwoodrow
We rename nsFrame::ApplyOverflowClipping to nsFrame::ShouldApplyOverflowClipping
to reflect the fact that it doesn't cause any clipping.

--HG--
extra : rebase_source : d3bd1ef902276526b37b27c510a8d3a9db6416dc
2013-03-07 00:08:16 +13:00
Robert O'Callahan
53c6c63412 Bug 841192. Part 12: Move RoundedRectIntersectsRect from nsDisplayList.cpp to nsLayoutUtils. r=mattwoodrow
--HG--
extra : rebase_source : aa0ad96c363b70895b068a6d4805f9164cc03b27
2013-03-07 00:08:15 +13:00
Robert O'Callahan
96f57a5820 Bug 841192. Part 8: On encountering out-of-flow frames during display list construction, save their clip rect as well as their dirty rect for later use when we traverse the placeholder. r=mattwoodrow
--HG--
extra : rebase_source : 3a41e2eb4940f1ae7c0748f27211a7d0cf7ad638
2013-03-04 22:56:02 +13:00
Mats Palmgren
76816cc92f Bug 855920 - Remove unused nsDisplayTransform ctor. r=roc 2013-04-01 18:45:18 +02:00
Robert O'Callahan
ec730ddcc9 Bug 852489. Part 9: Avoid temporarily setting a layer's visible region to a non-final value. r=mattwoodrow
We currently set the visible region on most container layers twice: once in
BuildContainerLayerFor, where we don't take clipping from ancestors into
account, and then later ProcessDisplayItems calls RestrictVisibleRegionForLayer
which does take ancestor clipping into account. This causes unnecessary
Mutated()s.

In this patch we partially fix this by forcing transform layers to take
account of their ancestor clipping when they set the visible region in
BuildContainerLayerFor. For those layers we don't need to apply
ancestor clipping in ProcessDisplayItems. This is done in a rather
ugly way, by passing the ancestor clip rect as an extra field of
ContainerParameters. To preserve the optimization that prerendered
elements are treated as fully visible regardless of ancestor clipping,
we have to add a flag to turn that clipping off in BuildContainerLayerFor.

In bug 841192 we will be able to fix this in a much nicer way, because we can
get the ancestor clip directly off the nsDisplayItem passed to
BuildContainerLayerFor. But this approach is needed for the B2G18 branch.

--HG--
extra : rebase_source : 26fbe55db84ab96e1e358b8803b0563f42590836
2013-03-22 15:17:29 +13:00
Benoit Girard
fc10a7cfe4 Bug 851611 - Part 3: Rename headers. r=jrmuizel
--HG--
rename : tools/profiler/sampler.h => tools/profiler/GeckoProfiler.h
rename : tools/profiler/sps_sampler.h => tools/profiler/GeckoProfilerImpl.h
extra : rebase_source : 6ea7c660764a4390cdd8dd91561fff1d7bad6035
2013-03-18 15:25:50 +01:00
Benoit Girard
9d12529d78 Bug 851611 - Part 2: Update profiler calls. r=jrmuizel
--HG--
extra : rebase_source : f76accc3d3dd86c75cb3e9750734f23ec9c29941
2013-03-16 00:47:02 -04:00
Matt Woodrow
976550b695 Bug 822086 - Handle a nullptr ContainerLayer in nsDisplayTransform::BuildLayer. r=bustage CLOSED TREE 2013-03-21 16:27:02 +13:00
Matt Woodrow
667dc0c39c Bug 822086 - Don't build ContainerLayers that would have a singular matrix. r=roc 2013-03-21 15:33:00 +13:00
Robert O'Callahan
3f62f02bdc Bug 846901 - Support prerendering elements with animated transforms that are offscreen but only by a small amount. r=mattwoodrow 2013-03-19 09:08:29 -04:00
Ed Morley
3be8543796 Backed out changeset e8ffcf4b8e22 (bug 846901) 2013-03-19 14:15:07 +00:00
Robert O'Callahan
e0e3473650 Bug 846901 - Support prerendering elements with animated transforms that are offscreen but only by a small amount. r=mattwoodrow 2013-03-19 09:08:29 -04:00
Ed Morley
b2109c458f Backed out changeset c75481a07302 (bug 851611) 2013-03-18 14:10:35 +00:00
Ed Morley
2b1775b4e9 Backed out changeset d195190adc48 (bug 851611)
--HG--
rename : tools/profiler/GeckoProfiler.h => tools/profiler/sampler.h
rename : tools/profiler/GeckoProfilerImpl.h => tools/profiler/sps_sampler.h
2013-03-18 14:10:30 +00:00
Benoit Girard
664cf994b4 Bug 851611 - Part 3: Rename headers. r=jrmuizel
--HG--
rename : tools/profiler/sampler.h => tools/profiler/GeckoProfiler.h
rename : tools/profiler/sps_sampler.h => tools/profiler/GeckoProfilerImpl.h
extra : rebase_source : 552fe1d3ff61d15b264aaf86f7c8cb4f4eff69d1
2013-03-18 14:41:02 +01:00
Benoit Girard
c4c6a0ddf5 Bug 851611 - Part 2: Update profiler calls. r=jrmuizel
--HG--
extra : rebase_source : 3032aaf7e50cdf9c350da688ec34e50a695fc7ca
2013-03-16 00:47:02 -04:00
Timothy Nikkel
2b0ae273b3 Bug 848421. Part 2. Remove useless PresContext argument to nsCSSRendering::FindBackground. r=mats 2013-03-07 10:03:49 -06:00
Chris Lord
81f0522af9 Bug 716403 - Annotate layers with the fixed margins from the PresShell. r=nrc,roc
This annotates fixed layers with the margins that have been applied from
nsIPresShell->GetContentDocumentFixedPositionMargins. Using SyncViewportInfo
in CompositorParent, this allows for async fixed position margin setting.
2013-03-07 10:17:33 +00:00
Ryan VanderMeulen
893d8d351a Backed out 9 changesets (bug 716403) for Android 4.0 robocop bustage on a CLOSED TREE. 2013-03-06 16:11:05 -05:00
Chris Lord
f223199f29 Bug 716403 - Annotate layers with the fixed margins from the PresShell. r=nrc,roc
This annotates fixed layers with the margins that have been applied from
nsIPresShell->GetContentDocumentFixedPositionMargins. Using SyncViewportInfo
in CompositorParent, this allows for async fixed position margin setting.
2013-03-06 16:56:00 +00:00
Ed Morley
2e90a500bf Backed out changeset cacb9f3ee44d (bug 840693) 2013-03-04 14:37:43 +00:00
Anthony Jones
fffa15107b Bug 840693 - Change to using gfx:: types in AsyncPanZoomController; r=cjones 2013-03-04 13:25:26 +13:00
Ryan VanderMeulen
5d849d0751 Backed out 8 changesets (bug 716403) for frequent Android mochitest-8 failures on a CLOSED TREE. 2013-03-01 16:09:59 -05:00
Chris Lord
f56a95adbd Bug 716403 - Annotate layers with the fixed margins from the PresShell. r=nrc,roc
This annotates fixed layers with the margins that have been applied from
nsIPresShell->GetContentDocumentFixedPositionMargins. Using SyncViewportInfo
in CompositorParent, this allows for async fixed position margin setting.
2013-03-01 15:46:34 +00:00
Matt Woodrow
84c04d1e4c Bug 846144 - Don't optimize backgrounds to an ImageLayer if they have border-radius clipping. r=roc 2013-02-28 21:49:30 +13:00
L. David Baron
822b2ca3bc Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert
Except for the changes in:
  layout/generic/nsIFrame.h (part)
  layout/style/nsComputedDOMStyle.h (all)
  layout/style/nsRuleNode.cpp (part)
  layout/style/nsStyleContext.cpp (part)
  layout/style/nsStyleContext.h (part)
(see patch 3b in the bug), this patch was written with the sed script:
s/\<GetStyle\(Font\|Color\|List\|Text\|Visibility\|Quotes\|UserInterface\|TableBorder\|SVG\|Background\|Position\|TextReset\|Display\|Content\|UIReset\|Table\|Margin\|Padding\|Border\|Outline\|XUL\|SVGReset\|Column\)\>/Style\1/g
2013-02-16 13:51:02 -08:00
Robert O'Callahan
59dfd955a1 Bug 840902. Part 1: Stop checking the results of various display list methods. r=mattwoodrow
--HG--
extra : rebase_source : 50a3d6809ef76a25a3d02d91f2873d9ba11fdc56
2013-02-15 00:08:08 +13:00
L. David Baron
63fdfec174 Bug 841789, patch 1: Rename nsIFrame::GetStyleContext() to nsIFrame::StyleContext() since it can never return null. r=dholbert
This makes it conform to our convention that getters returning pointers
that can never be null do not begin with "Get".
2013-02-15 21:38:33 -08:00
Ed Morley
ea6cb39072 Backed out changeset b1905f6653d4 (bug 840902) on a CLOSED TREE 2013-02-14 11:47:08 +00:00
Robert O'Callahan
0b8b76fcca Bug 840902. Part 1: Stop checking the results of various display list methods. r=mattwoodrow
--HG--
extra : rebase_source : f90be285148c68fae306d09714f0fe642b490c45
2013-02-15 00:08:08 +13:00
Robert O'Callahan
8b7ec02e58 Bug 815591. Don't build nsDisplayBackgroundColor if there is no background color and we're not going to do hit-testing. r=mattwoodrow 2012-11-28 01:50:09 +13:00
Ryan VanderMeulen
daec4f1f33 Backed out changeset 394bbaa548e3 (bug 815591) for OSX reftest failures on a CLOSED TREE. 2013-02-13 22:10:09 -05:00
Robert O'Callahan
ada178ae9a Bug 815591. Don't build nsDisplayBackgroundColor if there is no background color and we're not going to do hit-testing. r=mattwoodrow
--HG--
extra : rebase_source : 1e7055649266621e72cbd669949c3d30a32980a2
2012-11-28 01:50:09 +13:00
Nicholas Cameron
a1be3479be Bug 828531; fix scaling CSS pixels for animations; r=roc
--HG--
extra : rebase_source : 0e24bf2ee472a37b742efe3d142c2c25fef3e572
2013-02-13 10:00:54 +13:00
Matt Woodrow
ce93190e34 Bug 836844 - Pass the right clip area for canvas frames. r=roc 2013-02-04 07:11:49 -05:00
Robert O'Callahan
a70281e646 Bug 828146. Ensure nsDisplayBackgroundImage::ComputeInvalidationRegion invalidates something for nsDisplayBackgroundImages which are themed. r=mattwoodrow
--HG--
extra : rebase_source : 1050ffe991aed624958b9cb63f142a76a34fc67d
2013-02-01 17:09:32 +13:00
Matt Woodrow
6ff7e265f4 Bug 836179 - Add WriteDebugInfo so that display items can add extra information when printing display lists. r=roc 2013-01-30 18:07:30 +13:00
Matt Woodrow
f18c00bb62 Bug 832341 - Use the correct border area (rather than the canvas area) when computing the bounds of an nsDisplayCanvasBackgroundImage. r=roc 2013-01-30 18:07:29 +13:00
Matt Woodrow
23cabe0437 Bug 820839 - Draw OSX titlebar content into a retained buffer during the ThebesLayer painting phase, before we clear invalidation state. r=roc 2013-01-17 11:59:23 +13:00
Mats Palmgren
6c53161814 Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
L. David Baron
7f995ece9b Bug 827717: Change record of CSS animation start to be before delay so that dynamic changes to animation-delay are honored. r=bzbarsky
This matches the CSS Working Group consensus recorded in
http://lists.w3.org/Archives/Public/www-style/2012Nov/0261.html , though
the spec hasn't yet been updated.
2013-01-10 21:14:51 -08:00
Robert O'Callahan
85884b1a4b Bug 826632. Part 1: Merge nsIViewManager into nsViewManager. r=tnikkel
--HG--
rename : view/public/nsIViewManager.h => view/public/nsViewManager.h
extra : rebase_source : d00947c925b17f860fcdc0e12b1ec3cc31b7c630
2013-01-05 16:12:24 +13:00
Phil Ringnalda
408fbe5931 Back out 5e76dfb1d426 (bug 826635) and 0df74b1a4543:20df426b6111 (bug 826632) for bustage
CLOSED TREE
2013-01-04 21:30:14 -08:00
Robert O'Callahan
b56cdd701e Bug 826632. Part 1: Merge nsIViewManager into nsViewManager. r=tnikkel
--HG--
rename : view/public/nsIViewManager.h => view/public/nsViewManager.h
extra : rebase_source : 85587555e1f202809cd39fe899570644e6ca4eb3
2013-01-05 16:12:24 +13:00
Robert O'Callahan
f9b9491b81 Bug 825866. Part 8: Mass-rename of nsIView to nsView. r=tnikkel
This was autogenerated by basically replacing all occurrences of the word "nsIView" with nsView.

--HG--
rename : view/public/nsIView.h => view/public/nsView.h
2013-01-04 02:23:11 +13:00
Anthony Jones
0a019ca139 Bug 811950 - Remove fixed position environment variable. r=roc 2012-12-23 10:47:16 -05:00