Commit Graph

325 Commits

Author SHA1 Message Date
Bobby Holley
94a27c912a Bug 1389347 - Inline PrepareAndTraverseSubtree into StyleDocument. r=emilio
MozReview-Commit-ID: Kza0gGqvvmM
2017-08-11 15:55:13 -07:00
Bobby Holley
2a31dd00ff Bug 1389347 - Hoist StyleNew{Children,Subtree} into their own paths. r=emilio
The buggy animation handling isn't a regression, since currently we pass
UnstyledChildrenOnly in those cases, which blocks the animation traversal
in Servo_TraverseSubtree.

In general I really wanted to handle these two paths together. But there's
enough broken with the NewChildren path that I wanted to scope the buginess
as tightly as possible. And I really need to separate the handling here from
StyleDocument() to make the restyle root stuff work.

MozReview-Commit-ID: 9F0mcQl7AAX
2017-08-11 15:55:13 -07:00
Bobby Holley
0c71064d6c Bug 1389347 - Separate StyleSubtreeForReconstruct into its own path. r=emilio
This makes things a bit easier to follow, and sets the stage for eliminating
PrepareAndTraverseSubtree and making StyleDocument restyle-root-aware.

MozReview-Commit-ID: 40ORrqAuXni
2017-08-11 15:55:12 -07:00
Bobby Holley
027d7ae5ba Bug 1389347 - Hoist various bits of PrepareAndTraverse functionality into an RAII class. r=emilio
MozReview-Commit-ID: CPVnZjSwRpN
2017-08-11 15:55:12 -07:00
Hiroyuki Ikezoe
e85ec19021 Bug 1379516 - Mark animation timerline marker for stylo. r=birtles
MozReview-Commit-ID: GkPSXEk4xua
2017-08-11 08:44:11 +09:00
Emilio Cobos Álvarez
88284a5d55 Bug 1388234: Don't assert when calling out of band to ResolveInheritingAnonymousBoxStyle. r=heycam
MozReview-Commit-ID: FYctJRfLTK6
2017-08-08 14:54:13 +02:00
Bobby Holley
d3a8e82644 Bug 1388623 - Use our new traversal flags to avoid doing post-traversal clearing of restyle state. r=emilio
MozReview-Commit-ID: E4fqtsQtO9E
2017-08-09 12:12:28 -07:00
Bobby Holley
ad26d36122 Bug 1388623 - Move the document-root-cache-priming into PreTraverseSync. r=emilio
I added this before PreTraverseSync existed, but that's really where it belongs.

MozReview-Commit-ID: DZlcH70QbEt
2017-08-09 12:11:32 -07:00
Bobby Holley
7184417564 Bug 1388623 - Switch to PreTraverseSync for new-element styling. r=hiro
the PreTraverse stuff is all about ticking animations, which isn't something we
want to do when we're trying to get styles synchronously in the frame
constructor.

MozReview-Commit-ID: L6lw4ef4Jdk
2017-08-09 12:11:30 -07:00
Bobby Holley
0dcac6f0f3 Bug 1368291 - Style sharing for lazy pseudos. r=emilio
MozReview-Commit-ID: 9u8FzDXFZcX
2017-08-09 12:08:24 -07:00
Xidorn Quan
3916b3d630 Bug 1388319 - Mark ServoStyleSet dirty in its Init. r=emilio
MozReview-Commit-ID: 804KasIiS6E
2017-08-08 22:41:32 +10:00
Manish Goregaokar
91f4d493c1 Bug 1386915 - Add nsLookAndFeel::NativeInit() virtual call for initializing native-side state; r=jfkthame
MozReview-Commit-ID: 8XKSC1AOI0N
2017-08-06 15:41:08 -07:00
Cameron McCormack
3431e2f842 Bug 1384824 - Part 1: Lazily clear stale Servo element data from a document when its pres shell changes. r=bholley
MozReview-Commit-ID: 1c566PRqFpe
2017-08-04 19:26:04 +10:00
Cameron McCormack
517dd684bd Bug 1384824 - Part 0: Consolidate lazy style resolution entrypoints. r=bholley
MozReview-Commit-ID: HPdviA570N1
2017-08-04 19:26:03 +10:00
Emilio Cobos Álvarez
78a9114477 Bug 1368290: Cache anon box styles in ServoStyleContext. r=bholley
MozReview-Commit-ID: CaaL9hB3G7p
2017-08-04 23:37:17 +02:00
Emilio Cobos Álvarez
f09ce66dde Bug 1386602: Avoid recreating the stylist in RebuildAllStyleData. r=heycam
MozReview-Commit-ID: 31G9BLgqEmm
2017-08-03 18:10:06 +02:00
Boris Zbarsky
f87948be73 Bug 1324619 part 4. Add a Servo API for reparenting a given style. r=emilio
MozReview-Commit-ID: 2rqnMjMQKlJ
2017-07-28 21:20:41 -04:00
Boris Zbarsky
ab822a31fe Bug 1324619 part 3. Implement ReparentStyleContext in ServoRestyleManager, for ::first-line use. r=emilio
This doesn't actually implement style context reparenting in the style set yet; that part is next.

