Commit graph

120 commits

Author SHA1 Message Date
Wes Kocher
05965b79a9 Merge inbound to central, a=merge 2017-04-10 16:32:45 -07:00
Manish Goregaokar
6be22491bd Bug 1341724 - Part 4: stylo: Make font metrics usage threadsafe; r=heycam
MozReview-Commit-ID: 3EqpUy09UuI
2017-04-10 17:06:19 +08:00
Cameron McCormack
6c8f6a70b6 Bug 1351286 - stylo: Make Servo mapped attributes mechanism cope with the document being in the bfcache. r=dbaron
MozReview-Commit-ID: H8tpBVKf3xo

--HG--
extra : rebase_source : 698a30deb1ab8ac4840dc6791e4cf12b3be6c5df
2017-04-08 22:42:43 +08:00
Cameron McCormack
12cc9ae143 Bug 1351535 - Part 6: Add ServoStyleSet::StyleSubtreeForReconstruct. r=bholley
MozReview-Commit-ID: CovU36o4lAV

--HG--
extra : rebase_source : d1b990032dcf5438823316f2934bf59a1babd337
2017-04-04 19:34:30 +08:00
Cameron McCormack
9ce0d4d3d2 Bug 1351535 - Part 4: Add a TraversalRestyleBehavior argument to traversal functions. r=bholley
This argument will be used to control whether we are restyling in preparation
for reframing a subtree, which can avoid generating any change hints, as we
aren't preserving the frames that they would otherwise apply to.

MozReview-Commit-ID: DkLVCUnNGt

--HG--
extra : rebase_source : cb3537cea26cb9805b2ec1556cf5ca6eb9d38ab8
2017-04-08 22:57:08 +08:00
Nicholas Nethercote
c54a8b6198 Bug 1353948 - Add SizeOfIncludingThis() methods to ServoStyle{Set,Sheet,SheetInner}. r=heycam.
This fills things in a bit more on the Gecko side.

--HG--
extra : rebase_source : a7cd16969fa0ce06f7d9e39f83d67bf3bd472ea4
2017-04-06 12:22:36 +10:00
Hiroyuki Ikezoe
3f28d7ec76 Bug 1311257 - Add a function that returns a base computed values (i.e. computed values without any animations rules). r=heycam
This base value will be used for additive, accumulative animations
and also SMIL.

MozReview-Commit-ID: LHV8ZnxSzjb

--HG--
extra : rebase_source : 507a8dd74961e7f439b90fd4c5f90a98706aa434
2017-04-06 10:34:50 +09:00
Manish Goregaokar
a2be776eb5 Bug 1341714 - Part 2: stylo: Add support for <table> color quirk ; r=heycam
MozReview-Commit-ID: 56IKARwfbhw

--HG--
extra : rebase_source : af58d14da2e1c329ce2ace2b9cacf79b9adf0319
2017-03-26 13:53:34 -07:00
Xidorn Quan
be843c7162 Bug 1345696 part 7 - Provide @font-face rules for stylo backend. r=heycam
MozReview-Commit-ID: CHPxz7iOLg6

--HG--
extra : rebase_source : 56371228e08b1accbdd30f738622bc211e6daee8
2017-03-27 17:53:27 +11:00
Cameron McCormack
c4f1f8e321 Bug 1350671 - stylo: Allow resolving out of date styles when explicitly reconstructing frames for an element. r=bholley
MozReview-Commit-ID: 7w9pehHNXQ

--HG--
extra : rebase_source : 1476b4397a4384046c324f0176ecd9f699b026bd
2017-03-28 15:31:41 +08:00
Iris Hsiao
5bed2bfda5 Backed out changeset 6e4ccddb5c4b (bug 1350671) for build bustage 2017-03-28 15:23:59 +08:00
Cameron McCormack
e945f00cd0 Bug 1350671 - stylo: Allow resolving out of date styles when explicitly reconstructing frames for an element. r=bholley
MozReview-Commit-ID: A7ssy7ygWLh

--HG--
extra : rebase_source : 7f8fa109f1a739b68525e3ff662024267189d93f
2017-03-28 13:46:59 +08:00
Bobby Holley
887595286b Bug 1350115 - Squelch post-traversal generated by additional animation traversals when we're styling a fresh subtree. r=heycam,r=birtles
This patch exists to avoid a crash in layout/style/test/test_animations.html. We end up
generating some ::before content, which causes us to style the new subtree at [1]. In
StyleNewSubtree, we fail the !postTraversalRequired assertion because
PrepareAndTraverseSubtree decided to traverse the tree twice (once to style it, and again
to restyle it for animations), and return that a post-traversal is needed.

