Commit Graph

187 Commits

Author SHA1 Message Date
Hiroyuki Ikezoe
f68519c81c Bug 1364799 - Add a new TraversalRestyleBehavior that represents the traversal is triggered by CSS rule changes. r=birtles
And propagate the new flag to servo if mRestyleForCSSRuleChanges is set.

MozReview-Commit-ID: HRZ5duYgciF
2017-05-21 08:16:26 +09:00
Bobby Holley
7d3ad73578 Bug 1329876 - Stop accepting aTreeMatchContext in the ServoStyleSet methods. r=bz
This makes it clear it's unused.
2017-05-20 21:59:59 +02:00
Boris Chiou
18ca899edb Bug 1334036 - Part 11: Trigger animation-only restyle when we handle an event with coordinates. r=birtles,heycam
We need to request an animation-only restyle to force flush all throttled
animations on main thread when we handle an event with coordinates
(e.g. mouse event).

MozReview-Commit-ID: KkjeQVsLgTl
2017-05-19 16:16:41 +08:00
Emilio Cobos Álvarez
af4b6e8260 Bug 1365902: Make ServoStyleSet::RebuildAllStyleData async. r=heycam
MozReview-Commit-ID: D9Ri4gO3F6G
2017-05-17 18:33:32 +02:00
Emilio Cobos Álvarez
93c3013be8 Bug 1364862: Make PostRebuildAllStyleData async. r=heycam
MozReview-Commit-ID: EM3eUP1dWwA
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-05-15 18:02:59 +02:00
Xidorn Quan
2f56b27839 Bug 1328319 part 7 - Enable querying counter-style rule on Servo backend. r=heycam
MozReview-Commit-ID: Aj3AcW1KmRe
2017-05-11 14:47:24 +10:00
Emilio Cobos Álvarez
b1cba72009 Bug 1364412: Convert pseudo-elements to an enum. r=hiro,xidorn
This allows us to access metadata using `match` instead of comparison with
atoms, which makes it doable to get the pseudo-element flags in the future.

Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

MozReview-Commit-ID: KgGjFePmhyS
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-05-14 18:39:22 +02:00
Emilio Cobos Álvarez
ca76897873 Bug 1364412: Simplify Servo_HasAuthorSpecifiedRules looking at the pseudo style. r=bholley
MozReview-Commit-ID: HpV92ttZGJz
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-05-12 17:51:32 +02:00
Hiroyuki Ikezoe
9dd0727d3d Bug 1354947 - Rename FillKeyframesForName to GetKeyframesForName. r=birtles
MozReview-Commit-ID: AOLygEtuhpO
2017-05-13 16:34:38 +09:00
Brad Werth
d86ae7b72e Bug 1363572 Part 3: Change ServoStyleSet to use sheet addresses as unique IDs. r=heycam
MozReview-Commit-ID: BZSKZx0wjL8
2017-05-12 12:04:55 -07:00
Brad Werth
9a6acfc3f1 Bug 1363572 Part 2: Change ServoStyleSet to use uint64_t for entry unique IDs. r=heycam
MozReview-Commit-ID: 50whQ71j4B5
2017-05-10 11:20:57 -07:00
Ryan VanderMeulen
adc0a8eaec Backed out changesets 72fe8375faa0 and 5f55c10a0a72 (bug 1352306) for ElementInlines.h assertions.
CLOSED TREE
2017-05-12 12:58:05 -04:00
Cameron McCormack
3278a8497b Bug 1352306 - Part 2: stylo: Only snapshot EventStates if there is some rule that depends on it. r=emilio
MozReview-Commit-ID: J5xhdi7pGSv
2017-05-09 18:13:45 +08:00
Cameron McCormack
dada34d927 Bug 1352306 - Part 1: stylo: Only snapshot attributes if there is some rule that depends on that attribute. r=emilio
MozReview-Commit-ID: Emey96ovc2a
2017-05-08 16:04:31 +08:00
Boris Zbarsky
f2703f662f Bug 1361843 part 4. Remove the now-unused mBatching member of ServoStyleSet. r=emilio
MozReview-Commit-ID: DvyZkQh6q8A
2017-05-10 13:13:50 -04:00
Boris Zbarsky
abab8246f8 Bug 1361843 part 2. Track whether the stylist may need a rebuild in ServoStyleSet and do on-demand rebuilds as needed. r=emilio
This does not remove the eager rebuilds we're doing yet.

I'm not completely happy with the ad-hoc manner in which we end up doing
rebuilds.  I considered doing something where we'd make stylist a non-public
member of PerDocumentStyleDataImpl and have a getter that updates the stylist on
get, with maybe a separate non-flushing getter for special situations, if those
arise.  But that requires that we make various cases where we currently have a
non-mut PerDocumentStyleDataImpl use a mut one.  Maybe that would be the right
tradeoff...

I'm also not sure whether the naming is right here.  Maybe we should just talk
about needing a stylesheet flush, not a stylist rebuild, in ServoStyleSet?

MozReview-Commit-ID: 9C7BG5ygm79
2017-05-10 13:13:39 -04:00
Emilio Cobos Álvarez
c4f847ffaa Bug 1355343: Take all the snapshots into account. r=bholley
I've chosen this approach mainly because there's no other good way to guarantee
the model is correct than holding the snapshots alive until a style refresh.

What I tried before this (storing them in a sort of "immutable element data") is
a pain, since we call into style from the frame constructor and other content
notifications, which makes keeping track of which snapshots should be cleared an
which shouldn't an insane task.