There is one behavior difference being introduced here compared to Gecko: we
don't reparent the first block piece of an {ib} (block-inside-inline) split
whose first inline piece is being reparented.  This is actually a correctness
fix.  In this testcase:

  <style>
    #target { color: green; }
    #target::first-line { color: red; }
  </style>
  <div id="target">
    <span>
      <div>This should be green</div>
    </span>
  </div>

Gecko makes the text red, while every other browser makes it green.

We're preserving Gecko's behavior for out-of-flows in first-line so far, but
arguably it's wrong per spec and doesn't match other browsers either.  We can
look into changing it later.

MozReview-Commit-ID: 5eC6G449Mlh
2017-07-28 21:11:18 -04:00
Bobby Holley
4d082c774a Bug 1384769 - Break TraversalFlags::ForReconstruct down into several independent pieces. r=emilio
These will be useful in followup work.

MozReview-Commit-ID: Dyp9R0PG36v
2017-07-27 17:49:44 -07:00
Bobby Holley
71e0babc3a Bug 1384769 - Get rid of the ForNewlyBoundElement mode. r=emilio
MozReview-Commit-ID: 1IRn2iaPnVc
2017-07-27 17:49:42 -07:00
Bobby Holley
cca4b9e30a Bug 1384769 - Clean up ForThrottledAnimationFlush stuff. r=hiro
MozReview-Commit-ID: I6xeHv65nH2
2017-07-27 17:49:40 -07:00
Bobby Holley
9b25ccada2 Bug 1384769 - Pass TraversalFlags from C++ into Rust. r=emilio
MozReview-Commit-ID: EVUzgnL5coN
2017-07-27 17:49:38 -07:00
Xidorn Quan
59360108e7 Bug 1382077 part 3 - Record viewport unit usage and generate proper restyle hint. r=heycam
MozReview-Commit-ID: FA2TiIejUT
2017-07-24 13:02:17 +10:00
Xidorn Quan
7ecc3b6ca1 Bug 1382077 part 2 - Move mUsesViewportUnits into nsStyleSet. r=heycam
MozReview-Commit-ID: DQ4ZoLLNPeN
2017-07-24 11:51:32 +10:00
Xidorn Quan
a2a9fd3d54 Bug 1382077 part 1 - Have StyleSet::MediumFeaturesChanged return nsRestyleHint rather than a bool. r=heycam
MozReview-Commit-ID: 5g3mHU8pxXP
2017-07-24 11:27:08 +10:00
Carsten "Tomcat" Book
165a3c6ca9 Backed out changeset 23c6326dd926 (bug 1382077) on request from xidorn 2017-07-25 12:17:56 +02:00
Carsten "Tomcat" Book
07d253a893 Backed out changeset 972821835d48 (bug 1382077) 2017-07-25 12:17:16 +02:00
Carsten "Tomcat" Book
597eb184a7 Backed out changeset d3f7744b4ec3 (bug 1382077) 2017-07-25 12:17:13 +02:00
Xidorn Quan
6e2262114a Bug 1382077 part 3 - Record viewport unit usage and generate proper restyle hint. r=heycam
MozReview-Commit-ID: FA2TiIejUT
2017-07-24 13:02:17 +10:00
Xidorn Quan
2798346a35 Bug 1382077 part 2 - Move mUsesViewportUnits into nsStyleSet. r=heycam
MozReview-Commit-ID: DQ4ZoLLNPeN
2017-07-24 11:51:32 +10:00
Xidorn Quan
d6b0318f36 Bug 1382077 part 1 - Have StyleSet::MediumFeaturesChanged return nsRestyleHint rather than a bool. r=heycam
MozReview-Commit-ID: 5g3mHU8pxXP
2017-07-24 11:27:08 +10:00
Emilio Cobos Álvarez
7624a03ad1 Bug 1383307: Remove ServoStyleContext::UpdateWithElementState. r=manishearth
And kill one GetParentAllowServo call while at it, and some other dumbness...

MozReview-Commit-ID: GmvzXwGorlX
2017-07-23 23:56:39 +02:00
Manish Goregaokar
82f2e05017 Bug 1382017 part 4 Gecko piece - Rename ServoComputedValues -> ServoComputedData; r=heycam
ServoComputedValues is confusing because ComputedValues is actually
ServoStyleContext on the C++ side.