The reason this issue happens with my NAC patches and not without is that we were previously
filtering out generated ::before content from the servo traversal, so the servo traversal
wouldn't have reached it and (presumably) the animation restyle wouldn't have happened and
we wouldn't have returned true for needing a post-traversal.

[1] http://searchfox.org/mozilla-central/rev/c48398abd9f0f074c69f2223260939e30e8f99a8/layout/base/nsCSSFrameConstructor.cpp#1918

MozReview-Commit-ID: 8tgzLjV8B3A
2017-03-24 09:40:30 -07:00
Manish Goregaokar
681045b70e Bug 1341086 - Part 2: stylo: Support all non-ts pseudos with an argument; r=emilio,heycam
MozReview-Commit-ID: IHjX2Q3k8eD

--HG--
extra : rebase_source : 57df0f0e54fd1aa1ce4b304238c7070ef9af6dd4
2017-03-16 14:10:22 -07:00
Boris Chiou
5fdc3654b4 Bug 1349124 - Replace ServoComputedStyleValues with ServoComputedValuesWithParent. r=hiro
MozReview-Commit-ID: 5POa8DRjmc8

--HG--
extra : rebase_source : 5a88f1c30c32dcd6bb728707c066a4b8becfc311
2017-03-21 15:41:23 +08:00
Cameron McCormack
0bd2536940 Bug 1348493 - Clear ServoElementData from canvas custom content's during-PresShell-destruction clones. r=bholley
MozReview-Commit-ID: HqLgOuXsQuV

--HG--
extra : rebase_source : 0da1b02c0675fc93303cedf3d8dfb73d413670a2
2017-03-18 14:15:09 +08:00
Boris Zbarsky
30ae26f67d Bug 1346481. Add stylo support for skipping parent-display-based fixup for anonymous boxes. r=emilio
MozReview-Commit-ID: Ahd95HP6xiD

--HG--
extra : rebase_source : 0824a9f3a4aa699290c0ecea24fa9f8922b0e0e6
2017-03-13 12:53:45 -04:00
Emilio Cobos Álvarez
fb3b444270 Bug 1303229: Get the proper viewport size for animations. r=heycam,hiro
While we're here, don't re-recompute the default computed values, just grab them
from the device.

MozReview-Commit-ID: GqqnPLIwN2F
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-03-11 14:29:38 +01:00
Hiroyuki Ikezoe
96240dbfc8 Bug 1341985 - Update CSS animations in a SequentialTask. r=heycam
We create the SequentialTask only if:

* We have no old computed values and we have animation name style in the new
  computed values.
* Any animation properties is changed.
* display property is changed from 'none' and we have animation name style.
* display property is changed to 'none'.

In a subsequent patch we skip the SequentialTask if we have no running
animations and the display propery is changed to 'none'.

MozReview-Commit-ID: JRSZznufOS2

--HG--
extra : rebase_source : 566026c21c6357f77df55e3bd588835f5fd6c3d4
2017-03-10 11:53:19 +09:00
Hiroyuki Ikezoe
11184fb1e8 Bug 1341985 - Trigger the second traversal for updating CSS animations in the case of Servo_ResolveStyleLazily. r=heycam
MozReview-Commit-ID: 7E4unP9M7FQ

--HG--
extra : rebase_source : ee43d00ab84bcd6071ee7bb4cc1de4438229ea1b
2017-03-10 11:53:19 +09:00
Hiroyuki Ikezoe
843466ec0d Bug 1341985 - Trigger the second traversal for updating CSS animations. r=birtles,heycam
The restyle request during restyling is a result of creating/updating/removing
CSS animations that will come from a SequentialTask which will be implemented
in a subsequent patch.

MozReview-Commit-ID: JoAqvcN3y51

--HG--
extra : rebase_source : fdff59771b81518509dfd52e73d3f63ddb82390d
2017-03-10 11:53:19 +09:00
Manish Goregaokar
7a6a00898d Bug 1329093 - Part 4: stylo: Delay SVG mapped attr resolution till later; r=bz
MozReview-Commit-ID: 2GvHPg1egjS
2017-03-09 17:46:26 -08:00
Boris Zbarsky
964a12c306 Bug 1345362 part 4. Rename ResolveAnonymousBoxStyle to ResolveInheritingAnonymousBoxStyle. r=heycam
MozReview-Commit-ID: GVA1fTh0RDv

