Commit Graph

21979 Commits

Author SHA1 Message Date
Robert O'Callahan
8d413799e5 Bug 1022612. Part 24: Simplify nsDisplayList::ComputeVisibilityForSublist now that FrameLayerBuilder does most of the work. r=mattwoodrow
--HG--
extra : rebase_source : be5f97d69f41cf00eaf02d0292d4630a8721952d
2014-06-09 16:48:02 +12:00
Robert O'Callahan
94918e780b Bug 1022612. Part 23: Remove nsDisplayItem::IsVaryingRelativeToMovingFrame. r=mattwoodrow
It's obsolete and no-one calls it.

--HG--
extra : rebase_source : 588144666e7abac06c19bfa5d1d3f41589bdd988
2014-06-09 16:48:02 +12:00
Robert O'Callahan
179df7a4f7 Bug 1022612. Part 22: Add MOZ_COUNT_CTOR to nsDisplayWrapList. r=mattwoodrow
--HG--
extra : rebase_source : fd4ab8981669d3bf9e2c75d03e88590abb0c7ca1
2014-06-09 16:48:01 +12:00
Robert O'Callahan
ef40de3fc2 Bug 1022612. Part 21: Remove DidComputeVisibility checking. r=mattwoodrow
--HG--
extra : rebase_source : e0e13e5e6cc87fbc0d4f62e14465a813aa176094
2014-06-09 16:48:01 +12:00
Robert O'Callahan
a7f418ac28 Bug 1022612. Part 20: Do the business. r=mattwoodrow
--HG--
extra : rebase_source : 48f0e2563f91351cac5ce1d3ed5e52364f24ccba
2014-06-09 16:48:01 +12:00
Robert O'Callahan
06299265bb 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 : 7748dde5aa0d51573acec9eb163f864beabefb3b
2014-07-07 17:46:29 +12:00
Robert O'Callahan
92755e79ad Bug 1022612. Part 18: When ComputeVisibility returns false, RecomputeVisibility should avoid painting the item. r=mattwoodrow
--HG--
extra : rebase_source : 31e8a9ff9419b4aca2743d41db74b5271aae32bf
2014-06-20 17:24:31 +12:00
Robert O'Callahan
89c9a53c1e 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 : 45ed3e76905a37d1099af8dd907fa86061b5a867
2014-06-11 23:12:14 +12:00
Robert O'Callahan
cdd7b62b7c 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 : ecdfdbd02fdf8df23a71514ada32a8d20926913f
2014-06-09 16:48:01 +12:00
Robert O'Callahan
46fc7f9136 Bug 1022612. Part 15.5: Use GetVisibleRectForChildren instead of GetVisibleRect. r=mattwoodrow
--HG--
extra : rebase_source : 67cd76ce64beff29af0a90db76e752585922ddab
2014-07-15 23:49:38 +12:00
Robert O'Callahan
9e398baf3b Bug 1022612. Part 15: Add nsDisplayItem::GetVisibleRectForChildren(). r=mattwoodrow
--HG--
extra : rebase_source : 79f4ee133e464d10c82efc78e42ea6dbcb2571c1
2014-07-15 23:47:46 +12:00
Robert O'Callahan
7947f386fd 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 : 8ac6abb8f6b3ab078883935688ae1f5059b797c7
2014-06-09 16:48:00 +12:00
Robert O'Callahan
2abf8f847b Bug 1022612. Part 13: Set mDidComputeVisibility in ProcessDisplayItems. r=mattwoodrow
--HG--
extra : rebase_source : 456aaeba5a9bb3e8d34e0d900dd693f337cf2b12
2014-07-07 17:46:28 +12:00
Robert O'Callahan
05127c94f7 Bug 1022612. Part 12: Propagate NeedsTransparentSurface in ProcessDisplayItems. r=mattwoodrow
--HG--
extra : rebase_source : b7302f3457837f8308925ab67705e6279a80caf3
2014-06-09 16:48:00 +12:00
Robert O'Callahan
a213f11bc0 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 : 26e5e44fa90000089f1dc64c1cb073d5b1806765
2014-06-09 16:48:00 +12:00
Robert O'Callahan
6092c9bf6a 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 : c242006445d90372f6c7941d909f30945422321b
2014-06-09 16:48:00 +12:00
Robert O'Callahan
940f6c6de3 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 : 52cf25ce39a6ab38f89e0231ea044fdf3cac0a2d
2014-06-09 16:47:59 +12:00
Robert O'Callahan
3909a08cf6 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 : 62594931ff461dc1ae2c744531252d2b3c696ca0
2014-06-09 16:47:59 +12:00
Robert O'Callahan
f3d5561e9f 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 : 4d02f7c14c548a614cb0fd3764cab2d3060989f3
2014-06-09 16:47:59 +12:00
Robert O'Callahan
caf3b0f63b 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 : 29c7b2a43f4cb67b4c778851b18dba3e3e2ebd3d
2014-06-09 16:47:58 +12:00
Robert O'Callahan
9f0ddcc23a 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 : d846866a6128bb96903e45e6bd08ef67033bf701
2014-05-20 15:59:14 +12:00
Robert O'Callahan
7f4ae2181d 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 : c345a38551ccc2ba40ca4559e599845b5d83f952
2014-05-20 15:49:54 +12:00
Robert O'Callahan
3fbc303c7a Bug 1022612. Part 2: Remove unused nsDisplayWrapList constructor. r=mattwoodrow
--HG--
extra : rebase_source : 5a93b63b19a502f2030331cb77aea8708bb11238
2014-05-20 15:08:20 +12:00
Robert O'Callahan
315473f995 Bug 1022612. Part 1: Always pass a frame to AutoBuildingDisplayList. r=mattwoodrow
--HG--
extra : rebase_source : c4b566cc8244b4286b49e3c1c6345b03b22b36b1
2014-05-20 15:08:18 +12:00
Carsten "Tomcat" Book
dc01687415 Backed out changeset b208f5144753 (bug 948265) for windows 7 debug Refest Crashes on a CLOSED TREE 2014-07-17 14:26:18 +02:00
Carsten "Tomcat" Book
c45209b087 Backed out changeset 8ab800159525 (bug 948265) 2014-07-17 14:25:52 +02:00
Carsten "Tomcat" Book
5346917654 Backed out changeset a5d4d7450d02 (bug 948265) 2014-07-17 14:25:48 +02:00
Olli Pettay
4a433a02f6 backout Bug 378775 because of several regressions, r=backout 2014-07-17 13:27:27 +03:00
Max Vujovic
df83e29cef Bug 948265 - Remove kPrimitiveIndexSourceAlpha since nsSVGFilterInstance creates ToAlpha filter nodes now. r=mstange 2014-07-15 11:50:00 +02:00
Max Vujovic
5183b27846 Bug 948265 - Add public domain copyright notice to SVG filter chain tests. r=longsonr 2014-07-15 11:41:00 +02:00
Max Vujovic
09f849de4b Bug 948265 - Support SourceAlpha keyword in SVG filter chains. r=mstange 2014-07-15 11:37:00 +02:00
CJKu
e59fc034c4 Bug 988759 - Reftest fails - reftests/dom/multipleinsertionpoints-ref2.xhtml. r=ahal 2014-07-16 00:18:00 +02:00
CJKu
09361220e4 Bug 988763 - Reftest fails - layout/reftests/image-element/referenced-from-binding-01.html. r=ahal 2014-07-16 02:42:00 +02:00
Chris Lord
d54493310a Bug 1038781 - Don't reflow/repaint frame when clip changes. r=roc
If an element's existing clip changes, just update overflow areas and let
DLBI handle invalidation.
2014-07-16 13:28:50 +02:00
Rik Cabanier
8a41c6a2c7 Bug 1038521 - background-blend-mode should not blend with white backdrop of the root element. r=roc 2014-07-16 21:04:00 +02:00
L. David Baron
c331cb3b96 Bug 1031635 - Add --debugger-args option to reftest mach commands. r=gps
This allows useful argument combinations such as:
  --debugger valgrind
  --debugger-args "--tool=memcheck --leak-check=no --trace-children=yes --num-callers=50"