MozReview-Commit-ID: IQNVdfREAMt
2017-07-20 21:44:02 -07:00
Emilio Cobos Álvarez
d92eee6813 Bug 1366721: Switch all the APIs in ServoStyleSet to use ServoStyleContext. r=heycam
MozReview-Commit-ID: 8oMwu45tlaJ
2017-07-20 18:36:20 +02:00
Emilio Cobos Álvarez
7eedeefd83 Bug 1381764: Cleanup the Gecko bits. r=manishearth
MozReview-Commit-ID: dbVDy1u4vp
2017-07-18 16:22:00 -07:00
Hiroyuki Ikezoe
3d68f92114 Bug 1381431 - Allow that restyle hints other than animation hints remain for flushing throttle animations. r=emilio
MozReview-Commit-ID: GMkgvaK0mAu
2017-07-18 20:56:15 +09:00
Manish Goregaokar
df853f68c9 Bug 1367904 - Part 17: stylo: Clean up GetContext, call it UpdateWithElementState; r=bholley
MozReview-Commit-ID: I23w5hFatk8
2017-07-17 21:01:33 -07:00
Manish Goregaokar
f7ddf7a1b6 Bug 1367904 - Part 16: stylo: Stop using mStyleIfVisited in Servo; r=bholley
MozReview-Commit-ID: JxoMr6fz7lh
2017-07-17 21:01:23 -07:00
Manish Goregaokar
0dcf16fa0c Bug 1367904 - Part 14: stylo: Remove FFI calls for fetching style structs from ServoComputedValues; r=bholley
MozReview-Commit-ID: 2HrVZl9HZu1
2017-07-17 21:01:10 -07:00
Manish Goregaokar
9d1915a8b8 Bug 1367904 - Part 13: stylo: Flatten ServoComputedValues into ServoStyleContext; r=bholley
This patch also removes the duplication of style contexts during the
restyle, because otherwise pointer equality of ServoComputedValues stops
holding (and we assert on that in a few places)

MozReview-Commit-ID: 7Evc1p8ZfM2
2017-07-17 21:01:02 -07:00
Manish Goregaokar
63c907be23 Bug 1367904 - Part 11: stylo: Use ServoStyleContext in ServoStyleSet/ServoRestyleManager; r=bholley
MozReview-Commit-ID: JJOBixTSCZq
2017-07-17 21:00:54 -07:00
Manish Goregaokar
86e90da5c3 Bug 1367904 - Part 10: stylo: Switch Gecko over to ServoStyleContext; r=bholley
MozReview-Commit-ID: EmopKVjEzlz
2017-07-17 21:00:46 -07:00
Manish Goregaokar
a0cec6421f Bug 1367904 - Part 5: stylo: Make GetBaseComputedValuesForElement return a style context; r=bholley
MozReview-Commit-ID: K5WpWc26xNZ
2017-07-17 21:00:32 -07:00
Hiroyuki Ikezoe
b9836375ec Bug 1371450 - Rename TraversalRestyleBehavior::ForAnimationOnly to TraversalRestyleBehavior::ForThrottledAnimationFlush. r=birtles,emilio
ForAnimationOnly is somewhat misleading, it means actually we process
*only* animation-only restyle without normal restyle. The purpose of
ForAnimationOnly is for updating throttled animations to get correct position
of the animations when we need to handle events. Currently we do also update
unthrottled animations though.

MozReview-Commit-ID: HBCCluKrZs9
2017-07-15 13:08:47 +09:00
Xidorn Quan
50f4fc557b Bug 1378287 - Skip parent-display-based display type fixup for all anonymous boxes. r=bz
MozReview-Commit-ID: C4R3sVl83jJ
2017-07-05 16:21:10 +10:00
Cameron McCormack
5c7395795f Bug 1376964 - Part 9: Use gfxFontSrcPrincipal in the user font set and cache. r=jfkthame
MozReview-Commit-ID: LRRFbkhbgts
2017-07-08 18:00:24 +08:00
Cameron McCormack
204525bf4b Bug 1376964 - Part 4: Call FontLoadAllowed ahead of time and cache the results for style worker threads. r=jfkthame
Handling a document's node principal changing is done in part 9.

MozReview-Commit-ID: 1gPtRpddys5
2017-07-07 13:35:28 +08:00
Carsten "Tomcat" Book
1dcab108c9 Backed out changeset 6bfb66a2c03e (bug 1376964) 2017-07-12 12:41:35 +02:00
Carsten "Tomcat" Book
6bfe8c71d0 Backed out changeset 041b34959d76 (bug 1376964) 2017-07-12 12:41:25 +02:00
Cameron McCormack
53b3613e5e Bug 1376964 - Part 9: Use gfxFontSrcPrincipal in the user font set and cache. r=jfkthame
MozReview-Commit-ID: LRRFbkhbgts
2017-07-12 16:36:42 +08:00