--HG--
extra : rebase_source : 4333baf6764f346d68836e387fa002705684bfdd
2017-03-08 23:50:28 -05:00
Boris Zbarsky
b537f110e2 Bug 1345362 part 3. Introduce CSSPseudoElementType::NonInheritingAnonBox to represent non-inheriting anon boxes. r=heycam
The idea is to be able to call the right function during style resolution time
without doing a linear walk via nsCSSAnonBoxes::IsNonInheritingAnonBox.

MozReview-Commit-ID: JKt33GggTjz

--HG--
extra : rebase_source : fcf477dcef8529c803bf97b1d3a16f8f4fcea39f
2017-03-08 23:41:04 -05:00
Boris Zbarsky
767339fbd8 Bug 1345362 part 1. Use mozilla::EnumeratedArray for mNonInheritingStyleContexts. r=heycam
MozReview-Commit-ID: EddWYLSmfGL

--HG--
extra : rebase_source : c2cd37964b60c25ae2176098addfcbf94cad61a3
2017-03-08 23:39:45 -05:00
Hiroyuki Ikezoe
d547683e53 Bug 1344619 - Part 6: Kick EffectCompositor::PreTraverse() for an element. r=heycam
MozReview-Commit-ID: Fs3DlkfeBCT

--HG--
extra : rebase_source : 5375ddbf94a5dcc3420880a08fbb369b91e3c363
2017-03-09 05:20:17 +09:00
Hiroyuki Ikezoe
1761aeb22e Bug 1344619 - Part 4: Add ServoStyleSet::ResolveStyleLazily(). r=heycam
MozReview-Commit-ID: GvlD6lQYBQ6

--HG--
extra : rebase_source : 73baac118a3de04d88b565c61f853ec145d3d1e7
2017-03-09 05:20:17 +09:00
Hiroyuki Ikezoe
394a4a9b12 Bug 1344619 - Part 3: Kick EffectCompositor::PreTraverse(). r=heycam
MozReview-Commit-ID: HbBrQ7HZ8gf

--HG--
extra : rebase_source : 764ca245bd03ef5bc943c5814f53198141ad5b89
2017-03-09 05:20:17 +09:00
Boris Zbarsky
f12067d36e Bug 1343078 part 7. Make placeholders a non-inheriting anon box. r=dbaron
MozReview-Commit-ID: 3kQQroDRlr8

--HG--
extra : rebase_source : 6b1c8e0c1f287532badedb50439e415f97a4cf81
2017-03-08 00:18:40 -05:00
Boris Zbarsky
71f35d2571 Bug 1343078 part 4. Add storage for the singleton non-inheriting anon box style contexts on style set. r=dbaron
MozReview-Commit-ID: 9OvEssf3J5o

--HG--
extra : rebase_source : 43856176ef02474c00b76a8e498ff7a926c92b23
2017-03-08 00:18:39 -05:00
Boris Zbarsky
ca2ae1cf7a Bug 1343078 part 1. Give placeholders and first-letter continuations different kinds of anonymous boxes. r=dbaron
MozReview-Commit-ID: B5IHgVUo1Rp

--HG--
extra : rebase_source : d7eab69a0dbcf0a460a249d843c5510a470b5a04
2017-03-08 00:18:32 -05:00
Hiroyuki Ikezoe
d64b9d4c0f Bug 1340322 - Part 13: Update CSS Animations with servo's computed values. r=birtles
MozReview-Commit-ID: B7uSH7wrx3b

--HG--
extra : rebase_source : f878bac6a8d37a2c4de110afbeb28a59212e8abe
2017-03-06 10:09:47 +09:00
Brad Werth
c96d548dac Bug 1290218 Part 10: Add asserts to ServoStyleSets. r=heycam
MozReview-Commit-ID: ATTI9X6CEKr

--HG--
extra : rebase_source : 75fd89e7bcb6ffcfbeca9ff48233c6d4a58ee9d4
2017-02-15 12:25:21 -08:00
Boris Chiou
921bec7548 Bug 1338087 - Part 2: Drop the computation of StyleAnimationValue on stylo. r=hiro
MozReview-Commit-ID: 4oAzC6m2vie

--HG--
extra : rebase_source : 139674c8059a918b6850b74e4bdeb8a49b4a2571
2017-02-10 15:51:00 +08:00
Xidorn Quan
95c1b23bd9 Bug 1339341- Downgrade several stylo errors to warnings. r=heycam
MozReview-Commit-ID: 2Sa8dS8uSo5

