Commit Graph

237 Commits

Author SHA1 Message Date
Xidorn Quan
c9a1c4a65c Bug 1407888 part 2 - Make ServoStyleRuleMap::FillTableFromStyleSheet not make unique inner. r=heycam
MozReview-Commit-ID: 1I7sawfjcnl
2017-10-12 18:56:02 +11:00
Phil Ringnalda
5f2bcd264d Backed out 2 changesets (bug 1407888) for aSheet->HasUniqueInner() assertion failures
CLOSED TREE

Backed out changeset 50e535750cc9 (bug 1407888)
Backed out changeset e1287860a439 (bug 1407888)

MozReview-Commit-ID: 8UHuO8Fz0pL
2017-10-12 19:59:50 -07:00
Xidorn Quan
8dc12d7dcf Bug 1407888 part 2 - Make ServoStyleRuleMap::FillTableFromStyleSheet not make unique inner. r=heycam
MozReview-Commit-ID: 1I7sawfjcnl
2017-10-12 18:56:02 +11:00
Hiroyuki Ikezoe
f9c63e1497 Bug 1407463 - Drop unused pseudo atom argument from GetBaseContextForElement. r=heycam
MozReview-Commit-ID: JJ2Jh1I6y4h
2017-10-11 10:00:37 +09:00
Hiroyuki Ikezoe
f50a03dd72 Bug 1407463 - Drop unused pseudo atom argument from ResolveStyleLazily and ResolveStyleLazilyInternal. r=heycam
MozReview-Commit-ID: Lmjqbr7QsTU
2017-10-11 10:00:28 +09:00
Hiroyuki Ikezoe
f0a38025cf Bug 1329169 - Use atom for animation-name property. r=xidorn
MozReview-Commit-ID: 9yVWXVi1oXf
2017-10-10 17:00:28 +09:00
Nicholas Nethercote
7dbfdaf890 Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP
2017-10-03 09:05:19 +11:00
Hiroyuki Ikezoe
0f37fa04d1 Bug 1406284 - Remove unused parent context argument. r=heycam
MozReview-Commit-ID: A1yIOZ1bWjY
2017-10-06 13:51:02 +09:00
Bobby Holley
b1404a6cc6 Bug 1403397 - Revert: Add a testing API. r=bholley
This reverts commit 4194b7dd8ec748c044a9b8b0967fd9d652ea342c.
2017-10-03 14:05:56 -07:00
Bobby Holley
9176b13fd1 Bug 1403397 - Add a testing API. r=bz,r=Manishearth
This will allow us to verify the entire detection pipeline in real nightly
builds, which will give us confidence that real heap corruption will be
detected and reported properly.

MozReview-Commit-ID: 43Fp2HT8RYy
2017-09-28 18:23:15 -07:00
Emilio Cobos Álvarez
aa36c63d88 Bug 1403078: Lazily tweak the traversal root to account for sibling invalidations. r=heycam
MozReview-Commit-ID: Ij3nMOKu5FO
2017-09-26 14:20:11 +02:00
Bobby Holley
f468a30435 Bug 1400435 - Use a more precise check in the nsCSSValue destructor. r=xidorn
MozReview-Commit-ID: KFdgtxyOZ01
2017-09-19 22:53:23 -07:00
Nicholas Nethercote
7ba62ed662 Bug 1400078 - Measure the UA cache. r=njn.
ServoStyleSetSizes now has two uses, one for the Stylist, and one for the UA
cache, and so the patch removes 'Stylist' from the field names.

Example output from about:memory:

> +----1,359,608 B (00.55%) -- layout
> |    +----756,488 B (00.31%) -- style-sheet-cache [2]
> |    +----393,968 B (00.16%) -- servo-ua-cache
> |    |    +--234,496 B (00.10%) -- element-and-pseudos-maps
> |    |    +---59,648 B (00.02%) -- revalidation-selectors
> |    |    +---58,320 B (00.02%) -- invalidation-map
> |    |    +---30,752 B (00.01%) -- other
> |    |    +---10,752 B (00.00%) -- precomputed-pseudos

MozReview-Commit-ID: 8oxuJO0ojp
2017-09-19 09:25:00 +10:00
Bobby Holley
56f2a7aacc Bug 1397500 - Disable the ActiveElementUsesStyle optimization for stylo. r=emilio
MozReview-Commit-ID: 20aqaFv9fxE
2017-09-06 15:30:53 -07:00
Ting-Yu Lin
e92df4e2f8 Bug 1396700 - Add a method to ServoStyleSet for creating XBL style set. r=xidorn
The motivation of this patch is that clearing mPresContext should be an
implementation detail of XBL style set, so I create a method for that, and
remove ClearPresContext().

MozReview-Commit-ID: Ftta0rcAqu6
2017-09-01 16:45:39 +08:00
Ting-Yu Lin
06d158c02d Bug 1396700 - Remove ServoStyleSet::UpdateStyleSheet(). r=xidorn
This is no longer used.

MozReview-Commit-ID: G7cUcz9CKeQ
2017-09-01 17:12:58 +08:00
Ting-Yu Lin
8be84b02e9 Bug 1382078 Part 4 - Avoid unneeded restyle when XBL styleset is utilized by different PresContext. r=emilio
This fixed layout/style/test/test_media_queries_dynamic.html after Part 3 is added.