2014-07-16 20:10:10 -07:00
Kartikaya Gupta
3bade8183d Bug 1038930 - Ensure that the first touchmove event after a touchstart is always dispatched to content. r=smaug 2014-07-16 22:07:28 -04:00
Edwin Flores
7400047efb Bug 1038467 - Rename MediaPlugin* classes r=cpearce 2014-07-17 13:32:56 +12:00
Brian Birtles
07325fcbbf Bug 1037314 - Include animation-play-state in animation shorthand; r=dbaron
This patch is basically a reversal of attachment 530792 from bug 654890.
2014-07-17 10:04:56 +09:00
Birunthan Mohanathas
3535643a78 Bug 1038535 - Flatten caps/{idl,include,src}/ directories. r=bholley,gps
--HG--
rename : caps/src/DomainPolicy.cpp => caps/DomainPolicy.cpp
rename : caps/include/DomainPolicy.h => caps/DomainPolicy.h
rename : caps/idl/nsIDomainPolicy.idl => caps/nsIDomainPolicy.idl
rename : caps/idl/nsIPrincipal.idl => caps/nsIPrincipal.idl
rename : caps/idl/nsIScriptSecurityManager.idl => caps/nsIScriptSecurityManager.idl
rename : caps/src/nsJSPrincipals.cpp => caps/nsJSPrincipals.cpp
rename : caps/include/nsJSPrincipals.h => caps/nsJSPrincipals.h
rename : caps/src/nsNullPrincipal.cpp => caps/nsNullPrincipal.cpp
rename : caps/include/nsNullPrincipal.h => caps/nsNullPrincipal.h
rename : caps/src/nsNullPrincipalURI.cpp => caps/nsNullPrincipalURI.cpp
rename : caps/src/nsNullPrincipalURI.h => caps/nsNullPrincipalURI.h
rename : caps/src/nsPrincipal.cpp => caps/nsPrincipal.cpp
rename : caps/include/nsPrincipal.h => caps/nsPrincipal.h
rename : caps/src/nsScriptSecurityManager.cpp => caps/nsScriptSecurityManager.cpp
rename : caps/include/nsScriptSecurityManager.h => caps/nsScriptSecurityManager.h
rename : caps/src/nsSystemPrincipal.cpp => caps/nsSystemPrincipal.cpp
rename : caps/include/nsSystemPrincipal.h => caps/nsSystemPrincipal.h
2014-07-15 11:12:59 -07:00
Mats Palmgren
32aa84d6f8 Bug 767593 - Don't call SetUndisplayedContent() when aState.mCreatingExtraFrames is true because we should have already done that. r=bz 2014-07-16 14:10:48 +00:00
Mats Palmgren
60fa7e303c Bug 1028462 - Increase the number of fuzz pixels for B2G slightly. r=me 2014-07-15 08:10:00 +02:00
L. David Baron
47535266ed Bug 1038488 patch 3 - Use AllocateByObjectID/FreeByObjectID for style structs. r=heycam 2014-07-15 22:27:13 -07:00
L. David Baron
84da8eeaa5 Bug 1038488 patch 2 - Remove memset from the operator new of the 4 style structs that have it. r=heycam
This also moves those 4 operator new methods to be inline to match the
style of all of the others.

