Граф коммитов

234 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez 2a42c4ed18 Bug 1457920: Merge ServoStyleSheet and StyleSheet. r=xidorn
These are the most minimal changes I could make. More cleanups incoming.

MozReview-Commit-ID: AdMOA1acQIH
2018-05-02 04:13:10 +02:00
Emilio Cobos Álvarez adc46229a3 Bug 1018269: Handle Shadow DOM in keyframes lookup. r=heycam
MozReview-Commit-ID: AeUmsOHOUYR
2018-05-01 13:01:23 +02:00
Emilio Cobos Álvarez ec2824c99f Bug 1452143: Make InspectorUtils.getAllStyleSheets handle Shadow DOM, and also optionally not return UA / User sheets. r=bholley
We don't want to reparse over and over shared sheets, and that confused code
pretty heavily.

MozReview-Commit-ID: 7qkXoCoPNFW
2018-04-17 11:23:36 +02:00
Emilio Cobos Álvarez b508e66696 Bug 1447827: Move members from ServoRestyleManager to RestyleManager. r=xidorn
This leaves ServoRestyleManager as just a typedef.

MozReview-Commit-ID: 5wfTkiDc2Nr
2018-04-07 15:40:00 +02:00
Xidorn Quan d7f3530f07 Bug 1449068 part 2 - Use Servo data to back @counter-style rule. r=emilio
This patch basically does:
* Add descriptor setters and generation count to CounterStyleRule in
  Servo. (This code is mostly based on the old code inside
  nsCSSCounterStyleRule for handling mutation.)
* Use RawServoCounterStyleRule in CounterStyleManager.
* Add ServoCounterStyleRule and remove nsCSSCounterStyleRule.

Test change:
* "fixed" was parsed as and thus serialized to "fixed 1", but Servo
  doesn't do so. It preserves whether the number presents. Either way
  is probably fine.

MozReview-Commit-ID: EtKTeu32isi

--HG--
extra : rebase_source : ec44f01c581003ce4b6ef69435a05de7f3da5469
2018-04-05 08:41:28 +10:00
Emilio Cobos Álvarez a4433a4de8 Bug 1420680: Rework how the loadability of font-faces is computed. r=jfkthame,bz
This reworks bug 1440561 so that we only precompute loads that belong to our
user font set, avoiding messing up with fonts in the cache that belong to other
pages.

The loadability of a font is precomputed in PreTraverse in the same way as we
did, but only for the fonts that we may end up loading. This is stored in
FontFaceSet now.

Also, the principal shenanigans that this code did are reworked to be explicit
about when the document principal changes in ResetToURI, instead of having a
member around and a mutable variable. This makes the code easier to follow.

MozReview-Commit-ID: 9ofTbaLDUF7
2018-04-03 16:22:43 +02:00
Xidorn Quan d026c664c3 Bug 1449400 part 4 - Split some inline functions from ServoStyleSet.h into an Inlines header. r=emilio
To remove the dependency from ServoStyleSet.h to ServoBindings.h.

MozReview-Commit-ID: 6YJ71AnQklL

--HG--
extra : rebase_source : 20e1ead4438f3e3e457af2a4ae4e614992b5f050
extra : source : 53aae6abf7482d4366b66fc8b14d89bf762c19f3
2018-03-29 22:15:46 +11:00
Xidorn Quan b332985cd4 Bug 1449400 part 3 - Remove ServoStyleSet::RecordStyleSheetChange and its trivial callsites. r=emilio
It is no longer used, and removing this from ServoStyleSet allows us to
remove dependency from ServoStyleSet.h to StyleSheetInlines.h.

MozReview-Commit-ID: HzYNulJF7tf

--HG--
extra : rebase_source : f54811369fd7af27b2ee61d54143726e473c6640
extra : source : f872ca0df2d0a71508eeba67c2b922b87bdcbe01
2018-03-29 22:15:46 +11:00
Xidorn Quan 3181988f2e Bug 1449400 part 2 - Remove some dependencies from ServoStyleSet.h and add some random stuff to fix breakage. r=emilio
Some of the definitions are needed for the headers removal in
following patches.

