Commit Graph

534 Commits

Author SHA1 Message Date
Robert O'Callahan
7d98b5c133 Bug 1061045. Remove dirtyRect save/restore from Enter/LeavePresShell since they're not needed anymore. r=tn 2014-09-06 16:16:34 +12:00
Robert O'Callahan
293fcf9eac Bug 967844. Part 3: Setup FrameMetrics from FrameLayerBuilder based on animated geometry roots. r=mattwoodrow
--HG--
extra : rebase_source : 19593cafc17053d450905161fa7d4ce8721c58a0
2014-08-31 15:29:24 +12:00
Phil Ringnalda
609fe6b9c4 Backed out 3 changesets (bug 967844) for robopan bustage
Backed out changeset 6b53305f1c42 (bug 967844)
Backed out changeset dff3eb181f33 (bug 967844)
Backed out changeset 4d4b03442eaf (bug 967844)
2014-09-01 15:20:13 -07:00
Robert O'Callahan
2d6bf232ea Bug 967844. Part 3: Setup FrameMetrics from FrameLayerBuilder based on animated geometry roots. r=mattwoodrow
--HG--
extra : rebase_source : d30d2af626038cc556fcd3add9a3876be2c58239
2014-08-31 15:29:24 +12:00
Markus Stange
e651572337 Bug 1021564 - Invalidate filtered frames when they move in certain ways. r=roc 2014-08-30 18:22:31 +02:00
David Zbarsky
848b6c007e Bug 1060165: Remove gfxPoint3D r=nical 2014-08-29 14:47:30 -04:00
Trevor Saunders
86b7aff8fc bug 1047696 - mark a number of classes MOZ_FINAL to get compilers to devirtualize more r=froydnj 2014-08-05 13:33:55 -04:00
Matt Woodrow
4d7eebfb5f Bug 1056427 - Stop PRenderFrame from managing PLayerTransaction since it hasn't worked since the layers refactoring. r=roc
--HG--
extra : rebase_source : 38c86648bb8e59a6b992bd377acb9aacb418c98b
2014-08-22 12:16:44 +12:00
Markus Stange
0113ba6a30 Bug 1055585 - Make nsDisplayClearBackground force drawing into a transparent surface. r=roc 2014-08-20 17:24:39 +02:00
Markus Stange
000d7be674 Bug 1055585 - Add nsDisplayClearBackground. r=roc 2014-08-20 17:16:41 +02:00
Robert O'Callahan
27a3fe0069 Bug 1048752. Part 19: Create nsCaret::GetPaintGeometry to call during painting. r=tn
This is the start of the changes to caret-drawing proper.

The idea is to combine GetCaretFrame and GetCaretRect into a method
GetPaintGeometry which looks like GetGeometry but returns values
needed for painting (i.e. including bidi decorations, and returning
a null frame if we're not supposed to paint due to specific caret
state, e.g. in the "off" phase of the blink cycle).

Mostly a straightforward refactoring but there are a few interesting changes:
-- nsDisplayCaret stores its bounds instead of getting them from nsCaret on
demand. Eventually those bounds will not be stored in nsCaret at all.
-- nsDisplayCaret::GetBounds returns true for aSnap. nsCaret draws snapped
rects, so why not.
-- I removed "if (caretRect.Intersects(aDirtyRect))" in EnterPresShell.
As far as I can tell, this check is incorrect because it doesn't take
transforms into account. Since there's at most one drawn caret per window,
hence we do this at most once per paint, I don't think there's any real
performance advantage to having this check.

--HG--
extra : rebase_source : c98d3a5994478b482d19cc2e2ac83ab51bd17e00
2014-08-06 17:19:28 +12:00
Robert O'Callahan
52ce18f581 Bug 1048752. Part 11: Remove nsLayoutUtils.h from nsDisplayList.h. r=tn
--HG--
extra : rebase_source : 02251076442a5c4251e8d9484cb428a4c07f3a13
2014-08-06 17:19:25 +12:00
Robert O'Callahan
912c1e35de Bug 1048752. Part 10: Remove FrameLayerBuilder.h from nsDisplayList.h. r=tn
I was inspired by the previous patch to remove FrameLayerBuilder.h from
nsDisplayList.h too.

--HG--
extra : rebase_source : b34a01bea5865da4737817e2396b98d54cc6d1bf
2014-08-06 17:19:25 +12:00
Robert O'Callahan
7ea822125b Bug 1048752. Part 9: Remove nsCaret.h from nsDisplayList.h. r=tn
I got tired of slow build turnarounds every time I modified nsCaret.h.

