Commit Graph

22074 Commits

Author SHA1 Message Date
Robert O'Callahan
8d1480e197 Bug 1022612. Part 28: Make nsLayoutUtils::GetScrollableFrameFor return null for non-scrolled-frames. r=mattwoodrow
--HG--
extra : rebase_source : 8d2165d5cf10c7997925cd17b23a39c593127018
2014-07-09 10:12:41 +12:00
Robert O'Callahan
6b9e0b532c Bug 1022612. Part 27: Make FrameLayerBuilder responsible for setting all layer visible regions. r=mattwoodrow
Calling Layer::SetVisibleRegion multiple times in a transaction can result in
unnecessary IPC traffic.

This patch removes Intersect(childGfxBounds). This is only needed to
restrict the visible region to something sane for 3D transforms, and this will
be fixed up in a later patch.

--HG--
extra : rebase_source : 4518bc060fa2c28dacdb7d3aaeca55a148dfe762
2014-06-18 15:12:55 +12:00
Robert O'Callahan
b3bb433621 Bug 1022612. Part 26: nsDisplayList::mVisibleRect is no longer used. r=mattwoodrow
--HG--
extra : rebase_source : 7043ed9341a44cbb35f7ac5d836fe9b11a0f3911
2014-06-12 00:09:13 +12:00
Robert O'Callahan
493db0119c Bug 1022612. Part 25: We don't need to explicitly worry about displayports anymore when computing occlusion. r=mattwoodrow
--HG--
extra : rebase_source : 45b7a56291309e79327d240e81b1de4c499695dc
2014-06-09 16:48:02 +12:00
Robert O'Callahan
ec0885c350 Bug 1022612. Part 24: Simplify nsDisplayList::ComputeVisibilityForSublist now that FrameLayerBuilder does most of the work. r=mattwoodrow
--HG--
extra : rebase_source : 0db68211898c111a465dc641bed8e3b2923f0e4e
2014-06-09 16:48:02 +12:00
Robert O'Callahan
475b7123d2 Bug 1022612. Part 23: Remove nsDisplayItem::IsVaryingRelativeToMovingFrame. r=mattwoodrow
It's obsolete and no-one calls it.

--HG--
extra : rebase_source : f07121d1e5766d7b2a0ecdc2d10bc3ccf587a14b
2014-06-09 16:48:02 +12:00
Robert O'Callahan
a00dd5c951 Bug 1022612. Part 22: Add MOZ_COUNT_CTOR to nsDisplayWrapList. r=mattwoodrow
--HG--
extra : rebase_source : 09252e01de90bd3e5c0cb77de80ee88e24b85f05
2014-06-09 16:48:01 +12:00
Robert O'Callahan
351de1bb8a Bug 1022612. Part 21: Remove DidComputeVisibility checking. r=mattwoodrow
--HG--
extra : rebase_source : 31b54ea4998ddc6fa62369f9f943b4c751101cad
2014-06-09 16:48:01 +12:00
Robert O'Callahan
f81914f6f1 Bug 1022612. Part 20: Do the business. r=mattwoodrow
--HG--
extra : rebase_source : c13789e08893c3ac7745aa32c9002b6edb6e2192
2014-06-09 16:48:01 +12:00
Robert O'Callahan
7613808589 Bug 1022612. Part 19: Test that merged display item lists merge their contents in the correct z-order. r=mattwoodrow
Prior to this patch, the only tests that caught this were a couple of obscure
cases on B2G. This test tests it on all platforms.

--HG--
extra : rebase_source : b4bb464bab59dd1d8c5e6b8aa4402d040105b27d
2014-07-07 17:46:29 +12:00
Robert O'Callahan
25214d5105 Bug 1022612. Part 18: When ComputeVisibility returns false, RecomputeVisibility should avoid painting the item. r=mattwoodrow
--HG--
extra : rebase_source : 5f4fcb05204262bf6fea0c9df00137ab7e26bb00
2014-06-20 17:24:31 +12:00
Robert O'Callahan
a73c3dc1af Bug 1022612. Part 17: RecordFrameMetrics should not set layer visible regions. r=mattwoodrow
This is unnecessary. FrameLayerBuilder sets the correct region.

--HG--
extra : rebase_source : 4fdef8f272870667a73575685e04644dca9473f3
2014-06-11 23:12:14 +12:00
Robert O'Callahan
27f99eb18f Bug 1022612. Part 16: No need to exclude final transparent region from window opaque region. r=mattwoodrow
The removed code should be a no-op as long as the window opaque region is
accurate enough.