MozReview-Commit-ID: 7ZpSunCnkIc
2017-09-04 17:57:00 +08:00
Ting-Yu Lin
0ff1df05f0 Bug 1382078 Part 3 - Support media changes for XBL stylesheets. r=emilio
MozReview-Commit-ID: EJp8EMyanBT
2017-09-02 15:25:45 +08:00
Sebastian Hengst
0740ac72b8 Backed out changeset b49d8d47c3f1 (bug 1382078) 2017-09-02 20:43:36 +02:00
Ting-Yu Lin
33901209b6 Bug 1382078 Part 3 - Support media changes for XBL stylesheets. r=emilio
MozReview-Commit-ID: EJp8EMyanBT
2017-09-02 15:25:45 +08:00
Emilio Cobos Álvarez
3945d65e27 Bug 1395351: Use the parallel traversal flag more often. r=bholley
MozReview-Commit-ID: JF6i0HDniR2
2017-09-01 19:28:57 +02:00
Emilio Cobos Álvarez
f5e5f14adc Bug 1374235: style: Remove the for reconstruction traversals. r=bholley
One less hack, a few more to go.

MozReview-Commit-ID: 6katL1EGn2U
2017-09-01 18:46:23 +02:00
Sebastian Hengst
298dd9aea9 Backed out changeset 35afffcb4182 (bug 1374235) for build bustage because it landed before its servo commit. r=backout 2017-09-01 14:07:47 +02:00
Emilio Cobos Álvarez
292a358f1c Bug 1374235: style: Remove the for reconstruction traversals. r=bholley
One less hack, a few more to go.

MozReview-Commit-ID: 6katL1EGn2U
2017-09-01 13:16:09 +02:00
Emilio Cobos Álvarez
a291267a13 Bug 1384232: Let ServoStyleset know what its purpose is. r=TYLin
MozReview-Commit-ID: IwC6FcxhYMT
2017-08-31 22:50:24 +02:00
Nicholas Nethercote
d79886e790 Bug 1394729 - Measure memory usage of Stylo's Rule Tree. r=heycam.
This patch splits up the existing "layout/style-sets" measurement into
"layout/gecko-style-sets", or "layout/servo-style-sets/stylist/rule-tree" and
"layout/servo-style-sets/other". (Additional things will be measured under
"layout/servo-style-sets/" later, such as cascade data.)

This requires introducing a new type, ServoStyleSetSizes, for transferring the
multiple measurements from Rust code to C++ code.

MozReview-Commit-ID: FbmzpsjBpgI
2017-08-30 18:21:26 +10:00
Nazım Can Altınova
5e5b68d3c7 Bug 1355721 - stylo: Implement font feature values lookup r=emilio,xidorn
MozReview-Commit-ID: 7wgQ1NCn7vL
2017-08-23 18:05:53 -07:00
Gregory Szorc
336b6b8347 Backed out changesets b749fc196a50, 2791eac8d760 (bug 1355721) for build bustage
CLOSED TREE
2017-08-24 20:30:17 -07:00
Nazım Can Altınova
639d0c6171 Bug 1355721 - stylo: Implement font feature values lookup r=emilio,xidorn
MozReview-Commit-ID: 7wgQ1NCn7vL
2017-08-23 18:05:53 -07:00
Ting-Yu Lin
9f26d69b91 Bug 1388165 - Clear mPresContext after creating XBL styleset. r=xidorn
MozReview-Commit-ID: VBmKMTt8lc
2017-08-22 14:46:25 +08:00
Cameron McCormack
df36bd6124 Bug 1382925 - Part 3: Pass in relevant origin when style sheet rules change and when author styles are toggled. r=emilio
MozReview-Commit-ID: EGEnUBAvVyX
2017-08-12 18:49:01 +08:00
Cameron McCormack
d8e490ca16 Bug 1382925 - Part 1: Make Servo_StyleSet_NoteStyleSheetsChanged take a set of origins to dirty. r=emilio
MozReview-Commit-ID: KY29REU78tH
2017-08-12 18:19:22 +08:00
Hiroyuki Ikezoe
67fbc6ef1e Bug 1388031 - Cleanup code that was used for verifying styling results for throttled animation flush in post traversal. r=bholley
Now that we do process normal traversal even in the case of throttled animation
flush so that we don't need to do special handling for the case.

Note about the comment in has_current_styles():
the remaining animation hints is not caused by either this patch or the
previous patch in this patch series, it's been there in the first place, but
it should be fixed somehow later. See bug 1389675.

MozReview-Commit-ID: JojHufxNCiS
2017-08-11 20:34:08 -07:00
Hiroyuki Ikezoe
20b1e23fbf Bug 1388031 - Process normal traversal for throttled animation flush as well. r=bholley
MozReview-Commit-ID: BirD8BDMifp
2017-08-11 20:34:06 -07:00
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
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
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
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
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
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
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
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
836931eee3 Bug 1382017 part 2 Gecko piece - Remove usage of ServoComputedValues from binding functions; r=xidorn
MozReview-Commit-ID: 3KygTIIMVvF
2017-07-18 23:17:34 -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