--HG--
extra : rebase_source : 0c4598c4881ab8de0a636b08c70fb801bb912247
2014-08-06 17:19:25 +12:00
Timothy Nikkel
7b846aeaf5 Bug 1051097. Set the initial visible rect correctly on the wrap list item stored inside transform display items. r=roc 2014-08-10 21:59:02 -05:00
Timothy Nikkel
017cd225f7 Bug 1042772. Update the reference frame and current frame offset when moving to outside a transform so that we can use the correct offset to compute the initial visible rect for wrap list display items. r=roc
* * *
The current reference frame is still the same as our reference frame because we set and restore it in nsFrame::BuildDisplayListForChild before this. So we need to actually compute it.
2014-08-07 11:33:18 -05:00
Ehsan Akhgari
5a033b2b9f Bug 1048246 - Fix more bad implicit constructors in layout; r=roc
--HG--
extra : rebase_source : ed828993139bc70232508364a9f046e38b7d3e06
2014-08-07 19:48:38 -04:00
Matt Woodrow
f0f0bad187 Bug 1045864 - Disable layerized background-attachment:fixed when we're using a software compositor. r=roc 2014-08-05 15:25:00 +12:00
David Zbarsky
8a0c067fff Bug 952977: More gfx::Matrix cleanup in nsDisplayTransform r=nical 2014-08-01 08:31:48 -04:00
Robert O'Callahan
cf0d7f099b Bug 1042104. Part 1: Cache prerender flag in nsDisplayTransform. r=tn
--HG--
extra : rebase_source : 79f39bb1b0d29cc28b4d492fbf6a497f99ec9dac
2014-07-30 00:09:35 +12:00
Wes Kocher
02d44fddfa Backed out 11 changesets (bug 952977) for reftest-no-accel failures
Backed out changeset ea2367c19da3 (bug 952977)
Backed out changeset c401c8748eb3 (bug 952977)
Backed out changeset a93e9ff1043b (bug 952977)
Backed out changeset 765b7f67163e (bug 952977)
Backed out changeset 3d8cf4f5777f (bug 952977)
Backed out changeset 8993710a3ab3 (bug 952977)
Backed out changeset 1298c39b745a (bug 952977)
Backed out changeset be0b899fbe5e (bug 952977)
Backed out changeset f69bea1f1feb (bug 952977)
Backed out changeset 1a745777f07e (bug 952977)
Backed out changeset 5ad1d18dfe17 (bug 952977)
2014-07-29 18:58:46 -07:00
David Zbarsky
0d716be940 Bug 952977: More gfx::Matrix cleanup in nsDisplayTransform r=nical 2014-07-29 19:18:50 -04:00
Matt Woodrow
d65e9f3d16 Bug 1039020 - Layerize background-attachment:fixed for all elements, not just the root one. r=roc 2014-07-25 20:37:50 +12:00
Timothy Nikkel
28dadb434b Bug 1041510. Allow z-index overrides of 0 to work correctly on display items. r=roc 2014-07-23 18:07:18 -05:00
Robert O'Callahan
39c4925bf8 Bug 1041200. Ensure nsDisplayZoom and friends compute mVisibleRect relative to their reference frame. r=mattwoodrow 2014-07-22 17:50:11 +12:00
Robert O'Callahan
ec70131e2a Bug 1003425. When opacity is delegated to an nsDisplayBoxShadowOuter via nsDisplayItem::ApplyOpacity, store the opacity in our geometry so we can invalidate if it changes. r=mattwoodrow
--HG--
extra : rebase_source : f4b44bad8537029b0e03d912b927686aa352d681
2014-07-22 01:59:10 +12:00
Robert O'Callahan
d547cd8212 Bug 1022612. Part 43: Fix up SuppressComponentAlpha to allow component alpha in inactive layers over opaque parts of the chrome window. r=mattwoodrow
--HG--
extra : rebase_source : d6489832ba0a14c38647e25bfe632d2efc698f80
2014-07-15 16:23:37 +12:00
Robert O'Callahan
4465fecb8a Bug 1022612. Part 42: Add opaque regions of ThebesLayer content to the "exclude glass" region. r=mattwoodrow
--HG--
extra : rebase_source : 715df6c86b139aec7ad607e56c89dbfad3475380
2014-07-14 12:46:13 +12:00
Robert O'Callahan
f4ce6dcae2 Bug 1022612. Part 37: Remove aAllowVisibleRegionExpansion. r=mattwoodrow
This is no longer needed thanks to the readback simplification.