I audited that all the members of these structs are initialized by all
their constructors (see patch 1).
2014-07-15 22:27:12 -07:00
L. David Baron
8be7bc4467 Bug 1038488 patch 1 - Explicitly initialize nsStyleMargin::mCachedMargin and nsStylePadding::mCachedPadding so that it is clear all members of nsStyleFont, nsStyleMargin, nsStylePadding, and nsStyleBorder are explicitly initialized. r=heycam
While nsMargin does 0-initialize, it's not necessarily obvious that it
does, and I think it's worth making explicit.
2014-07-15 22:27:12 -07:00
L. David Baron
ecd4ba7a2e Bug 1030604 - Use nsChangeHint_UpdateOverflow for clip-path and mask changes so we update the PreEffectsBBoxProperty and run the effect on the correct area. r=roc
The testcase is a slight simplification of dholbert's testcase 2
(attachment 8456312) in the bug.  It fails in the reftest harness
without the patch, and passes in the reftest harness with the patch.
2014-07-15 22:27:12 -07:00
Cameron McCormack
7b2ef56dd0 Bug 1039151 - Replace space-wasting use of DebugOnly<> in CSSVariableResolver with #ifdef DEBUG. r=dbaron 2014-07-16 15:24:04 +10:00
Masayuki Nakano
93d7daf9c6 Bug 1038089 IMEStateManager should log its behavior r=smaug 2014-07-16 14:13:28 +09:00
Brian Birtles
885d6252c1 Bug 1036300 - Expose AnimationPlayer.timeline; r=bz 2014-07-16 09:02:33 +09:00
Brian Birtles
8c171ff8b2 Bug 1036287 part 6 - Add a GetComputedTiming shortcut that uses the current animation timeline time; r=dholbert
This patch introduces a method GetComputedTiming that calls GetComputedTimingAt
supplying the current time of the animation's timeline.

We still keep the GetComputedTimingAt static method since it is used for
off-main thread animation. Furthermore, we keep the second argument to
GetComputedTiming--the animation's timing properties--since on some occasions we
want to override those properties (ElementPropertyTransition::ValuePortionFor
does this). We could also add another overload that also supplies the
animation's timing properties but that can happen as a separate step.
2014-07-16 09:02:33 +09:00