Commit graph

202 commits

Author SHA1 Message Date
Manish Goregaokar
1c23296d8a
stylo: Add support for <table> color quirk
MozReview-Commit-ID: 56IKARwfbhw
2017-04-04 21:17:04 -07:00
Xidorn Quan
35b638e50b Update binding files. 2017-04-03 22:02:58 +10:00
Xidorn Quan
e1fa699d6e Update binding files. 2017-04-03 14:30:35 +10:00
Manish Goregaokar
bfc2cc4ebf stylo: Include content rules from HTMLTableCellElement::WalkContentStyleRules
This also removes the TABLE_ATTRS_DIRTY optimization. Constructing nsMappedAttributes isn't really expensive and we do it all the time anyway.
2017-03-30 20:20:45 -07:00
Nazım Can Altınova
9991c496b3
Serialize unquoted font-family without quote 2017-03-30 23:40:23 +03:00
Xidorn Quan
5c9152e3df Update binding files. 2017-03-30 12:48:18 +11:00
Cameron McCormack
13c49606a4 stylo: Add argument to Servo_ResolveStyle to allow stale styles to be returned. 2017-03-28 15:32:35 +08:00
Hiroyuki Ikezoe
4183b0dff2 Introduce UpdateAnimationTasks to perform a bunch of animation's tasks in a SequentialTask.
The UpdateAnimationsTasks is a bitflags and each bit is generated from
Gecko's UpdateAnimationsTasks (enum class) values for matching values
between C++ and Rust. For this reason, the bitflags is annotated as
(feature = "gecko"), as a result update_animations() which uses this bitflags
also became gecko-only function.
2017-03-27 17:38:09 +09:00
Hiroyuki Ikezoe
0c843d4b7d Add an FFI to check that a given (pseudo-) element has any type of animations or not.
If an element has any type of animations in match_elements(), we need to call
UpdateEffectProperties() to update KeyframeEffectReadOnly::mProperties.
2017-03-27 17:32:18 +09:00
Nazım Can Altınova
494238ab29
Add support for -moz-image-rect 2017-03-25 21:58:36 +03:00
Manish Goregaokar
fddddc9711 stylo: Calculate font-size keywords based on base size
MozReview-Commit-ID: Ff6kt8RLChI
2017-03-24 10:54:06 -07:00
Bobby Holley
63e8367eee Don't resolve URLs at parse time for Stylo.
It's a bit unfortunate the use separate implementations of SpecifiedUrl for Servo
and Gecko, but they're different enough at this point that I don't think it really
makes sense to try to share everything. Splitting them out has some nice
simplifications as well.

I recognize that there's still some potential correctness issues for Servo using
the resolved URI in various places where the original URI may be the right thing,
but I've got too much on my plate to look into that for now.

MozReview-Commit-ID: BeDu93TQ4Ow
2017-03-22 19:11:30 -07:00
Matt Brubeck
dbfb3813f6 Bug 1337068 - stylo: :empty, :-moz-first-node, :-moz-last-node, and :-moz-only-whitespace. 2017-03-22 08:18:47 -07:00
bors-servo
cb1438e44f Auto merge of #15813 - canaltinova:will-change, r=upsuper,emilio
Implement parsing/serialization and glue for will-change property