MozReview-Commit-ID: BCj7U7RgBLj

--HG--
extra : rebase_source : e8e437f76c4db6ec930ea0481b6c1a38129a5477
extra : source : a1c42220e5070fa4beea438859ab0daec3f3fe7b
2018-03-29 22:15:46 +11:00
Emilio Cobos Álvarez 87edb889e1 Bug 1448665: Simplify the unanimated style setup in nsComputedDOMStyle. r=xidorn
We never create nsComputedDOMStyle objects with an unanimated computed style, so
this can be much simpler.

MozReview-Commit-ID: 2NyBoErxRtV
2018-03-26 09:43:58 +02:00
Emilio Cobos Álvarez e341b20ec4 Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt on a CLOSED TREE
MozReview-Commit-ID: JPopq0LudD
2018-03-22 20:06:24 +01:00
Emilio Cobos Álvarez 5dd797f154 Back out changeset b683bb3f22a1 (Bug 1447483) for not landing with all the files. r=me on a CLOSED TREE
This reverts commit 1808914126bb9f9e4a82d2c3d7ac961885fe7d62.

MozReview-Commit-ID: 5skESBseEvo
2018-03-22 20:05:22 +01:00
Emilio Cobos Álvarez ca5ac79cca Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt
MozReview-Commit-ID: JPopq0LudD
2018-03-22 19:48:42 +01:00
Emilio Cobos Álvarez 87089c18e5 Bug 1447476: Inline ResolveServoStyle. r=xidorn
We already pay a function call for it, no point in paying two.

MozReview-Commit-ID: 4odPqnPfrNF
2018-03-21 17:23:15 +01:00
Emilio Cobos Álvarez ebdc39ab30 Bug 1447476: Simplify ResolveStyleContext. r=xidorn,bz
We don't need the parent style context, nor the pseudo-element dance or anything
like that. All end up in the same place, Servo_ResolveStyle.

We cannot assert for text style resolution because of non-lazy frame
construction, and we cannot remove non-lazy frame construction because of XBL.

This is effectively the same code, since the old code passed the parent style
around from the frame tree / display contents map, which didn't have a similar
assertion either...  Slow steps.

I'll improve and cleanup LazyFC in bug 1447506.

MozReview-Commit-ID: Ck4RCoFLGOi
2018-03-21 17:22:56 +01:00
Emilio Cobos Álvarez cc5a1b6c85 Bug 1439224: Make shadow root style changes not restyle the whole document. r=xidorn
Also, make them not rebuild the CascadeData synchronously, via the
FlushSkinSheets call, since that's broken. That fixes bug 1413119.

This is a little step in getting rid of XBL usage for Shadow DOM.

MozReview-Commit-ID: HJ7FeUZlRTW

--HG--
extra : rebase_source : 0fcd0ed461856c1e87e45ef63c9e1d2e81281469
2018-02-18 14:35:57 +01:00
Emilio Cobos Álvarez c37c40b47d Bug 1436059: Cleanup a bit after ourselves. r=xidorn
on a CLOSED TREE

MozReview-Commit-ID: DWWmdtigIkk
2018-02-16 16:56:26 +01:00
Emilio Cobos Álvarez 66f99f62bd Bug 1436798: style: Move author-style-disabled handling to push_applicable_declarations. r=bholley
This will make it easier to handle it properly for Shadow DOM, though this patch
doesn't do that.

This also makes some method inline and infallible for convenience, since nobody
checks the errors anyway.

MozReview-Commit-ID: Hq3erAUs5tf
2018-02-10 00:36:53 +01:00
Emilio Cobos Álvarez c2f6e9ff37 Bug 1435939: Process all the MediumFeatureChanges at the same time. r=xidorn
This avoids resetting the computed values all the time, and paves the way to
avoid using a StyleSet on XBL bindings / Shadow DOM, which we should really
really do because it's super overkill.

There are some XBL bits that are kind of hacky, in particular the mStylistDirty,
but they'll go away soon, since I want to redo how we store styles in XBL.