--HG--
extra : rebase_source : 7486f406da1f01ca13bb903c2a171e68da8aa6ab
2014-06-09 16:48:01 +12:00
Robert O'Callahan
bd0de1aa6f Bug 1022612. Part 15.5: Use GetVisibleRectForChildren instead of GetVisibleRect. r=mattwoodrow
--HG--
extra : rebase_source : 4d90594855dbd4d8ff39d05c19703187004d9544
2014-07-15 23:49:38 +12:00
Robert O'Callahan
0475b87298 Bug 1022612. Part 15: Add nsDisplayItem::GetVisibleRectForChildren(). r=mattwoodrow
--HG--
extra : rebase_source : cf958f41493ab25762f0c3bcc0361b0810e88549
2014-07-15 23:47:46 +12:00
Robert O'Callahan
a57376f075 Bug 1022612. Part 14: Don't compute a final transparent region anymore. r=mattwoodrow
Computing this via FrameLayerBuilder is some work and we don't really have to.

SuppressComponentAlpha will be true in more cases. This will be OK as long as
text in the chrome window is over opaque content in the same ThebesLayer. We
will miss some edge cases such as text in 'opacity' with no opaque background.
This should be OK.

--HG--
extra : rebase_source : fa23d4980710a3961f23cedf3ebdf01b49d63518
2014-06-09 16:48:00 +12:00
Robert O'Callahan
e48b362dfb Bug 1022612. Part 13: Set mDidComputeVisibility in ProcessDisplayItems. r=mattwoodrow
--HG--
extra : rebase_source : c17d6f4c83b9a47c8d3158203ebe0cbff8d2d313
2014-07-07 17:46:28 +12:00
Robert O'Callahan
451711afa8 Bug 1022612. Part 12: Propagate NeedsTransparentSurface in ProcessDisplayItems. r=mattwoodrow
--HG--
extra : rebase_source : e740f6a911e665473feca002711853351ca3e078
2014-06-09 16:48:00 +12:00
Robert O'Callahan
079152a41e Bug 1022612. Part 11: Set opaque flag on nsDisplayList if we find an opaque item that covers the whole list. r=mattwoodrow
This is less general than what nsDisplayItem::ComputeVisibility does. This means
if multiple opaque items together cover the list bounds, but not individually,
we won't mark the list as opaque. I think that should be OK.

--HG--
extra : rebase_source : 947fe7bfe8729703ebd46288dfa29f0935fadf87
2014-06-09 16:48:00 +12:00
Robert O'Callahan
256be2e5b1 Bug 1022612. Part 10: Implement merging and flattening in ProcessDisplayItems. r=mattwoodrow
BuildContainerLayerFor now has to be able to mutate the passed-in display item
list.

--HG--
extra : rebase_source : a3cf9106703d4946a49a73ef60a605f72b2afee3
2014-06-09 16:48:00 +12:00
Robert O'Callahan
56a4bfbf7f Bug 1022612. Part 9: nsDisplayScrollInfoLayer destructor does not need to destroy ScrollLayerCount. r=mattwoodrow
Getting the timing of this right without processing display items in reverse
order is hard. But it doesn't matter if this property sticks around anyway.

--HG--
extra : rebase_source : a5a68cc0184209506b5c842bf3c5b90648aae159
2014-06-09 16:47:59 +12:00
Robert O'Callahan
d8e5658d39 Bug 1022612. Part 8: nsDisplayWrapList (but not subclasses) should return true for ShouldFlattenAway. r=mattwoodrow
Also the assertion in TryMerge is going away because we're going to do TryMerge
first in FrameLayerBuilder.

--HG--
extra : rebase_source : de8a1a620279182bf5e33165aa9bbe9a74c08a73
2014-06-09 16:47:59 +12:00
Robert O'Callahan
857cab34cd Bug 1022612. Part 6: Set the initial mVisibleRect for each display item to the dirty rect when we create the item. r=mattwoodrow
--HG--
extra : rebase_source : b3207861e7476e954a8869a8b2d74e642ea6e56b
2014-06-09 16:47:59 +12:00
Robert O'Callahan
dce04b2374 Bug 1022612. Part 5: BuildDisplayListForExtraPage needs to pass the correct dirty rect in. r=mattwoodrow
When printing, every page has the same origin. So doing this change naively
would result in the first page having all the display items for every page
added to it, and all but the first page's display items being pruned
away by PruneDisplayListForExtraPage. This would making printing long documents
very slow. We avoid that problem with the new check for
NS_FRAME_FORCE_DISPLAY_LIST_DESCEND_INTO, so the only pages other than the
current page we descend into are the ones with placeholders for abs-pos content
on the current page.

--HG--
extra : rebase_source : b9b8c53d5ad5e4eb2d3c5e1f407d605558b3b9d0
2014-06-09 16:47:58 +12:00
Robert O'Callahan
15e5b5a1b6 Bug 1022612. Part 4: Track current dirty rect in nsDisplayListBuilder. r=mattwoodrow
We need this to set the initial visible rect during display list construction.
Eventually we'll also be able to get rid of the dirty rect parameter to
nsIFrame::BuildDisplayList.

