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

61 Коммитов

Автор SHA1 Сообщение Дата
Hiroyuki Ikezoe 51d6b62cb0 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

--HG--
extra : rebase_source : 343dee682096b75cd7f905db7207823f7e3624b5
2017-04-15 07:37:35 +09:00
Hiroyuki Ikezoe a7215d7152 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

--HG--
extra : rebase_source : b94a3a8723fe53f38eb6144a5926dec3d7796e72
2017-04-15 07:37:34 +09:00
Brad Werth e50d5d4bbe Bug 1341721 Part 1: ServoStyleSet implementation of SetAuthorStyleDisabled. r=heycam
MozReview-Commit-ID: Bd0TJDfcj94

--HG--
extra : rebase_source : c5904f67f4303e14a785d0526190e51bc987f4c9
2017-04-11 15:43:14 +08:00
Emilio Cobos Álvarez 16cd642c17 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 c54a8b6198 Bug 1353948 - Add SizeOfIncludingThis() methods to ServoStyle{Set,Sheet,SheetInner}. r=heycam.
This fills things in a bit more on the Gecko side.

--HG--
extra : rebase_source : a7cd16969fa0ce06f7d9e39f83d67bf3bd472ea4
2017-04-06 12:22:36 +10:00
Cameron McCormack 12cc9ae143 Bug 1351535 - Part 6: Add ServoStyleSet::StyleSubtreeForReconstruct. r=bholley
MozReview-Commit-ID: CovU36o4lAV

--HG--
extra : rebase_source : d1b990032dcf5438823316f2934bf59a1babd337
2017-04-04 19:34:30 +08:00
Cameron McCormack 9ce0d4d3d2 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

--HG--
extra : rebase_source : cb3537cea26cb9805b2ec1556cf5ca6eb9d38ab8
2017-04-08 22:57:08 +08:00
Hiroyuki Ikezoe 3f28d7ec76 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

--HG--
extra : rebase_source : 507a8dd74961e7f439b90fd4c5f90a98706aa434
2017-04-06 10:34:50 +09:00
Xidorn Quan be843c7162 Bug 1345696 part 7 - Provide @font-face rules for stylo backend. r=heycam
MozReview-Commit-ID: CHPxz7iOLg6

--HG--
extra : rebase_source : 56371228e08b1accbdd30f738622bc211e6daee8
2017-03-27 17:53:27 +11:00
Xidorn Quan 082e026668 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

--HG--
extra : rebase_source : cef91018964b5488c5031df8aada90aa7fa0ad51
2017-03-28 20:05:12 +11:00
Cameron McCormack c4f1f8e321 Bug 1350671 - stylo: Allow resolving out of date styles when explicitly reconstructing frames for an element. r=bholley
MozReview-Commit-ID: 7w9pehHNXQ

--HG--
extra : rebase_source : 1476b4397a4384046c324f0176ecd9f699b026bd
2017-03-28 15:31:41 +08:00
Iris Hsiao 5bed2bfda5 Backed out changeset 6e4ccddb5c4b (bug 1350671) for build bustage 2017-03-28 15:23:59 +08:00
Cameron McCormack e945f00cd0 Bug 1350671 - stylo: Allow resolving out of date styles when explicitly reconstructing frames for an element. r=bholley
MozReview-Commit-ID: A7ssy7ygWLh

--HG--
extra : rebase_source : 7f8fa109f1a739b68525e3ff662024267189d93f
2017-03-28 13:46:59 +08:00
Bobby Holley cbcf9903c7 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 681045b70e Bug 1341086 - Part 2: stylo: Support all non-ts pseudos with an argument; r=emilio,heycam
MozReview-Commit-ID: IHjX2Q3k8eD

--HG--
extra : rebase_source : 57df0f0e54fd1aa1ce4b304238c7070ef9af6dd4
2017-03-16 14:10:22 -07:00
Boris Chiou 5fdc3654b4 Bug 1349124 - Replace ServoComputedStyleValues with ServoComputedValuesWithParent. r=hiro
MozReview-Commit-ID: 5POa8DRjmc8

--HG--
extra : rebase_source : 5a88f1c30c32dcd6bb728707c066a4b8becfc311
2017-03-21 15:41:23 +08:00
Emilio Cobos Álvarez fb3b444270 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 964a12c306 Bug 1345362 part 4. Rename ResolveAnonymousBoxStyle to ResolveInheritingAnonymousBoxStyle. r=heycam
MozReview-Commit-ID: GVA1fTh0RDv

--HG--
extra : rebase_source : 4333baf6764f346d68836e387fa002705684bfdd
2017-03-08 23:50:28 -05:00
Boris Zbarsky b537f110e2 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