--HG--
extra : rebase_source : 659147670395fefe41647daab8af93f6c439a99c
2014-06-23 16:24:51 +12:00
Robert O'Callahan
6de4722ba0 Bug 1022612. Part 33: Remove InFixedPos code. r=mattwoodrow
This hasn't been used for a while I guess.

--HG--
extra : rebase_source : d59328f96a11cc65e141c75475c09edac5d42af2
2014-06-23 16:24:14 +12:00
Robert O'Callahan
67f8153270 Bug 1022612. Part 32: Remove nsDisplayItem::SetVisibleRegionOnLayer. r=mattwoodrow
It is no longer called because FrameLayerBuilder always sets the visible
regions on layers now.

--HG--
extra : rebase_source : b6c375fbbaeb79e7332cb55bdda9943bc1ee7f3c
2014-06-23 16:24:14 +12:00
Robert O'Callahan
a63c12c4da Bug 1022612. Part 30: Expose IsConstructingScrollLayerForScrolledFrame and IsDisplayPortOpaque on nsDisplayScrollLayer. r=mattwoodrow
--HG--
extra : rebase_source : 87d76ad3e9d560f34dad56c25cb96516871e280a
2014-06-23 16:23:58 +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
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
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
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
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
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
Ryan VanderMeulen
c9aaac00ed Backed out 46 changesets (bug 1022612) for B2G mochitest permafails on a CLOSED TREE.
Backed out changeset 34b3014a3112 (bug 1022612)
Backed out changeset 6ae9316fd909 (bug 1022612)
Backed out changeset b8f3749c95eb (bug 1022612)
Backed out changeset caab10bf6ca3 (bug 1022612)
Backed out changeset 0c57c620c898 (bug 1022612)
Backed out changeset fac64141a00a (bug 1022612)
Backed out changeset bf0df1c9d68b (bug 1022612)
Backed out changeset b42054800020 (bug 1022612)
Backed out changeset 667793b21194 (bug 1022612)
Backed out changeset f14ada64fe1b (bug 1022612)
Backed out changeset 75b837686bdf (bug 1022612)
Backed out changeset 66de53183a22 (bug 1022612)
Backed out changeset 0ff86ced4d46 (bug 1022612)
Backed out changeset 18eecc5b1ef7 (bug 1022612)
Backed out changeset 2763c4878de5 (bug 1022612)
Backed out changeset b72413ecc385 (bug 1022612)
Backed out changeset b23f1081afb8 (bug 1022612)
Backed out changeset f7e2c6a72043 (bug 1022612)
Backed out changeset 959917c9027d (bug 1022612)
Backed out changeset 0268a46f4880 (bug 1022612)
Backed out changeset 3388856a80ad (bug 1022612)
Backed out changeset e4b17cf0f806 (bug 1022612)
Backed out changeset 2f4e9da0e4b6 (bug 1022612)
Backed out changeset 489f6a7c0c03 (bug 1022612)
Backed out changeset 8369d9ad7ad3 (bug 1022612)
Backed out changeset 0758d2a06002 (bug 1022612)
Backed out changeset f2ae9cb22edb (bug 1022612)
Backed out changeset 9c48c6ee5dc2 (bug 1022612)
Backed out changeset fe7134400f08 (bug 1022612)
Backed out changeset cc2c5397ca8b (bug 1022612)
Backed out changeset a3d1a3e8b39d (bug 1022612)
Backed out changeset 8974b74b0eb0 (bug 1022612)
Backed out changeset 75f7dbb5a2a6 (bug 1022612)
Backed out changeset 2aa04a071e60 (bug 1022612)
Backed out changeset f2ab1bcd4c39 (bug 1022612)
Backed out changeset da9152b6ea29 (bug 1022612)
Backed out changeset 58abf5b0e148 (bug 1022612)
Backed out changeset 797058a09ad2 (bug 1022612)
Backed out changeset ea3e99a92ff0 (bug 1022612)
Backed out changeset adc4a4a7aa73 (bug 1022612)
Backed out changeset 7b18dedd1505 (bug 1022612)
Backed out changeset 055dd1921e8e (bug 1022612)
Backed out changeset 42fa2c97e989 (bug 1022612)
Backed out changeset cd594236388f (bug 1022612)
Backed out changeset 9eadc5fee43d (bug 1022612)
Backed out changeset 5cc8d30ff7c9 (bug 1022612)
2014-07-17 11:24:47 -04:00