Commit Graph

325 Commits

Author SHA1 Message Date
Brad Werth
3502e99f42 Bug 1341721 Part 2a: Add a bool argument to Servo_StyleSet_NoteStyleSheetsChanged. r=heycam
MozReview-Commit-ID: 1CLnJ87fPF1
2017-04-11 15:59:44 +08:00
Brad Werth
8067c910a4 Bug 1341721 Part 1: ServoStyleSet implementation of SetAuthorStyleDisabled. r=heycam
MozReview-Commit-ID: Bd0TJDfcj94
2017-04-11 15:43:14 +08:00
Cameron McCormack
30e9f3659f Bug 1345695 - stylo: Assert that we have computed style in Servo_ResolveStyle when lazy computation is forbidden. r=bholley
MozReview-Commit-ID: Bul00XOpfxA
2017-04-12 10:05:26 +08:00
Gregory Szorc
f3a828460f Backed out changeset f00f1ad996f7 (bug 1345695) for touching servo/
Autoland should have prevented this. A bug is on file so it hopefully
won't happen again.

MozReview-Commit-ID: 1tN1lAyTLyE
2017-04-11 09:36:48 -07:00
Cameron McCormack
36659f5c55 Bug 1345695 - stylo: Assert that we have computed style in Servo_ResolveStyle when lazy computation is forbidden. r=bholley
MozReview-Commit-ID: Bul00XOpfxA
2017-03-30 12:54:25 +08:00
Wes Kocher
2d64f649cd Merge inbound to central, a=merge 2017-04-10 16:32:45 -07:00
Manish Goregaokar
93f8302fde 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
7fbce911f8 Bug 1351286 - stylo: Make Servo mapped attributes mechanism cope with the document being in the bfcache. r=dbaron
MozReview-Commit-ID: H8tpBVKf3xo
2017-04-08 22:42:43 +08:00
Cameron McCormack
5096ed733a Bug 1351535 - Part 6: Add ServoStyleSet::StyleSubtreeForReconstruct. r=bholley
MozReview-Commit-ID: CovU36o4lAV
2017-04-04 19:34:30 +08:00
Cameron McCormack
eacc6e8099 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
2017-04-08 22:57:08 +08:00
Nicholas Nethercote
d1e195a649 Bug 1353948 - Add SizeOfIncludingThis() methods to ServoStyle{Set,Sheet,SheetInner}. r=heycam.
This fills things in a bit more on the Gecko side.
2017-04-06 12:22:36 +10:00
Hiroyuki Ikezoe
79fd16dee6 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
2017-04-06 10:34:50 +09:00
Manish Goregaokar
57d32834b4 Bug 1341714 - Part 2: stylo: Add support for <table> color quirk ; r=heycam
MozReview-Commit-ID: 56IKARwfbhw
2017-03-26 13:53:34 -07:00
Xidorn Quan
53ee36eabe Bug 1345696 part 7 - Provide @font-face rules for stylo backend. r=heycam
MozReview-Commit-ID: CHPxz7iOLg6
2017-03-27 17:53:27 +11:00
Cameron McCormack
480359bef9 Bug 1350671 - stylo: Allow resolving out of date styles when explicitly reconstructing frames for an element. r=bholley
MozReview-Commit-ID: 7w9pehHNXQ
2017-03-28 15:31:41 +08:00
Iris Hsiao
c919df1249 Backed out changeset 6e4ccddb5c4b (bug 1350671) for build bustage 2017-03-28 15:23:59 +08:00
Cameron McCormack
943b935a6e Bug 1350671 - stylo: Allow resolving out of date styles when explicitly reconstructing frames for an element. r=bholley
MozReview-Commit-ID: A7ssy7ygWLh
2017-03-28 13:46:59 +08:00
Bobby Holley
aacbfde69f 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
de1687e9f8 Bug 1341086 - Part 2: stylo: Support all non-ts pseudos with an argument; r=emilio,heycam
MozReview-Commit-ID: IHjX2Q3k8eD
2017-03-16 14:10:22 -07:00
Boris Chiou
51b2cebdaa Bug 1349124 - Replace ServoComputedStyleValues with ServoComputedValuesWithParent. r=hiro
MozReview-Commit-ID: 5POa8DRjmc8
2017-03-21 15:41:23 +08:00
Cameron McCormack
b507415c95 Bug 1348493 - Clear ServoElementData from canvas custom content's during-PresShell-destruction clones. r=bholley
MozReview-Commit-ID: HqLgOuXsQuV
2017-03-18 14:15:09 +08:00
Boris Zbarsky
560161091d Bug 1346481. Add stylo support for skipping parent-display-based fixup for anonymous boxes. r=emilio
MozReview-Commit-ID: Ahd95HP6xiD
2017-03-13 12:53:45 -04:00
Emilio Cobos Álvarez
2039966939 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
dd51de9ba0 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
2017-03-10 11:53:19 +09:00
Hiroyuki Ikezoe
f85a661e97 Bug 1341985 - Trigger the second traversal for updating CSS animations in the case of Servo_ResolveStyleLazily. r=heycam
MozReview-Commit-ID: 7E4unP9M7FQ
2017-03-10 11:53:19 +09:00
Hiroyuki Ikezoe
d9c3518720 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
2017-03-10 11:53:19 +09:00
Manish Goregaokar
be24bd2d60 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
60be80cd9e Bug 1345362 part 4. Rename ResolveAnonymousBoxStyle to ResolveInheritingAnonymousBoxStyle. r=heycam
MozReview-Commit-ID: GVA1fTh0RDv
2017-03-08 23:50:28 -05:00
Boris Zbarsky
b26328d6e6 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
2017-03-08 23:41:04 -05:00
Boris Zbarsky
ac69b58b5d Bug 1345362 part 1. Use mozilla::EnumeratedArray for mNonInheritingStyleContexts. r=heycam
MozReview-Commit-ID: EddWYLSmfGL
2017-03-08 23:39:45 -05:00
Hiroyuki Ikezoe
57d159d0db Bug 1344619 - Part 6: Kick EffectCompositor::PreTraverse() for an element. r=heycam
MozReview-Commit-ID: Fs3DlkfeBCT
2017-03-09 05:20:17 +09:00
Hiroyuki Ikezoe
9b21533566 Bug 1344619 - Part 4: Add ServoStyleSet::ResolveStyleLazily(). r=heycam
MozReview-Commit-ID: GvlD6lQYBQ6
2017-03-09 05:20:17 +09:00
Hiroyuki Ikezoe
5969aade01 Bug 1344619 - Part 3: Kick EffectCompositor::PreTraverse(). r=heycam
MozReview-Commit-ID: HbBrQ7HZ8gf
2017-03-09 05:20:17 +09:00
Boris Zbarsky
52f4dcb32a Bug 1343078 part 7. Make placeholders a non-inheriting anon box. r=dbaron
MozReview-Commit-ID: 3kQQroDRlr8
2017-03-08 00:18:40 -05:00
Boris Zbarsky
a8e739b7ad Bug 1343078 part 4. Add storage for the singleton non-inheriting anon box style contexts on style set. r=dbaron
MozReview-Commit-ID: 9OvEssf3J5o
2017-03-08 00:18:39 -05:00
Boris Zbarsky
fda169de6c Bug 1343078 part 1. Give placeholders and first-letter continuations different kinds of anonymous boxes. r=dbaron
MozReview-Commit-ID: B5IHgVUo1Rp
2017-03-08 00:18:32 -05:00
Hiroyuki Ikezoe
333a632f95 Bug 1340322 - Part 13: Update CSS Animations with servo's computed values. r=birtles
MozReview-Commit-ID: B7uSH7wrx3b
2017-03-06 10:09:47 +09:00
Brad Werth
83570a82ff Bug 1290218 Part 10: Add asserts to ServoStyleSets. r=heycam
MozReview-Commit-ID: ATTI9X6CEKr
2017-02-15 12:25:21 -08:00
Boris Chiou
d50c720532 Bug 1338087 - Part 2: Drop the computation of StyleAnimationValue on stylo. r=hiro
MozReview-Commit-ID: 4oAzC6m2vie
2017-02-10 15:51:00 +08:00
Xidorn Quan
4cdc3377d9 Bug 1339341- Downgrade several stylo errors to warnings. r=heycam
MozReview-Commit-ID: 2Sa8dS8uSo5
2017-02-14 18:26:10 +11:00
Cameron McCormack
6b74d596a5 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
b77d94bc0f Bug 1333183 - Prime the root element cache before the servo traversal. r=emilio 2017-02-08 17:04:47 -08:00
Bobby Holley
0e45459ddd 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
9f16c02625 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
2017-01-19 15:56:53 -08:00
Hiroyuki Ikezoe
70fd29eb2a Bug 1328787 - Part 13: Call nsAnimationManager.UpdateAnimations(). r=heycam
MozReview-Commit-ID: CcA3dJaxuYY
2017-01-29 12:59:00 +09:00
Hiroyuki Ikezoe
628935e580 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
0be8a2c6ab 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
0d767f9ab1 Merge m-c to inbound a=merge
MozReview-Commit-ID: G24aq5fbYNd
2017-01-09 16:44:58 -08:00
Cameron McCormack
85a42391b3 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
2017-01-09 17:42:52 +08:00
Bobby Holley
0aaca3b258 Bug 1325734 - Simplify ElementData and eliminate the concept of consuming styles. r=emilio 2017-01-09 11:50:16 -08:00