The alternative, which was returning an array of indices or something was even
more hacky I think.

MozReview-Commit-ID: 6tEl5gebXVF
2018-02-07 15:27:56 +01:00
Emilio Cobos Álvarez ee4bdd20be Bug 1435939: Propagate the media feature change reason around. r=xidorn
Just some argument shuffling and such.

MozReview-Commit-ID: vPFoU2DUXb
2018-02-07 15:27:46 +01:00
Bobby Holley 0babee3ba1 Bug 1418161 - Hoist IsInServoTraversal into ServoUtils. r=emilio
This will allow us to invoke it from nsAttrValueInlines.h, which can't
include ServoStyleSet.h due to circular dependencies.

MozReview-Commit-ID: BgC7ExyWRn7
2018-01-30 14:11:03 -08:00
Emilio Cobos Álvarez af5c08c014 Bug 1409672: Handle document state changes using the invalidation machinery. r=xidorn
MozReview-Commit-ID: EoSMrYPS7dl
2018-01-22 17:57:05 +01:00
Emilio Cobos Álvarez e06ff3dbe2 Backout changeset b54c60961def (Bug 1409672) for failing one OSX reftest on a CLOSED TREE. r=backout
MozReview-Commit-ID: 6ZHlFBpMOUo
2018-01-17 23:09:38 +01:00
Emilio Cobos Álvarez e191632bd8 Bug 1409672: Hook in the invalidator stuff. r=xidorn
MozReview-Commit-ID: EoSMrYPS7dl
2018-01-17 21:51:53 +01:00
Emilio Cobos Álvarez 480dcc7f05 Bug 1428491: Remove redundant mBindingManager member in ServoStyleSet. r=heycam
MozReview-Commit-ID: KMiivgik0fr
2018-01-17 19:12:45 +01:00
Emilio Cobos Álvarez ae38d1cb24 Bug 1428491: Make the style set know about a document, not a pres context. r=heycam
MozReview-Commit-ID: I7T41NiHuJv
2018-01-17 19:12:40 +01:00
Andreea Pavel c98c2f7291 Backed out 2 changesets (bug 1428491) for failing browser chrome mochitest at /builds/worker/workspace/build/src/layout/style/ServoStyleSet.cpp:941 on a CLOSED TREE
Backed out changeset 308e79e6c98f (bug 1428491)
Backed out changeset dbfd798e491b (bug 1428491)
2018-01-16 14:26:41 +02:00
Emilio Cobos Álvarez 4ce67178eb Bug 1428491: Remove redundant mBindingManager member in ServoStyleSet. r=heycam
MozReview-Commit-ID: KMiivgik0fr

--HG--
extra : rebase_source : 9cb1181c2b3c1fd5274af3d53042fa3a0966ad10
2018-01-05 20:17:26 +01:00
Emilio Cobos Álvarez bde9657140 Bug 1428491: Make the style set know about a document, not a pres context. r=heycam
MozReview-Commit-ID: I7T41NiHuJv

--HG--
extra : rebase_source : 4642cf6f511f5c4e5ba285e2e865574a44459081
2018-01-05 13:51:08 +01:00
Emilio Cobos Álvarez 8e7a2e8d51 Bug 1422634: followup: fix typo in the comment. r=comment-only
DONTBUILD

MozReview-Commit-ID: FG6XfLAKGcs
2017-12-04 11:40:46 +01:00
Emilio Cobos Álvarez b8ef336994 Bug 1422634: Avoid sheet notifications to dereference a null restyle manager. r=heycam
MozReview-Commit-ID: 2BLUCEqnRDG

--HG--
extra : rebase_source : 00c701e6842d984f1508be93f77c1f8aebd96090
2017-12-04 11:22:33 +01:00
Emilio Cobos Álvarez 5604b99826 Bug 1420762: Make StyleSheets notify directly to their StyleSets. r=heycam
This also makes the rule map not process all the stylesheets for the document,
which would be a mess with shadow DOM.

Far from the final, ideal state, but hey, progress.

