Граф коммитов

8318 Коммитов

Автор SHA1 Сообщение Дата
Hiroyuki Ikezoe 3f7c6431b4 Bug 1216030 - Part 3: Move AreAsyncAnimationsEnabled check outside animation properties loop. r=dbaron 2015-11-06 02:34:00 +01:00
Hiroyuki Ikezoe 15dadfe049 Bug 1216030 - Part 2: Remove gfxPlatform::OffMainThreadCompositingEnabled from CanAnimatePropertyOnCompositor. r=dbaron
It is already checked in nsLayoutUtils::AreAsyncAnimationsEnabled.
And nsLayoutUtils::AreAsyncAnimationsEnabled check is moved at the first of CanAnimatePropertyOnCompositor.
2015-11-06 02:33:00 +01:00
Hiroyuki Ikezoe 892af18264 Bug 1216030 - Part 1: Remove CanAnimate_HasGeometricProperty. r=dbaron
it's enough to check IsGeometricProperty() once within
AnimationCollection::CanPerformOnCompositorThread
2015-11-06 02:32:00 +01:00
Nicholas Nethercote 8198d15f1e Bug 1038663 (part 6, attempt 2) - Allow percentage values for 'word-spacing'. r=heycam. 2015-11-08 16:40:37 -08:00
Nigel Babu 52d7459eca Backed out 6 changesets (bug 1038663) for Android opt R2 bustage
Backed out changeset 97e3492d6080 (bug 1038663)
Backed out changeset d176322f2d36 (bug 1038663)
Backed out changeset f69af9161252 (bug 1038663)
Backed out changeset 8bb77e5fad8c (bug 1038663)
Backed out changeset 954e57438f51 (bug 1038663)
Backed out changeset 16c0919101cd (bug 1038663)
2015-11-06 12:49:36 +05:30
Nicholas Nethercote b7bd8564c0 Bug 1038663 (part 6) - Allow percentage values for 'word-spacing'. r=heycam.
--HG--
extra : rebase_source : b7220e3c156dfef451e79b2911fbba7dec93850d
2015-11-05 17:25:46 -08:00
Phil Ringnalda aba097f1de Bug 1186440 - skip test_garbage_at_end_of_declarations.html on b2g debug
--HG--
extra : rebase_source : f1c2056a8406e707a54e028276c70483e9ff700f
2015-11-05 19:35:58 -08:00
L. David Baron 2187e9fcf7 Bug 1186768 patch 3 - Compute affectedByScriptMinSize sooner to avoid asserting or doing extra work. r=heycam
The assertion added in patch 1 caught a separate bug, which is that we
were computing whether we were affected by scriptMinSize too soon.
Prior to patch 1, this bug meant doing extra work (taking the slow
path).  With patch 1, this changes in documents without MathML to
hitting the assertion instead of taking the slow path.

--HG--
extra : commitid : JD1GY8VL4F0
2015-11-06 11:26:50 +08:00
Jesse Ruderman 9b054b046b Bug 1186768 patch 2 - Crashtest. r=heycam
David Baron confirmed locally that this fails with a fatal assertion
without patch 1 and passes with patch 1.

--HG--
extra : commitid : I8JJwlxIugj
2015-11-06 11:26:50 +08:00
L. David Baron 3c9d5e2196 Bug 1186768 patch 1 - Avoid setting different font-size conditions due to MathML font size adjustments. r=heycam
--HG--
extra : commitid : 7NjsLU22Vcv
2015-11-06 11:26:49 +08:00
Cameron McCormack 917185f23e Bug 1220516 - Devirtualize CSSStyleSheet::GetOriginalURI. r=bzbarsky 2015-11-06 12:10:15 +11:00
Mats Palmgren 504eab4598 Bug 1221902 part 2 - Crashtest. 2015-11-05 22:09:27 +01:00
Mats Palmgren 6e2478df90 Bug 1221902 part 1 - NS_RELEASE SheetLoadData::mNext iteratively instead of recursively to avoid blowing up the stack. r=bz 2015-11-05 22:09:27 +01:00
Carsten "Tomcat" Book 03ccfb0b59 Backed out changeset dae1d7e445d3 (bug 1186768) for r4 test failures on a CLOSED TREE
--HG--
extra : amend_source : be88b3fbc0ba0890271fb6d560ef52db453cad12
2015-11-05 11:21:42 +01:00
Carsten "Tomcat" Book 86d664fb6c Backed out changeset a4101bc25be5 (bug 1186768) 2015-11-05 11:21:22 +01:00
Jesse Ruderman f27166e6a2 Bug 1186768 patch 2 - Crashtest. r=heycam
David Baron confirmed locally that this fails with a fatal assertion
without patch 1 and passes with patch 1.