Implement parsing/serialization  and glue for will-change property

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15706 (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/15813)
<!-- Reviewable:end -->
2017-03-21 21:56:23 -07:00
Manish Goregaokar
f2f832d1d9 stylo: Support all non-ts pseudos with an argument 2017-03-21 12:33:57 -07:00
Nazım Can Altınova
ea1e405500
Implement gecko glue for will-change 2017-03-21 21:10:07 +03:00
Boris Chiou
30f44da11c Bug 1343153 - Replace pointer to const with immutable reference for nsTimingFunction. 2017-03-21 16:35:07 +08:00
Boris Chiou
708f446364 Bug 1343153 - Support Servo_ParseEasing. 2017-03-21 16:34:58 +08:00
Nazım Can Altınova
260e919f7b
Stylo: Update bindings for ServoType 2017-03-20 21:18:59 +03:00
Hiroyuki Ikezoe
254d5f6229 Drop Servo_AnimationValues_Uncompute. 2017-03-17 17:57:22 +09:00
Hiroyuki Ikezoe
b210813124 Put computed values into AnimationValueMap instead of hashtable in gecko.
Before this patch, we store each computed values in a hashtable,
nsRefPtrHashtable<nsUint32HashKey, RawServoAnimationValue>, for all
KeyframeEffectReadOnly on an element, and convert the ServoAnimationValues of
the hashtable into an nsTArray<ServoAnimationValue*> and then convert
the ServoAnimationValues of the nsTArray into PropertyDeclarationBlock
in rust.  This way was really inefficient.
In this patch, we store the computed values into AnimationValueMap and
convert all AnimationValue in the map into PropertyDeclarationBlock
after EffectCompositor::GetAnimationRule.
2017-03-17 12:33:39 +09:00
Hiroyuki Ikezoe
52bee9a4cf Add AnimationValueMap and expose it in FFI.
Current Gecko composes all of effects in the composite order at once.
We can put each computed value into this AnimationValueMap every time composing
an effect.
2017-03-17 12:29:34 +09:00
Hiroyuki Ikezoe
bcdd1c1739 binding-update 2017-03-17 12:26:26 +09:00
Manish Goregaokar
6b9a6806b8 stylo: Support system colors
MozReview-Commit-ID: HUfTdcMRoEx
2017-03-15 22:33:45 -07:00
Xidorn Quan
c9c21e72b1 Add bindings for namespace rule. 2017-03-15 21:56:59 +11:00
Manish Goregaokar
2ae317f526 stylo: Support counter-increment and counter-reset
MozReview-Commit-ID: DnSd8xAkidM
2017-03-14 09:25:02 -07:00
Manish Goregaokar
07723eba7a stylo: Implement remaining content values
MozReview-Commit-ID: 9fLM5bdR8hr
2017-03-14 09:24:58 -07:00
Manish Goregaokar
77d7490d59 stylo: Use ServoBundledURI everywhere else, fix from_ffi to handle the error case
MozReview-Commit-ID: DHNKLm3y5Gv
2017-03-14 09:16:30 -07:00
Xidorn Quan
b02c786a42 Update bindings 2017-03-14 15:54:33 +11:00
Boris Zbarsky
275865486e Add support for skipping display fixup for pseudos.
This is needed for https://bugzilla.mozilla.org/show_bug.cgi?id=1346481
2017-03-13 13:11:53 -04:00
Xidorn Quan
52c9f4b527 Implement MediaList for Stylo. 2017-03-13 17:55:25 +11:00
Xidorn Quan
2175785ca6 Add raw Servo types for MediaList and MediaRule. 2017-03-13 17:55:24 +11:00
Manish Goregaokar
4deae33ab1 stylo: Make URLs work in inline style
MozReview-Commit-ID: 6Tc0kBw4V8c
2017-03-11 11:54:18 -08:00
Emilio Cobos Álvarez
396fb62ca8
Bug 1303229: Get the proper viewport size for animations. r=hiro,heycam
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 11:54:14 +01:00
Hiroyuki Ikezoe
f2c547aaaf Call UpdateAnimations even if the element has no computed values. 2017-03-10 11:37:06 +09:00
Hiroyuki Ikezoe
c32ba98031 Skip update_animations if we have no running animations and the element becomes display:none. 2017-03-10 11:37:05 +09:00
Hiroyuki Ikezoe
9ff99d4608 Update CSS animations in a SequentialTask.
We create the SequentialTask only if:

* We have no old computed values and we have animation name style in the new
  computed values.
* Any animation properties is changed.
* display property is changed from 'none' and we have animation name style.
* display property is changed to 'none'.

In a subsequent patch we skip the SequentialTask if we have no running
animations and the display propery is changed to 'none'.
2017-03-10 11:36:58 +09:00
Hiroyuki Ikezoe
d8f08b80e0 Implement Gecko_StyleAnimationsEquals for checking nsStyleAutoArray<StyleAnimation> equality in servo side.
Later we update CSS animations if this function returns false.
2017-03-10 11:07:18 +09:00
Manish Goregaokar
eda6a4fc4f stylo: Pass parser URL data in Servo_DeclarationBlock_SetProperty*
MozReview-Commit-ID: EVk4aEoyiXv
2017-03-09 14:44:17 -08:00
Manish Goregaokar
14d8eb93ba stylo: Handle SVG presentation attributes 2017-03-09 12:23:30 -08:00
Hiroyuki Ikezoe
96dbc9849d ensure_len() for nsStyleAutoArray<StyleTransition>. 2017-03-07 13:26:03 +09:00
Hiroyuki Ikezoe
bb3f2e9dba Drop Servo_AnimationValues_Populate. 2017-02-24 19:13:13 +09:00
Hiroyuki Ikezoe
b45e3f1011 Add RawGeckoComputedKeyframeValuesList in build_gecko.rs. 2017-02-24 19:13:04 +09:00
Hiroyuki Ikezoe
be29e8db00 Update bindings. 2017-02-24 19:12:54 +09:00
bors-servo
ad2ca516a2 Auto merge of #15695 - canaltinova:stylo-font-face, r=Manishearth
Stylo: Add constructors for @font-face descriptors

<!-- Please describe your changes on the following line: -->
Part of https://bugzilla.mozilla.org/show_bug.cgi?id=1340728

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug #1340728](https://bugzilla.mozilla.org/show_bug.cgi?id=1340728)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/15695)
<!-- Reviewable:end -->
2017-02-23 12:37:06 -08:00
Nazım Can Altınova
9c28f21251
stylo: add constructors for @font-face descriptors 2017-02-23 18:38:14 +03:00
Manish Goregaokar
c49c5ec224 Update clip-path glue to use StyleShapeSource 2017-02-21 09:44:47 -08:00
Manish Goregaokar
a68f656e62 Resync bindings 2017-02-21 09:44:17 -08:00
Nazım Can Altınova
d7941d5e35 stylo: Support lang property 2017-02-18 20:37:07 -08:00
Manish Goregaokar
31945c287f stylo: Add necessary stubbed-out bindings for ServoSpecifiedValues 2017-02-18 20:30:59 -08:00