--HG--
extra : rebase_source : c6809309bbef5faf458b56018b964619ff386238
2017-02-14 18:26:10 +11:00
Cameron McCormack
53ffd368aa Bug 1331294 - Part 4: Make ServoStyleSet::StyleDocument call Servo_TraverseSubtree unconditionally, and return whether a post-traversal is required. r=bholley
MozReview-Commit-ID: 6jgH6NDz3h
2017-02-10 10:42:30 +08:00
Bobby Holley
6fac28059f Bug 1333183 - Prime the root element cache before the servo traversal. r=emilio 2017-02-08 17:04:47 -08:00
Bobby Holley
f5bde33979 Bug 1335319 - Add a global flag indicating that we're in the servo traversal. r=bz 2017-02-08 17:04:44 -08:00
Manish Goregaokar
5b55368eda Bug 1330041 - Basic handling framework for presentation attributes in Stylo, with handling for font-size and color; r=bz,emilio
This introduces a basic framework for servo's style system to be able
to query the style of presentation attributes which it can then insert
into the cascade. It uses that framework to implement the size and
color attributes on <font>.

There are a number of improvements that can be done on top of this:

 - Implement all other properties
 - Abstractify the ruledata parameter of the mappers using templates or virtual dispatch so that it can be a Servo decl block instead
 - Implement aforementiond abstraction over Servo decl blocks (this obsoletes the code in the first item above, so it might just be better to skip that and directly do this)
 - Replace uses of nsHTMLStyleSheet with an abstract base class containing common elements between Servo and Gecko

I'd prefer for these to be done in separate steps.

MozReview-Commit-ID: GO60qfeZOfl

--HG--
extra : rebase_source : 516d369a8627e413983361aaf85ccb7132b0a06c
2017-01-19 15:56:53 -08:00
Hiroyuki Ikezoe
5e33af310e Bug 1328787 - Part 13: Call nsAnimationManager.UpdateAnimations(). r=heycam
MozReview-Commit-ID: CcA3dJaxuYY
2017-01-29 12:59:00 +09:00
Hiroyuki Ikezoe
8d8004331b Bug 1328787 - Part 3: Add functions for filling each servo's animation keyframes into nsTArray<Keyframe>. r=heycam
The argument, ServoComputedValues*, will be used the case where keyframe is not specified.

MozReview-Commit-ID: HqqEXuYajCi
2017-01-29 12:58:28 +09:00
Emilio Cobos Álvarez
1aed15b692 Bug 1331213: Bootstrap a Gecko-side Device, and track it's dirtiness manually in the per-doc data. r=heycam
The setup is quite different to Servo-land, so add a comment about the different
setup.

Also, check viewport rules when flushing stylesheets. I believe that the
previous behavior is plain wrong, though I haven't taken the time to come up
with a test case.

In any case, it doesn't hurt any of both back-ends.

MozReview-Commit-ID: 46gtTkesOsr
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-17 14:20:03 +01:00
Wes Kocher
105aea2522 Merge m-c to inbound a=merge
MozReview-Commit-ID: G24aq5fbYNd
2017-01-09 16:44:58 -08:00
Cameron McCormack
4a5ea32ba0 Bug 1323665 - Part 1: Adjust some ServoStyleSet assertions. r=xidorn
We're incorrectly asserting that a sheet is applicable when we remove it from
the style set, but we'll actually cause the sheet to be not applicable just
before we remove it from the style set.  (Note how nsStyleSet doesn't assert
this in RemoveStyleSheet.)  Also, we were missing a corresponding assertion
in AddDocStylesSheet.

MozReview-Commit-ID: E5qwxwrA74F

--HG--
extra : rebase_source : 1915553a0aa6f45b347db34feace35802983b05a
2017-01-09 17:42:52 +08:00
Bobby Holley
09ce7e77ed Bug 1325734 - Simplify ElementData and eliminate the concept of consuming styles. r=emilio 2017-01-09 11:50:16 -08:00
Boris Zbarsky
7fd253e340 Bug 1298588 followup whitespace fix to address a missed review comment. DONTBUILD 2017-01-04 23:19:34 -05:00
Boris Zbarsky
85a6ca2630 Bug 1298588 part 10, gecko piece. Pass through useful default styles to apply_declarations(). r=bholley 2017-01-04 14:52:27 -05:00
Boris Zbarsky
eebd58fd31 Bug 1298588 part 7, gecko piece. Stop using initial_values in general in Gecko glue code. r=bholley 2017-01-04 14:52:27 -05:00
Boris Zbarsky
bd53996269 Bug 1298588 part 6, gecko piece. Stop using initial_values when doing inheritance in Gecko glue code. r=bholley 2017-01-04 14:52:27 -05:00
Boris Zbarsky
9f8934b143 Bug 1298588 part 4, gecko piece. Recreate the default computed values for a document as needed. r=bholley 2017-01-04 14:52:27 -05:00