--HG--
extra : commitid : ITdBA0fwuCq
2015-11-05 16:50:04 +08:00
L. David Baron 662cc6dc27 Bug 1186768 patch 1 - Avoid setting different font-size conditions due to MathML font size adjustments. r=heycam
--HG--
extra : commitid : AbCN2MsVtTo
2015-11-05 16:50:04 +08:00
L. David Baron 48a87a960e Bug 978833 patch 19 - Fix ResolvedStyleCache to use Declaration rather than nsCSSKeyframeRule as keys. r=heycam
This isn't needed today, but it makes more sense, and if we ever gave
the cache a longer lifetime, it would be needed, since the
nsCSSKeyframeRule can maintain its identity across style changes whereas
a matched Declaration cannot.

--HG--
extra : commitid : LPoMlq8m1TH
2015-11-05 16:44:11 +08:00
L. David Baron a511f77fef Bug 978833 patch 18 - Eliminate StyleRule::RuleMatched and call Declaration::SetImmutable directly for style rules (like for @page and keyframe rules). r=heycam
This is just simplification (plus the addition of an assertion).

--HG--
extra : commitid : 8jnKsQbG74s
2015-11-05 16:44:10 +08:00
L. David Baron 7d8e9c1328 Bug 978833 patch 17 - Remove Rule::mWasMatched. r=heycam
--HG--
extra : commitid : 61ndKkCSYPa
2015-11-05 16:44:10 +08:00
L. David Baron d049548fd1 Bug 978833 patch 16 - Always call Declaration::SetImmutable when we match a rule. r=heycam
This change needs to happen before future work that would get rid of the
DeclarationChanged dance in which we make a new StyleRule, but I've
postponed that work to a later bug.  Without this, those changes would
cause a regression, because we'd only call SetImmutable on a StyleRule's
first mDeclaration.  However, we may as well do this now, as it makes
patch 17 and patch 18 possible.

--HG--
extra : commitid : GcyBFi1AWHy
2015-11-05 16:44:10 +08:00
L. David Baron cdd348acd9 Bug 978833 patch 15 - Make css::Rule no longer inherit from nsIStyleRule. r=heycam
This inheritance was previously needed only by a subset of the classes
derived from css::Rule (css::StyleRule, nsCSSKeyframeRule,
nsCSSPageRule).  After patch 12, it is now needed by none.

--HG--
extra : commitid : CEFVRbS42w6
2015-11-05 16:44:10 +08:00
L. David Baron 515251be97 Bug 978833 patch 13 - Remove important rule creation from css::StyleRule. r=heycam
This is the removal half corresponding to the additions in patch 7; the
removal needs to happen after patch 12.

--HG--
extra : commitid : 6Q3PyIcGMWY
2015-11-05 16:44:10 +08:00
L. David Baron bd9bbaa522 Bug 978833 patch 12 - Use the css::Declaration instead of the css::StyleRule as the matching rule. r=heycam
This is the key change in this patch series; it changes the object we
use for style data (currently nsIStyleRule) identity.  It allows
removing some hacks we have to deal with that for StyleRule, and avoids
having to write similar hacks for nsCSSKeyframeRule and nsCSSPageRule
(which are broken without this).

I confirmed locally that it is this patch that fixes both of the todo_is
mochitests, by building and testing with the patch queue through patch
11, and again through patch 12.

--HG--
extra : commitid : AzgBp6KfPhJ
2015-11-05 16:44:10 +08:00
L. David Baron c98145c66e Bug 978833 patch 11 - Add missing #includes in preparation for nsRuleWalker.h #include change in following patch. r=heycam
Patch 12 changes nsRuleWalker.h from including StyleRule.h to including
Declaration.h; this fixes other headers to deal with that change based
on the include-what-you-use principle.