Ideally we'd have a single entry-point for style, but that's not the case right
now, and changing that requires pretty non-trivial changes to the frame
constructor.

MozReview-Commit-ID: FF1KWZv2iBM
2017-05-07 16:36:47 +02:00
Matt Brubeck
4eebd81661 Bug 1349651 - stylo: Implement HasAuthorSpecifiedRules. r=bholley
MozReview-Commit-ID: 8ta5KqKzncZ
2017-05-10 13:11:36 -07:00
Cameron McCormack
2c95e462e3 Bug 1356103 - Part 4: Add a mechanism for C++ functions to perform post-Servo traversal tasks. r=bholley
MozReview-Commit-ID: 5Gx1qZzQxAK
2017-04-30 14:45:32 +08:00
Cameron McCormack
ff89dc775e Bug 1356103 - Part 3: Make it easy to access the ServoStyleSet currently in traversal. r=bholley
In a later patch, we'll want to queue up some tasks to run when the
Servo traversal is one, and the ServoStyleSet seems like the natural
place to store those tasks.  We could probably find the ServoStyleSet
by chasing a bunch of pointers from the task-adding call sites, but
it seems simpler just to make it available directly.

MozReview-Commit-ID: AJoFZEoNaGm
2017-04-30 14:41:11 +08:00
Iris Hsiao
b5dd6e2208 Backed out 12 changesets (bug 1356103) for build bustage at PostTraversalTask.h
Backed out changeset 9fb487252c28 (bug 1356103)
Backed out changeset 301237c65945 (bug 1356103)
Backed out changeset 7bc3a4861a39 (bug 1356103)
Backed out changeset 2f383d89184b (bug 1356103)
Backed out changeset a03112e1c9d5 (bug 1356103)
Backed out changeset c60b4c9cbd83 (bug 1356103)
Backed out changeset 34280baeaabe (bug 1356103)
Backed out changeset 31a0881cfb47 (bug 1356103)
Backed out changeset 529d037f9c33 (bug 1356103)
Backed out changeset 1c7831db6b07 (bug 1356103)
Backed out changeset 559f06e32df3 (bug 1356103)
Backed out changeset 784865d234cd (bug 1356103)
2017-05-04 17:56:25 +08:00
Cameron McCormack
91f9f517c8 Bug 1356103 - Part 4: Add a mechanism for C++ functions to perform post-Servo traversal tasks. r=bholley
MozReview-Commit-ID: 5Gx1qZzQxAK
2017-04-30 14:45:32 +08:00
Cameron McCormack
5ab9a5f7ab Bug 1356103 - Part 3: Make it easy to access the ServoStyleSet currently in traversal. r=bholley
In a later patch, we'll want to queue up some tasks to run when the
Servo traversal is one, and the ServoStyleSet seems like the natural
place to store those tasks.  We could probably find the ServoStyleSet
by chasing a bunch of pointers from the task-adding call sites, but
it seems simpler just to make it available directly.

MozReview-Commit-ID: AJoFZEoNaGm
2017-04-30 14:41:11 +08:00
Boris Chiou
f3f76c3cc6 Bug 1346052 - Part 3: Implement AnimationValue::FromString. r=birtles
AnimationValue::FromString compute the AnimationValue from a string.

MozReview-Commit-ID: CX8wairpnfN
2017-05-03 11:15:27 +08:00
Brad Werth
6c3c7a46ad Bug 1348481 Part 2: Gecko-side track unique IDs for each stylesheet and send them to Servo. r=heycam
MozReview-Commit-ID: 7ZaQYhjdYmG
2017-05-01 16:46:41 -07:00
Cameron McCormack
072c4c2c15 Bug 1358968 - Part 2: Use nsCSSAnonBoxList.h data to skip parent display-based style fixups when resolving anon box style. r=bz
MozReview-Commit-ID: HugxFcRcCqv
2017-04-24 16:25:37 +08:00
Hiroyuki Ikezoe
b0b912ac2c Bug 1324700 - Add an FFI which returns computed values for a given declaration block with/without parent_style. r=heycam
The function uses document's default computed values if the parent style
is not specified.

MozReview-Commit-ID: ICd3phAi0C6
2017-04-15 07:37:35 +09:00
Hiroyuki Ikezoe
de5ee3a9e0 Bug 1324700 - Add ResolveServoTransientStyle to get servo's computed values instead of nsStyleContext. r=heycam
Also this patch add nsIAtom as an argument to ResolveTransientStyle() to call
the new function ResolveServoTransientStyle easier. The only call site of the
ResolveTransientStyle() has already nsIAtom* there.

MozReview-Commit-ID: IwxqZbaCSpB
2017-04-15 07:37:34 +09: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
Emilio Cobos Álvarez
186d6d903f Bug 1325878: Create less hardcoded nsMediaList instances. r=xidorn
MozReview-Commit-ID: K6T3MM1ZrFb
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-04-13 00:30:03 +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
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
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
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
Xidorn Quan
6eb87266b6 Bug 1345696 part 1 - Lots of fixup for the next patch. r=heycam
The next patch moves nsCSSFontFaceRule into a separate header, which
somehow affects lots of header dependencies. I'm not completely sure
why this happens, though.

MozReview-Commit-ID: KuXbsaX0NUd
2017-03-28 20:05:12 +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
c6a40ed6f6 Bug 1351026 - Whitelist the compositor thread in DO_RESET. r=emilio
MozReview-Commit-ID: 3k6Rrq7mbWx
2017-03-27 13:11:10 -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
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
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
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