--HG--
extra : rebase_source : fcf477dcef8529c803bf97b1d3a16f8f4fcea39f
2017-03-08 23:41:04 -05:00
Boris Zbarsky 767339fbd8 Bug 1345362 part 1. Use mozilla::EnumeratedArray for mNonInheritingStyleContexts. r=heycam
MozReview-Commit-ID: EddWYLSmfGL

--HG--
extra : rebase_source : c2cd37964b60c25ae2176098addfcbf94cad61a3
2017-03-08 23:39:45 -05:00
Hiroyuki Ikezoe 1761aeb22e Bug 1344619 - Part 4: Add ServoStyleSet::ResolveStyleLazily(). r=heycam
MozReview-Commit-ID: GvlD6lQYBQ6

--HG--
extra : rebase_source : 73baac118a3de04d88b565c61f853ec145d3d1e7
2017-03-09 05:20:17 +09:00
Hiroyuki Ikezoe 394a4a9b12 Bug 1344619 - Part 3: Kick EffectCompositor::PreTraverse(). r=heycam
MozReview-Commit-ID: HbBrQ7HZ8gf

--HG--
extra : rebase_source : 764ca245bd03ef5bc943c5814f53198141ad5b89
2017-03-09 05:20:17 +09:00
Boris Zbarsky f12067d36e Bug 1343078 part 7. Make placeholders a non-inheriting anon box. r=dbaron
MozReview-Commit-ID: 3kQQroDRlr8

--HG--
extra : rebase_source : 6b1c8e0c1f287532badedb50439e415f97a4cf81
2017-03-08 00:18:40 -05:00
Boris Zbarsky 71f35d2571 Bug 1343078 part 4. Add storage for the singleton non-inheriting anon box style contexts on style set. r=dbaron
MozReview-Commit-ID: 9OvEssf3J5o

--HG--
extra : rebase_source : 43856176ef02474c00b76a8e498ff7a926c92b23
2017-03-08 00:18:39 -05:00
Boris Zbarsky ca2ae1cf7a Bug 1343078 part 1. Give placeholders and first-letter continuations different kinds of anonymous boxes. r=dbaron
MozReview-Commit-ID: B5IHgVUo1Rp

--HG--
extra : rebase_source : d7eab69a0dbcf0a460a249d843c5510a470b5a04
2017-03-08 00:18:32 -05:00
Boris Chiou 921bec7548 Bug 1338087 - Part 2: Drop the computation of StyleAnimationValue on stylo. r=hiro
MozReview-Commit-ID: 4oAzC6m2vie

--HG--
extra : rebase_source : 139674c8059a918b6850b74e4bdeb8a49b4a2571
2017-02-10 15:51:00 +08:00
Cameron McCormack 53ffd368aa 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 f5bde33979 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 5b55368eda 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