--HG--
extra : commitid : 5z9LIJ2QKCn
2015-11-05 16:44:09 +08:00
L. David Baron c5977aca9e Bug 978833 patch 10 - Raise consistent exceptions so that the exception doesn't depend on rule destruction timing. r=bzbarsky
Prior to patch 12, rule destruction for rules that were matched doesn't
happen until rule tree GC.  This means that GetCSSDeclaration is less
likely to return null, but then GetCSSParsingEnvironment might fail.
With StyleRule no longer participating in the rule tree, they're more
likely to be destroyed quickly, leading to the !olddecl failure case
instead of the !env.mPrincipal failure case.

This is needed to avoid patch 12 causing:
TEST-UNEXPECTED-FAIL | layout/inspector/tests/chrome/test_bug727834.xul | original rule is not available for modification anymore - got "NS_ERROR_FAILURE", expected "NS_ERROR_NOT_AVAILABLE"

--HG--
extra : commitid : K8f1NS4DX9F
2015-11-05 16:44:09 +08:00
L. David Baron ea035e72bc Bug 978833 patch 9 - Move keyframe !important data assertion to where it will continue to happen. r=heycam
The current location of the assertion will stop being called in patch 12
and will go away in patch 15; the new location is valid both before and
after patch 12.

--HG--
extra : commitid : 8wH1hXHKWU5
2015-11-05 16:44:09 +08:00
L. David Baron 6208d2fc5b Bug 978833 patch 8 - Call SetImmutable for declarations of @page and keyframe rules. r=heycam
This probably should have been done before, but prior to this patch
series, dynamic changes of the declarations on these rules were broken
due to rule immutability violations; now that is no longer the case, but
to benefit from that, I believe we actually need to mark the
declarations as immutable once matched so that dynamic changes will
trigger construction of a new declaration (which thus has a new
nsIStyleRule identity).

--HG--
extra : commitid : 8IsYBd67qQr
2015-11-05 16:44:09 +08:00
L. David Baron 4ed7c0f036 Bug 978833 patch 7 - Fuse allocation of ImportantStyleData with Declaration. r=heycam
Note that this adds a new public API to css::Declaration; the equivalent
API is removed from css::StyleRule and nsCSSPageRule in patch 13.  But
the removal and addition need to be on opposite sides of patch 12.

This fused allocation is no larger than having a pointer, and it removes
having to worry about cycles.

--HG--
extra : commitid : EOrsMKswNMP
2015-11-05 16:44:09 +08:00
L. David Baron ed0b078c21 Bug 978833 patch 6 - Move ImportantStyleData from StyleRule.{h,cpp} to Declaration.{h,cpp} r=heycam
This is needed for patch 7.

Note that this removes an unused "friend class StyleRule;" declaration.

--HG--
extra : commitid : Fjns3SwV7M1
2015-11-05 16:44:09 +08:00
L. David Baron 00351db8e0 Bug 978833 patch 5 - Rename ImportantRule to ImportantStyleData. r=heycam
(This is part of a longer term plan to rename nsIStyleRule to StyleData
and nsIStyleRuleProcessor to StyleDataSource.  I'm not doing all of that
here, though.)

--HG--
extra : commitid : DZGpUQO2Fey
2015-11-05 16:44:08 +08:00
L. David Baron 8a5bc09609 Bug 978833 patch 4 - Add pointer back from css::Declaration to css::Rule. r=heycam
This is used in patch 12, in nsStyleSet::AssertNoCSSRules and in
inDOMUtils::GetCSSStyleRules.

--HG--
extra : commitid : 8oiNdCdLIV6
2015-11-05 16:44:08 +08:00
L. David Baron 3a0f427640 Bug 978833 patch 3 - Make css::Declaration implement nsIStyleRule. r=heycam
We switch to using this implementation instead of the one in
css::StyleRule in patch 12.

(Yes, implementing QueryInterface for a CID is ugly, but it's the same
thing StyleRule does.  Unfortunately now we'll need to have it in both
places.)

--HG--
extra : commitid : 9O6Z3E868cq
2015-11-05 16:44:08 +08:00
L. David Baron 867d3273b6 Bug 978833 patch 2 - Make css::Declaration reference-counted. r=heycam
This is done in preparation for making it implement nsIStyleRule, which
happens in patch 3, and which is used in patch 12.

