Commit Graph

22876 Commits

Author SHA1 Message Date
Markus Stange
e80f3d9dc1 Bug 1066270 - Add the ability to specify the filter chain in the nsFilterInstance constructor instead of always getting it from the frame. r=roc 2014-09-15 12:12:50 +02:00
Rik Cabanier
199016e453 Bug 1047477 - "Add support for all blend mode to feBlend". r=longsonr r=bz 2014-09-12 16:32:00 +02:00
Jonathan Watt
bbb86f92e5 Bug 1054838 follow-up - Reorder the fuzzy annotations for radial-shape-farthest-corner-1b.html so that the azureQuartz annotation isn't overridden 2014-09-14 11:53:00 +01:00
Jonathan Watt
638a242696 Bug 1054838, part 5 - Mark some tests as now passing and add/change the fuzz on others post-mattwoodrow's Moz2Dification of gfxPattern 2014-09-14 10:59:54 +01:00
Matt Woodrow
e17c6e9c95 Bug 1054838, part 2 - Remove callers of DrawTarget::Mask. r=Bas,jwatt 2014-09-12 08:20:12 +01:00
L. David Baron
be858c5567 Bug 575675 - Remove assertion about aRelevantLinkVisited that isn't needed, and assumes that all link elements are styled with a style sheet that has :visited rules. r=bzbarsky 2014-09-13 06:17:37 -07:00
L. David Baron
9e53a17632 Bug 977991 patch 6 - Use the faster eRestyle_StyleAttribute path for style attribute changes. r=birtles 2014-09-13 06:17:37 -07:00
L. David Baron
3357a00e3a Bug 977991 patch 5 - Add eRestyle_ChangeAnimationPhase to switch between the with-animation and without-animation styles. r=birtles
This is an additional bit on nsRestyleHint that says that the restyling
operation should also perform all the work needed to switch between
style-without-animation and style-with-animation (based on
nsPresContext::IsProcessingAnimationStyleChange).  These concepts will
go away in bug 960465.

Note that we don't want this behavior for the animation-only style
update code (bug 996796, etc.), and I wanted to make this explicit so
that it was clear when it was happening, and so that it was clear what
code should be removed when we git rid of it.

This is the workaround needed to land bug 977991 prior to bug 960465.
(I think there's also a minor dependency in the other direction, so we
need a workaround one way or the other.)

Note that this depends on bug 1057231.
2014-09-13 06:17:37 -07:00
L. David Baron
b13927d25c Bug 977991 patch 4 - Ensure we don't try to use the style attribute optimization on pseudo-elements. r=birtles
This is needed because patch 1 and patch 3 did not add a mechanism that
allows restyling pseudo-elements, which would be substantially more work
and very little use (since the only case in which they have style
attributes is for our internal use on the ::-moz-color-swatch
pseudo-element).

RestyleUndisplayedChildren does not need the same fix because it's only
used on elements, and never on pseudo-elements or anonymous boxes.
2014-09-13 06:17:36 -07:00
L. David Baron
5e262a47d8 Bug 977991 patch 3 - Add ability for RuleNodeWithReplacement to replace the style attribute rule and its important rule. r=birtles
This allows posting a restyle that says that only the rule(s) from the
StyleAttrSheet cascade level will be replaced, which avoids running
selector matching.

Part 4 will ensure that we only invoke this code for element styles (and
not pseudo-element or anonymous box styles).  Despite that, I prefer
having the runtime check here as well given that it's a very simple way
to ensure we don't do something silly that might have security
implications.
2014-09-13 06:17:36 -07:00
L. David Baron
b4d8a65955 Bug 977991 patch 2 - Add mCheckForImportantRules to the information nsStyleSet::RuleNodeWithReplacement keeps about cascade levels. r=birtles
This is needed to support doing replacements of levels that can contain
important rules, which will happen in patch 3.
2014-09-13 06:17:36 -07:00
L. David Baron
133a7fac65 Bug 977991 patch 1 - Expose variant of RulesMatching on nsHTMLCSSStyleSheet that is less work to call. r=birtles
This allows nsStyleSet::RuleNodeWithReplacement to call it without
constructing an entire (and unnecessary) ElementRuleProcessorData, which
will happen in patch 3.
2014-09-13 06:17:36 -07:00
L. David Baron
81bd9c7023 Bug 977991 patch 0 - Add bitwise operators to nsRestyleHint. r=birtles
This avoids having to cast back to nsRestyleHint after using bitwise
operators, and allows |= (etc.).