MozReview-Commit-ID: 7TrifME9VZ
2017-12-01 08:46:39 +01:00
Jeremy Chen 6096d1b540 Bug 1418433 - move the implementation of SetStylistStyleSheetsDirty to .cpp file. r=heycam
This is a pre-patch for the real fix of Bug 1418433.

In the real fix, we'll add a IncrementUndisplayedRestyleGeneration() call into
SetStylistStyleSheetsDirty(). However, the IncrementUndisplayedRestyleGeneration()
call needs get through some deep structures in nsPresContext, RestyleManager,...
etc., and doing so means we need to move bunches of related include files, forward
declarations, from .cpp file to .h file, which doesn't make sense.

Instead, we move the implementation parts of SetStylistStyleSheetsDirty() to .cpp
file (since it is now a bit more complicated than it was), so we can use the existing
include files in the .cpp file to add IncrementUndisplayedRestyleGeneration() call
(this is in a following patch).

MozReview-Commit-ID: 3Vp9qyCf8NA

--HG--
extra : rebase_source : 16386256e16a2ca98bf988d66d861cbea58490a3
2017-11-29 10:56:15 +00:00
Hiroyuki Ikezoe 33e7b8838f Bug 1418867 - Pass element or pseudo element to Servo_StyleSet_GetBaseComputedValuesForElement(). r=emilio
MozReview-Commit-ID: Ae3iZ6g3x3c

--HG--
extra : rebase_source : 8d07ac08d63cfdb96cb07a73ed86b268d6b5026e
2017-11-22 11:03:40 +09:00
Emilio Cobos Álvarez ebfcd1dbd3 Bug 1414999: Synchronously clean style data from the DOM tree when the shell goes away. r=bz
There's nothing preventing the flat tree from changing while the document
doesn't have a shell. In that case, we really really don't want to lose track
of elements with stale style data, since then we'll mess up.

It's ok to _not_ clear the style data when the document goes into the BFCache
though, because the document is thrown away if other document runs script and
touches the cached DOM.

MozReview-Commit-ID: 4W3xDAnnLPL
2017-11-20 22:11:23 +01:00
Emilio Cobos Álvarez 6de5cb4bf8 Bug 1418456: Get rid of unstyled children only traversals. r=heycam
They're useless now, provided we remove the hack to not traverse XBL-bound
elements on initial styling.

This also allows us to get rid of the fallback case.

MozReview-Commit-ID: AvBVdyF1wb6
2017-11-20 13:05:35 +01:00
Emilio Cobos Álvarez 3d003a48ea Bug 1418456: Clear subtree element data when applying an XBL binding. r=heycam
We not only need to care about children getting inserted in the flat tree, but
also about children moving _out_ of the flat tree.

In particular, as of right now we may leave stale data on elements when they
disappear from the flattened tree.

We're lucky enough that in 99% of the situations we enter in[1] and that clears
all the stuff, including servo data. But my assertions for bug 1414999 caught
the template / observes case.

Thus, just clear the whole bound element subtree data, and restyle it in the
end, no need for StyleNewChildren. This matches what we do for shadow DOM
(though in the shadow DOM case we do it async in DestroyFramesForAndRestyle).

[1]: https://searchfox.org/mozilla-central/rev/9bab9dc5a9472e3c163ab279847d2249322c206e/dom/xbl/nsXBLBinding.cpp#368

MozReview-Commit-ID: 69A0aR0AFfU
2017-11-20 13:02:24 +01:00
Xidorn Quan ffd1cf2956 Bug 1417220 - Force re-resolve style for doc element when binding requires so. r=emilio
MozReview-Commit-ID: DdbpZnk7tCZ

--HG--
extra : rebase_source : 4672e37ea037d07651cd5cf5a136b9a38fedb3f2
2017-11-15 15:39:29 -08:00
Emilio Cobos Álvarez 0e8ba9b1b5 Bug 1408308: Reland the bindings so the build isn't busted, but we don't need to backout the servo bits. r=me
That way we don't bust the build (for some reason the ASAN build choked in
ResponsiveImageSelector, I suspect due to missing includes).