--HG--
extra : commitid : 56cV7yfXq59
2015-11-05 16:44:08 +08:00
L. David Baron d004cb1154 Bug 978833 patch 1 - Add mochitest for bug 978833. r=heycam
I confirmed that without the patch series, the tests marked todo_is do
fail.

--HG--
extra : commitid : 16Psh9NUs9n
2015-11-05 16:44:07 +08:00
Cameron McCormack ddac6ef6db Bug 1220506 - Remove unused CSSStyleSheet::InsertStyleSheetAt. r=bzbarsky 2015-11-05 19:02:59 +11:00
Cameron McCormack 4a88ac6c5e Bug 1220513 - Remove unused CSSStyleSheet::StyleSheetCount. r=bzbarsky 2015-11-05 18:24:41 +11:00
Cameron McCormack 7d1d45fcfb Bug 1220509 - Remove unused CSSStyleSheet::PrependStyleRule. r=bzbarsky 2015-11-05 18:24:30 +11:00
Cameron McCormack fc548e7db1 Bug 1220496 - Create PresHint/StyleAttr rule processors in nsStyleSet::Init and make DirtyRuleProcessors private. r=bzbarsky 2015-11-05 18:24:22 +11:00
Daniel Holbert cb0e88d278 Bug 1208635 part 3: Treat "-webkit-box" as a known CSS keyword, for better parsing performance. r=heycam 2015-11-04 17:59:54 -08:00
Daniel Holbert 6c7605c5d8 Bug 1208635 part 2: Extend existing parser code for CSSUnprefixingService "-webkit-box" handling to also activate if native unprefixing is enabled. r=heycam 2015-11-04 17:59:52 -08:00
Daniel Holbert 1375826a46 Bug 1208635 part 1: Add support for several prefixed CSS properties associated with -webkit-box, as aliases for modern flexbox properties (and behind a pref). r=heycam
Specifically, this adds the following alias mappings:
  -webkit-box-flex          --> flex-grow
  -webkit-box-ordinal-group --> order
  -webkit-box-align         --> align-items
  -webkit-box-pack          --> justify-content
2015-11-04 17:59:51 -08:00
Wes Kocher ba3e14b5ca Backed out 3 changesets (bug 1176792) for WinXP/7 w(4) permafail
Backed out changeset 4d2f2e40bb5d (bug 1176792)
Backed out changeset 3de6f54e7f41 (bug 1176792)
Backed out changeset 887df043de31 (bug 1176792)

--HG--
extra : commitid : 1wE7FZUeTA1
2015-11-04 15:42:38 -08:00
Mats Palmgren 4aaaee94eb Bug 1176792 part 1 - [css-grid] Implement the 'grid-column-gap', 'grid-row-gap', and 'grid-gap' properties in the style system. r=dholbert 2015-11-04 13:46:32 +01:00
Daniel Holbert 31dd36ab92 Bug 1179444: Add support for CSS properties -webkit-backface-visibility, -webkit-perspective, and -webkit-perspective-origin, as aliases (behind a pref). r=heycam 2015-11-03 22:38:52 -08:00
Daniel Holbert f852a2db72 Bug 1179393: Add support for -webkit-border-image longhand CSS properties, as aliases (behind a pref). r=heycam
Specifically, this patch adds support for these longhand properties:
-webkit-border-image-outset
-webkit-border-image-repeat
-webkit-border-image-slice
-webkit-border-image-source
-webkit-border-image-width
2015-11-03 22:38:01 -08:00
Nathan Froyd 50a3cf956c Bug 1220714 - use UniquePtr<T[]> instead of nsAutoArrayPtr<T> in layout/; r=dholbert 2015-10-30 15:12:25 -04:00
Mats Palmgren 87a0b397a7 Bug 1176782 part 8 - [css-align] Update three tests that assumed that the computed value of 'align-items' is 'stretch' on all types of boxes which is no longer true. 2015-11-03 15:18:06 +01:00
Mats Palmgren 7c6b7fe751 Bug 1176782 part 7 - [css-align] Update the flexbox layout code to use the new align/justify style constants and remove the old in the style system. r=cam 2015-11-03 15:18:06 +01:00
Mats Palmgren b06df07867 Bug 1176782 part 6 - [css-align] Implement additional syntax and values for the 'align-content' property in the style system. r=cam 2015-11-03 15:18:06 +01:00