--HG--
extra : rebase_source : b793c7d51917b85ea2a5f39993bc1fec24b49d04
2014-05-20 15:59:14 +12:00
Robert O'Callahan
87421c8fa6 Bug 1022612. Part 3: Rename "cached frame" to "current frame" in nsDisplayListBuilder and take advantage of the fact it's always set. r=mattwoodrow
--HG--
extra : rebase_source : cde43a3f358fbb0991ed84d10fc4e1a0de255e9c
2014-05-20 15:49:54 +12:00
Robert O'Callahan
fb4994904a Bug 1022612. Part 2: Remove unused nsDisplayWrapList constructor. r=mattwoodrow
--HG--
extra : rebase_source : 724f95df1dec4a8c7e1a136e029b06e56eb7202f
2014-05-20 15:08:20 +12:00
Robert O'Callahan
34392b6b13 Bug 1022612. Part 1: Always pass a frame to AutoBuildingDisplayList. r=mattwoodrow
--HG--
extra : rebase_source : 7ae8b6e75e0ceeda8afd214e9792a915a21928e3
2014-05-20 15:08:18 +12:00
L. David Baron
fe52357edf Bug 1040386: Fix hopefully-harmless CSS syntax error in isOMTAWorking(). r=birtles
I noticed this in the logs of a B2G emulator mochitest run.
2014-07-18 21:22:20 -07:00
L. David Baron
e2cf09f168 Bug 1041060: Use AllocateByObjectID/FreeByObjectID for nsInheritedStyleData and nsResetStyleData. r=heycam
This is similar to bug 1038488, which did the same for style structs.
This means the entire path from frame to style struct should be
allocated using frame IDs or object IDs.
2014-07-18 21:22:20 -07:00
Wes Kocher
dfeed1d453 Merge fx-team to m-c a=merge 2014-07-18 18:31:46 -07:00
Michael Ratcliffe
4969ae2773 Bug 1035106 - Add new APIs to DOMUtils: colorToRGBA, isValidCSSColor & cssPropertyIsValid r=bz 2014-07-17 15:08:07 +01:00
Mats Palmgren
bd069e5406 Bug 1028462 - Increase the fuzzyness to 3 on B2G. r=me 2014-07-18 17:01:55 +00:00
Abhishek Arya
27016885bd Bug 812893 - crashtest. 2014-07-18 17:01:55 +00:00
Jesse Ruderman
d38b8dc96c Bug 812879 - Crash tests. 2014-07-18 17:01:55 +00:00
Jesse Ruderman
d1dc2c1031 Bug 812665 - crashtest. 2014-07-18 17:01:54 +00:00
Abhishek Arya
2590fc9b5c Bug 785555 - crashtest. 2014-07-18 17:01:54 +00:00
Douglas Crosher
6cb3b8a583 Bug 783228 - crashtest. 2014-07-18 17:01:54 +00:00
Neil Deakin
7b7c599f57 Bug 1027057, fix closing animation comment 2014-07-18 12:58:26 -04:00
Abhishek Arya
d1acdbd737 Bug 824862 - crashtest. 2014-07-18 10:47:08 +00:00
Atte Kettunen
2157314cd5 Bug 840480 - crashtest. 2014-07-18 10:47:08 +00:00
w3bd3vil@gmail.com
674fd31fdb Bug 842166 - crashtest. 2014-07-18 10:47:08 +00:00
Abhishek Arya
15b252d63a Bug 850931 - crashtest. 2014-07-18 10:47:08 +00:00
miaubiz@gmail.com
38142795b3 Bug 876092 - crashtest. 2014-07-18 10:47:08 +00:00
Jesse Ruderman
9cf941a546 Bug 919434 - crashtest. 2014-07-18 10:47:07 +00:00
Jesse Ruderman
cc8f0a883c Bug 931450 - crashtest. 2014-07-18 10:47:07 +00:00
Aki Helin
aca71ad0e8 Bug 1015844 - crashtest. 2014-07-18 10:47:07 +00:00
Matt Woodrow
3a3d8a6318 Bug 1039145 - Part 1: Clean up AreComponentAlphaLayersEnabled. r=roc 2014-07-18 18:48:23 +12:00
Matt Woodrow
5bdb7149cd Bug 1023677 - Don't flatten active transform layers. r=roc 2014-07-18 18:48:23 +12:00
Matt Woodrow
3c9f515973 Bug 1023677 - Don't set mSupportComponentAlphaChildren unless we actually have them. r=roc 2014-07-18 18:48:23 +12:00