--HG--
extra : rebase_source : 516d369a8627e413983361aaf85ccb7132b0a06c
2017-01-19 15:56:53 -08:00
Hiroyuki Ikezoe 5e33af310e Bug 1328787 - Part 13: Call nsAnimationManager.UpdateAnimations(). r=heycam
MozReview-Commit-ID: CcA3dJaxuYY
2017-01-29 12:59:00 +09:00
Hiroyuki Ikezoe 8d8004331b 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 1aed15b692 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
Bobby Holley 09ce7e77ed Bug 1325734 - Simplify ElementData and eliminate the concept of consuming styles. r=emilio 2017-01-09 11:50:16 -08:00
Boris Zbarsky 85a6ca2630 Bug 1298588 part 10, gecko piece. Pass through useful default styles to apply_declarations(). r=bholley 2017-01-04 14:52:27 -05:00
Boris Zbarsky eebd58fd31 Bug 1298588 part 7, gecko piece. Stop using initial_values in general in Gecko glue code. r=bholley 2017-01-04 14:52:27 -05:00
Boris Zbarsky 9f8934b143 Bug 1298588 part 4, gecko piece. Recreate the default computed values for a document as needed. r=bholley 2017-01-04 14:52:27 -05:00
Bobby Holley 533ab579fc Bug 1324627 - Add a special, explicit path for lazy style resolution and use it for GetComputedStyle. r=heycam 2016-12-28 15:49:12 +08:00
Phil Ringnalda afc1c72dd2 Backed out changeset 5986d8880ad1 (bug 1324627) for a variety of computed style failures
MozReview-Commit-ID: AMTshx423hQ
2016-12-27 21:34:45 -08:00
Bobby Holley dccae432a9 Bug 1324627 - Add a special, explicit path for lazy style resolution and use it for GetComputedStyle. r=heycam
MozReview-Commit-ID: ECnoeHYkpT
2016-12-28 11:33:18 +08:00
Bobby Holley 38fbeaa270 Bug 1325728 - Simplify pseudo-element handling. r=heycam 2016-12-23 19:23:52 -08:00
Cameron McCormack e9a3df412d Bug 1324341 - Part 2: Redo the cascade when CSSOM methods modify style sheets. r=xidorn
MozReview-Commit-ID: AIkwBaUlxD7
2016-12-19 14:30:14 +08:00
Bobby Holley 2207c01808 Bug 1322945 - Change skip_root to unstyled_children_only and use StyleNewChildren in more places. r=heycam
I noticed that our current behavior in ContentRangeInserted is incorrect. Unlike
ContentInserted (where this code lived originally), ContentRangeInserted takes a
start and end element. I'm not sure if we ever take that path for new content that
needs style, but it seemed sketchy. And generally, it seems nice to just always
style new content the same way (though we still need to style NAC by the subtree
root, since it hasn't been attached to the parent yet).

For situations where there is indeed only one unstyled child, the traversal
overhead should be neglible, since we special-case the single-element in
parallel.rs to avoid calling into rayon.

Being more explicit about what we want here also makes us more robust against
the other handful of callpaths that can take us into
nsCSSFrameConstructor::{ContentRangeInserted,ContentAppended}. Currently we
can call StyleNewSubtree on an already-styled element via RecreateFramesForContent,
which triggers an assertion in the servo traversal.

MozReview-Commit-ID: DqCGh90deHH
2016-12-12 18:39:33 -08:00
Bobby Holley f8c9d884fc Bug 1317016 - Basic infrastructure for RestyleHint-driven traversal. r=emilio
MozReview-Commit-ID: 7wH5XcILVmX
2016-11-25 10:06:39 -08:00
Xidorn Quan 0e7a21831d Bug 1311598 part 4 - Split binding types from ServoBindings.h into ServoBindingTypes, and merge ServoBindingHelpers into it. r=heycam
MozReview-Commit-ID: CKvBMOapqlI

--HG--
extra : rebase_source : 83531296b4b8a8a9c54f03953cab2a48e8c6cbad
extra : source : e1c6c680a4718619e1a4cbecd84cccac4101d69b
2016-10-24 20:16:46 +11:00
Xidorn Quan 1dc2955ab8 Bug 1304302 part 8 - Change include of {CSS,Servo}StyleSheet.h to StyleSheetInlines.h. r=heycam
It is a preparation for later patch which moves functions from those
classes into StyleSheet. Some of the functions are better defined in
StyleSheetInlines.h.

This commit is generated by the following command:

find . \( -name '*.h' -or -name '*.cpp' \) -not -name '*StyleSheet*' -exec sed -i -b \
  -e '/^#include/ s_/\(CSS\|Servo\)StyleSheet\.h_/StyleSheetInlines.h_' \
  -e '1,\_^#include "mozilla/StyleSheetInlines.h"_ ! { \_^#include "mozilla/StyleSheetInlines.h"_d }' {} +

MozReview-Commit-ID: 54H5x27Pmso

--HG--
extra : source : e4fe253a8f82c3c58e5191d6af66fb0e85f2df19
2016-09-26 22:03:25 +10:00
Bobby Holley ff780d017f Bug 1299348 - Remove StylingStarted(). r=emilio
StylingStarted is a kind of nebulous and not-very-useful concept. The concept
that _is_ useful is whether the presshell has been initialized or not, but the
root element may not exist at that point.

So we need to make sure we that we can trigger the initial document style in both
presshell initialized _and_ ContentInserted, which has the nice effect of handling
root element reinsertions.

We also take the opportunity to make StyleDocument assert the existence of a root
element, and align the responsibility for clearing the dirty descendant bits between
document and non-document nodes.
2016-08-31 10:32:42 -07:00
Bobby Holley 263669837b Bug 1292279 - Clear up the semantics of our Servo traversal APIs. r=heycam 2016-08-25 21:34:31 -07:00
Bobby Holley 64639661c1 Bug 1289620 - Hook up initial styling. r=heycam
Aside from the parser-side hacks, this should subsume all the current scattered
logic in the stylo tree to handle initial styling.
2016-07-27 09:44:25 -07:00
Emilio Cobos Álvarez 253dfd8aad Bug 1287951: stylo: Add support for computing style hints from Servo. r=heycam
MozReview-Commit-ID: ALuJxcfAMuL
2016-07-21 16:57:52 -07:00
Emilio Cobos Álvarez 1a49c35a07 Bug 1286445: stylo: Support restyles of non-pseudo content on state change. r=heycam
This includes, for example :hover.

Also removes the call to IsStyledByServo() in the document constructor, it's not
only unnecessary, but also we call UpdateStyleBackendType() too early.

MozReview-Commit-ID: 4YfCdmLoSxu
2016-07-16 16:22:12 -07:00