MozReview-Commit-ID: 6I6Q7jiAFr0
2017-11-13 06:33:46 +01:00
Margareta Eliza Balazs 85280dc48c Backed out 1 changesets (bug 1408308) for bustage in [toolkit/library/target] r=backout on a CLOSED TREE
Backed out changeset b59ffea83e0a (bug 1408308)
2017-11-13 07:23:52 +02:00
Emilio Cobos Álvarez 58aae7a733 Bug 1408308: Integrate Servo SourceSizeList in ResponsiveImageSelector. r=Manishearth
This needs to dumb down the parsing in order to match what we do in Gecko and
pass more tests.

The remaining tests are just because of calc() in media queries and "or" media
expressions.

MozReview-Commit-ID: CXGdYVbojBL
2017-11-13 05:18:36 +01:00
Xidorn Quan 2ddfdf43a2 Bug 1412714 - Don't clone inner of XBL stylesheet in Servo. r=bz
MozReview-Commit-ID: Kzrod3SBt1k

--HG--
extra : rebase_source : 4cf96063f372ffbeb6aabde396ef9fd9f547bcb7
2017-10-30 15:16:20 +11:00
Cameron McCormack 1e2c9293c6 Bug 1390694 - Part 1: Add ServoStyleSet function for checking document state dependencies. r=emilio
MozReview-Commit-ID: G8Ju8yHtYx6

--HG--
extra : rebase_source : 11f25c9b9b9a45144170ff9e563e52577ca8cea2
extra : source : 38302acda5cdb8a808ee80430488d83527a415ff
2017-11-01 21:20:39 +11:00
Attila Craciun 03687d95f5 Backed out 4 changesets (bug 1390694) for failing crash test and in reftest/tests/layout/reftests/xul/mac-tab-toolbar.xul r=backout on a CLOSED TREE.
Backed out changeset b9cff3469bfd (bug 1390694)
Backed out changeset e13dd2a3651f (bug 1390694)
Backed out changeset 83ff9e245757 (bug 1390694)
Backed out changeset 484a2644318f (bug 1390694)
2017-10-20 14:49:52 +03:00
Xidorn Quan e175680895 Bug 1397644 part 1 - Implement XUL tree pseudo style resolution for stylo. r=emilio
MozReview-Commit-ID: 5JqvLv3tt5m

--HG--
extra : source : 23a7db4b7938b095947abeb41edb0cb6375f95da
2017-10-20 21:31:13 +11:00
Cameron McCormack 2559396ff5 Bug 1390694 - Part 1: Add ServoStyleSet function for checking document state dependencies. r=emilio
MozReview-Commit-ID: G8Ju8yHtYx6

--HG--
extra : rebase_source : fc55dfaa52acf490b65650a7101188115a6e4f18
2017-10-18 17:26:08 +08:00
Boris Chiou a43997fa7b Bug 1303235 - Part 1: Add ResolveServoStyleByAddingAnimation. r=hiro
We need to create a temporary ServoStyleContext with the animation value for
calculating the Cumulative change hints.

MozReview-Commit-ID: JzArnaGqVeV

--HG--
extra : rebase_source : 2947910e07f0aab6b385ca60cef927966d15bcf6
2017-10-19 10:51:55 +08:00
Xidorn Quan c2366649a6 Bug 1407888 part 2 - Make ServoStyleRuleMap::FillTableFromStyleSheet not make unique inner. r=heycam
MozReview-Commit-ID: 1I7sawfjcnl

--HG--
extra : rebase_source : 41667c3ff9ef52509b21cdff6495dbe9b85ab1af
2017-10-12 18:56:02 +11:00
Phil Ringnalda e83e2ad1b0 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 75fcad8ea7 Bug 1407888 part 2 - Make ServoStyleRuleMap::FillTableFromStyleSheet not make unique inner. r=heycam
MozReview-Commit-ID: 1I7sawfjcnl

--HG--
extra : rebase_source : 620cc19b3826d557e5a255b1bee2417b073da799
2017-10-12 18:56:02 +11:00