(In the future we should consider converting nsRestyleHint, and probably
also nsChangeHint, to use MOZ_MAKE_ENUM_CLASS_BITWISE_OPERATORS.)
2014-09-13 06:17:36 -07:00
L. David Baron
e5f6879ca0 Bug 1058346 patch 2 - Add eRestyle_SVGAttrAnimations and support it in nsStyleSet::RuleNodeWithReplacement. r=birtles
This allows posting a restyle that says that only the rule(s) from the
SVGAttrAnimationSheet cascade level will be replaced, which avoids running
selector matching.

This is needed to land bug 977991 prior to landing bug 960465, since
that requires replacing all levels that contain animations.

(I'll rename this to match the name determined in bug 1057231.)
2014-09-13 06:17:35 -07:00
L. David Baron
755d0056e6 Bug 1058346 patch 1 - Expose a simpler variant of RulesMatching from SVGAttrAnimationRuleProcessor. r=birtles
This allows nsStyleSet::RuleNodeWithReplacement to call it without
constructing an entire (and unnecessary) ElementRuleProcessorData, which
will happen in patch 2.
2014-09-13 06:17:35 -07:00
L. David Baron
f5ec865c19 Bug 1057231 patch 4 - Move SVG Attribute Animation rules from the pres hint level to their own cascade level. r=dholbert
This is only a very slight reordering of their position in the cascade,
since they were previously walked at the end of
nsSVGElement::WalkContentStyleRules, which was called near the end of
nsHTMLStyleSheet::RulesMatching.  So the only change should be that they
now take priority over the xml:lang rule added by nsHTMLStyleSheet, a
rule with which they do not interact.
2014-09-13 06:17:35 -07:00
L. David Baron
877da49af1 Bug 1057231 patch 3 - Add new cascade level for rules from SMIL Animation of SVG attributes to the style set. r=dholbert
I will fix the indentation of gCascadeLevels in bug 977991 patch 2,
which adds a member to each element of the array.

Note that this bumps the maximum sheetType from 8 to 9 (and number of
them from 9 to 10), which does not require updating
NS_RULE_NODE_LEVEL_MASK, since NS_RULE_NODE_LEVEL_MASK currently has 4
bits and allows a maximum of 15.
2014-09-13 06:17:35 -07:00
L. David Baron
9842f42ffb Bug 1057231 patch 1 - Add a rule processor class for rules from SMIL Animation of SVG attributes. r=dholbert
This patch series (to move SVG Animation rules to their own level of the
cascade) is needed so that they can participate in the mechanism for
updating only animation styles to the present time without touching any
other styles.

In theory, this should have been done as part of 996796 or even as part
of prior work on off main thread animations, except that it doesn't seem
possible to have SVG Animations and CSS Transitions interacting on the
same element and have that element's style out of date, which means it
wasn't necessary for the existing code to update only animation styles.

However, bug 960465 will use this similar mechanism as the new mechanism
for making sure transitions start in a reasonable way (replacing the
mechanism of phases, going from style without animation to style with
animation via nsPresContext::IsProcessingAnimationStyleChange).  This
will require that, for SVG Animations to continue interacting correctly
with CSS Transitions, that they have their own cascade level so that
they can participate in RestyleManager::UpdateOnlyAnimationStyles.

Additionally, this is needed even sooner, for bug 977991, which needs
(temporarily, until bug 960465 lands) a mechanism for updating the style
attribute style *and* all animation-phase-dependent styles.

Yes, it's a little bit annoying to have to have another class, and
another object per-document for this, but that's currently what comes
with being a level of the cascade.  But it's one class and one object
per document, and I believe there will be substantial benefits to having
all rule processor levels be only-animation-related or
not-animation-related (except for the style attribute level, which is
simple enough that it isn't needed yet).
2014-09-13 06:17:34 -07:00
L. David Baron
fb077873cf Bug 1066911 - Allow eRestyle_Force{,Descendants} in RuleNodeWithReplacement. r=heycam
This is fine since the assertion is just checking that we're not calling
RuleNodeWithReplacement in cases when stronger restyling (i.e.,
restyling that does more work) is needed; the new eRestyle_Force and
eRestyle_ForceDescendants flags control whether we restyle at all.

This probably should have been done in bug 931668 (since bug 996796
landed before bug 931668, although not before the patches were written),
but it doesn't actually show up in our test suite until bug 977991 (or
maybe slightly earlier in bug 1057231 or bug 1058346).
2014-09-13 06:17:34 -07:00
Robert O'Callahan
c08d60faea Bug 1066591. Backout c43865439dd9 (bug 1066211) to fix regression.
--HG--
extra : rebase_source : bd821aade3b17d7eb4cd6acb5f56b46a343eb239
2014-09-13 11:56:16 +12:00
Daniel Holbert
e667af4a7f (no bug) Drop no-longer-correct "bitmap" qualifier from nsImageFrame header-comment. rs=tn
(It's no longer correct because we use nsImageFrame to render e.g. <img src="whatever.svg">, which is not bitmap-flavored at all.)
2014-09-12 13:15:24 -07:00
Daniel Holbert
e386c5a0b1 Bug 1066805: Drop unused parameter from nsImageFrame::EnsureIntrinsicSizeAndRatio(). r=tn 2014-09-12 13:15:23 -07:00
Max Vujovic
c9c2c2f234 Bug 1065606 - Use unclipped primitive subregion to calculate image transform in SVGFEImageElement::GetPrimitiveDescription. r=mstange 2014-09-12 10:44:14 -07:00
Max Vujovic
fa14a7b54a Bug 1058776 - Add a test that invalid CSS filter functions don't change the rendering of the target element. r=mstange 2014-09-12 10:44:13 -07:00
Nick Lebedev
0af4543b24 Bug 1024808 - Part 1: Remove OOM null checks of CounterListFor return result. r=dholbert 2014-09-12 01:25:00 -04:00
Nick Lebedev
2a05814c2f Bug 1024808 - Part 0: Clean up trailing whitespaces. r=dholberty 2014-09-12 01:24:00 -04:00
Botond Ballo
44ca398917 Bug 1065008 - Reftest for compositor culling bug. r=roc
--HG--
extra : rebase_source : 77c5343a91dc05b6d0a4dac99503331f4cfdb3e7
2014-09-11 18:40:19 -04:00
Matt Woodrow
b981b9db8d Bug 1044702 - Use Moz2D source clipping when we can. r=Bas
--HG--
extra : rebase_source : 24eb333909db5278ff1a8babf9b4b907650695fa
2014-09-12 17:18:21 +12:00
Alexandre Lissy
da1c5ff66a Bug 1066044 - Make Mochitest pass on Mulet r=jmaher,ochameau
To get Mochitest green with Mulet, we need to disable a couple more of
tests. We also need to disable the crash on non local connections, as it
is being done for runtestsb2g.
2014-09-11 22:59:00 +02:00
Alessio Placitelli
77aeb04740 Bug 928397 - Enable xpcshell-test debugging on Windows platforms and default debugger detection. r=ted.mielczarek 2014-07-02 13:52:00 +02:00
Ryan VanderMeulen
603c8eca01 Backed out changeset 3afb6445a73c (bug 1066044) for B2G desktop mochitest perma-fail. 2014-09-11 20:38:06 -04:00
Alexandre Lissy
4f5cb20e91 Bug 1066044 - Make Mochitest pass on Mulet. r=jmaher, r=ochameau
To get Mochitest green with Mulet, we need to disable a couple more of
tests. We also need to disable the crash on non local connections, as it
is being done for runtestsb2g.
2014-09-11 07:37:00 -04:00
Cameron McCormack
737d1f11ae Bug 1065257 - Assorted cleanups in nsLayoutStyleSheetCache. r=bzbarsky 2014-09-12 07:41:35 +10:00
Daniel Holbert
0f09db7a97 Bug 1065646: Use GetContentRectRelativeToSelf() instead of GetContentRect() - GetPosition(), in layout code. r=tn 2014-09-11 14:29:59 -07:00
Ehsan Akhgari
728da459d2 Bug 1065667 - Fix more bad implicit ctors in layout; r=roc 2014-09-11 15:41:21 -04:00
Jonathan Watt
4c0a7bbbef Bug 1064084, part 5 - Convert all consumers of gfxContext::NudgeCurrentMatrixToIntegers()/MultiplyAndNudgeToIntegers() to use gfxContext::SetMatrix(). r=Bas 2014-09-11 07:57:39 +01:00
Jonathan Watt
9bc0f0cdf3 Bug 1064084, part 4 - Convert all consumers of gfxContext::IdentityMatrix() to use gfxContext::SetMatrix(). r=Bas 2014-09-11 07:57:39 +01:00
Jonathan Watt
fa8c7ec8a5 Bug 1064084, part 1 - Convert all consumers of gfxContext::Translate() to use gfxContext::SetMatrix()/Multiply(). r=Bas 2014-09-11 07:57:38 +01:00
Jonathan Watt
f794fc62f9 Bug 1064082 - Get rid of nsRenderingContext's PushState and PopState methods. r=Bas 2014-09-11 07:48:10 +01:00
Jonathan Watt
0e8ac8ac8a Bug 1064056, part 2 - Convert nsRenderingContext::Translate() consumers to use gfxContext::SetMatrix()/Multiply(). r=Bas 2014-09-11 07:48:10 +01:00
Jonathan Watt
5d89db4376 Bug 1064056, part 1 - Convert nsRenderingContext::AutoPushTranslation consumers to use gfxContext::SetMatrix()/Multiply(). r=Bas 2014-09-11 07:48:09 +01:00
Makoto Kato
ea5d044e00 Bug 1065261 - SectionCaret might not appears if 2.25dppx or higher. r=mtseng 2014-09-11 15:44:54 +09:00
Ryan VanderMeulen
9d54d5a7be Merge m-c to inbound. a=merge
CLOSED TREE
2014-09-10 18:36:26 -04:00
Ryan VanderMeulen
11ebe83ace Bug 1023323 - Mark 413361-1.html as fuzzy on Android 4.0. a=test-only 2014-09-10 18:03:57 -04:00
Jonathan Watt
b3072839ca Bug 1065031, part 2 - Changes to Moz2D consuming code to update callers of Moz2D Matrix's Translate, Scale and Rotate methods to use these methods' new names. r=Bas 2014-09-10 18:29:35 +01:00
Max Vujovic
c2f3353599 Bug 1058779 - Add a test for CSS Filters + -moz-element. r=mstange 2014-09-10 10:26:50 -07:00
Max Vujovic
44be2b8eeb Bug 1058765 - Add a test for chaining different CSS filter functions together. r=mstange 2014-09-10 10:26:50 -07:00
Max Vujovic
9d970270a4 Bug 1058783 - Add rendering tests for blur radius in ems and rems. r=mstange 2014-09-10 10:26:50 -07:00
Max Vujovic
248f710550 Bug 1058807 - Remove nsIFrame include from nsSVGFilterInstance.h. r=mstange 2014-09-10 10:26:49 -07:00
Markus Stange
d188509174 Bug 1065344 - Remove unnecessary mAppUnitsPerCSSPx field. r=mvujovic 2014-09-10 19:06:10 +02:00