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

155 Коммитов

Автор SHA1 Сообщение Дата
Xidorn Quan 4f6e257d03 Bug 1352025 part 1 - Use a UrlExtraData type alias to unify url handling logic. r=manishearth
MozReview-Commit-ID: 6gZHGQWbpAW

--HG--
extra : rebase_source : 0780021a0e5ef14b380ec247418c1c709056e792
2017-03-31 12:03:45 +11:00
Xidorn Quan e0f34c4221 Bug 1352763 part 2 - Pass borrowed child stylesheet to Gecko for loading rather than the import rule. r=emilio
This is necessary because if we pass in the import rule, we would need
to invoke Servo_ImportRule_GetSheet to get the child sheet. However,
Servo_ImportRule_GetSheet tries to lock the global rwlock with read
access, while Servo_CssRules_InsertRule has already locked the same
rwlock with write access for the CSSOM case.

Since the import rule itself is never needed in the code path, it is
easier to just pass in the child stylesheet.

MozReview-Commit-ID: 4njNyGniPIm

--HG--
extra : rebase_source : ad88929713fdc5a581addc044094fa8130125121
2017-04-03 16:18:49 +10:00
Xidorn Quan e3e4554871 Bug 1351957 - Create URLExtraData for holding base uri, referrer, and principal. r=heycam
MozReview-Commit-ID: 1wqTb3kvvWh

--HG--
extra : rebase_source : cae3dba21c916ab0f52056bd9db215249b650cd3
2017-03-30 18:54:48 +11:00
Manish Goregaokar d52216a79d Bug 1341648 - stylo: Include content rules from HTMLTableCellElement::WalkContentStyleRules ; r=bz
This also removes the TABLE_ATTRS_DIRTY optimization. Constructing nsMappedAttributes isn't really expensive and we do it all the time anyway.

MozReview-Commit-ID: 2krt1nFUzgl

--HG--
extra : rebase_source : 18d400aed6f427e5efc503b87b6ee2d9af74f3f5
2017-03-26 13:53:34 -07:00
Nazım Can Altınova e31083ac08 Bug 1351262 - Serialize unquoted font-family without quote r=manishearth
MozReview-Commit-ID: LY554sZxZyb

--HG--
extra : rebase_source : acfaafcee91db6775e033beff6fd94487aefa0a6
2017-03-30 21:15:57 +03:00
Xidorn Quan 12e077cda8 Bug 1345696 part 4 - Add function for sugar of nsCSSValue. r=manishearth
MozReview-Commit-ID: 9go3QDIXLgH

--HG--
extra : rebase_source : e656489567d9ab04d9abb07f5bbaea5d46480fb4
2017-03-28 11:52:14 +11:00
Xidorn Quan ee9e8c445d Bug 1345696 part 3 - Add FFI for nsCSSFontFaceRule. r=manishearth
MozReview-Commit-ID: GV1CWwFihw7

--HG--
extra : rebase_source : d1c56248f23a2b7513bff37b891ba67ce73da20e
2017-03-24 14:42:18 +11:00
Emilio Cobos Álvarez 3ed9e13ba8 Bug 1350140: stylo: Implement all the remaining state pseudo-classes. r=heycam
Also implements :link, :visited, and :any-link more efficiently, and stops
matching :-moz-read-only in everything that is not read-write, which is kind of
dumb, and probably creates some artifacts.

MozReview-Commit-ID: 6BQqi7nAWdT

--HG--
extra : rebase_source : 39dc6b481b3a92942dc3732990d8b9040d8e6d84
2017-03-24 00:45:07 +01:00
Hiroyuki Ikezoe d6922e73d9 Bug 1350754 - Introduce UpdateAnimationTasks to perform a bunch of animation's tasks in a SequentialTask. r=heycam
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.

MozReview-Commit-ID: AfQd0FJGkYd

--HG--
extra : rebase_source : 2a5fee40c57a7941defa447357915756af42bc11
2017-03-27 19:43:16 +09:00
Hiroyuki Ikezoe ea9ccbbab2 Bug 1350754 - Add an FFI to check that a given (pseudo-) element has any type of animations or not. r=birtles,heycam
If an element has any type of animations in match_elements(), we need to call
UpdateEffectProperties() to update KeyframeEffectReadOnly::mProperties.

MozReview-Commit-ID: 1CDhwoM2llE

--HG--
extra : rebase_source : f2c476d579019079702b01fec375f75b4594dee9
2017-03-27 19:42:59 +09:00
Nazım Can Altınova f0404cbd9f Bug 1341763 - stylo: Add support for -moz-image-rect value r=manishearth
MozReview-Commit-ID: CjjX6SI3sWX

--HG--
extra : rebase_source : be56e929d5ed9b0253ae5777ca60e6c73a403222
2017-03-25 21:48:47 +03:00
Manish Goregaokar 9116206487 Bug 1341775 - Part 1: stylo: Calculate font-size keywords based on base size; r=heycam
MozReview-Commit-ID: Ff6kt8RLChI

--HG--
extra : rebase_source : 1d52cc24a4756ec4ef649bbe814eec5919dc206d
2017-03-17 19:48:20 -07:00
Bobby Holley 701a45ad75 Bug 1347435 - Don't resolve URLs at parse time for Stylo. r=emilio
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 20:17:51 -07:00
Matt Brubeck 11b50c02a4 Bug 1337068 - stylo: :empty, :-moz-first-node, :-moz-last-node, and :-moz-only-whitespace. r=emilio
MozReview-Commit-ID: 5wEk8OQAFSP

--HG--
extra : rebase_source : fb395492e2e6551d3a9203d2dc87fbbb6c699682
extra : intermediate-source : ddffbd2d62ea066d1151c7127365c597c54aad01
extra : source : 1d34ee0e479f0b1f9f2662e08f73a54a736152f2
2017-03-22 09:18:34 -07:00
Nazım Can Altınova cc7bc8e08d Bug 1342139 - Implement gecko bindings for will-change r=xidorn
MozReview-Commit-ID: KNhVz9vjXUl

--HG--
extra : rebase_source : 20f5d2ec6c151e2d3024bcd11b5ca920158f5a93
2017-03-19 15:36:16 +03: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
Nazım Can Altınova 70ea60c038 Bug 1348873 - Change ServoType to uint64_t instead of uint16_t in EventStates r=emilio
MozReview-Commit-ID: GDP6XaL96ez

--HG--
extra : rebase_source : 6aa38ac64b3706961709b27d31903dc24405ee57
2017-03-20 18:54:54 +03:00
Hiroyuki Ikezoe 3b9f585232 Bug 1340958 - Put computed values into AnimationValueMap instead of hashtable in gecko. r=heycam
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.

MozReview-Commit-ID: EJ2Kl65fVeF

--HG--
extra : rebase_source : e30a9d440dc9855e21b94501b07a3501d31bc345
2017-03-17 13:23:21 +09:00
Manish Goregaokar 12b518aef0 Bug 1340696 - stylo: Support system colors; r=heycam
MozReview-Commit-ID: HUfTdcMRoEx

--HG--
extra : rebase_source : 85af717eb521a2c790d3ec7a20c46dd318e4761f
2017-03-15 14:49:35 -07:00
Manish Goregaokar 75a5e5853d Bug 1296477 - Part 3: stylo: Support counter-increment and counter-reset; r=heycam
MozReview-Commit-ID: DnSd8xAkidM

--HG--
extra : rebase_source : 34038cee5a99c3dac64abd9c2bed38ab49aa1461
2017-03-12 21:11:52 -07:00
Manish Goregaokar 8b8d456955 Bug 1296477 - Part 2: stylo: Implement remaining `content` values; r=heycam
MozReview-Commit-ID: 9fLM5bdR8hr

--HG--
extra : rebase_source : f1397129408e7e9763733c026855a99321b09656
2017-03-11 22:40:54 -08:00
Manish Goregaokar 471d940ebc Bug 1296477 - Part 1: stylo: Use ServoBundledURI everywhere else, fix from_ffi to handle the error case; r=heycam
MozReview-Commit-ID: DHNKLm3y5Gv

--HG--
extra : rebase_source : c5780ddc22169d9c908559c2eb94ca827d481e0b
2017-03-12 21:08:29 -07:00
Hiroyuki Ikezoe 2eb4e20a24 Bug 1341985 - Call UpdateAnimations even if the element has no computed values. r=birtles,heycam
MozReview-Commit-ID: 2dgAF7WOWxr

--HG--
extra : rebase_source : 8c2378d8d45484f206b4c890e89271fc95691ac3
2017-03-10 11:53:19 +09:00
Hiroyuki Ikezoe 5bfe316f81 Bug 1341985 - Skip update_animations if we have no running animations and the element becomes display:none. r=heycam
MozReview-Commit-ID: Ig81NKtXB85

--HG--
extra : rebase_source : 6d6d3f4794b83f5bc2b45bf2b6684f8c80064b32
2017-03-10 11:53:19 +09:00
Hiroyuki Ikezoe 96240dbfc8 Bug 1341985 - Update CSS animations in a SequentialTask. r=heycam
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'.

MozReview-Commit-ID: JRSZznufOS2

--HG--
extra : rebase_source : 566026c21c6357f77df55e3bd588835f5fd6c3d4
2017-03-10 11:53:19 +09:00
Hiroyuki Ikezoe 65b2567898 Bug 1341985 - Implement Gecko_StyleAnimationsEquals for checking nsStyleAutoArray<StyleAnimation> equality in servo side. r=heycam
Later we update CSS animations if this function returns false.

MozReview-Commit-ID: 27FsYQ40gSv

--HG--
extra : rebase_source : a043282de6c8a50ed53a92de98ecf93eb042f188
2017-03-10 11:53:17 +09:00
Manish Goregaokar 07fc7c5b25 Bug 1329093 - Part 1: stylo: Handle SVG presentation attributes; r=bz
MozReview-Commit-ID: 9cymo3c9HIn
2017-03-09 17:46:21 -08:00
Hiroyuki Ikezoe fe8cb62b44 Bug 1343751 - ensure_len() for nsStyleAutoArray<StyleTransition>. r=emilio
MozReview-Commit-ID: 2xCExdpldWQ

--HG--
extra : rebase_source : e327b4d2267899f30f361ccbfdc6fb63b04f66f4
2017-03-03 08:35:33 +09:00
Nazım Can Altınova ded05dd047 Bug 1340728 - stylo: add constructors for @font-face descriptors r=manishearth,SimonSapin
MozReview-Commit-ID: BL3uxlE1TmU

--HG--
extra : rebase_source : b2289af62d02e0cc1d3f84bb21077cd35d36c56b
extra : source : 8622f2e9ec9597e56e406aaff1856275b6d62db5
2017-02-18 02:15:55 +03:00
cku cfc6e5755f Bug 1336905 - Part 1. Remove StyleShapeSource's template argument. r=heycam,TYLin
MozReview-Commit-ID: FHTwGyXHsce

--HG--
extra : rebase_source : c043e4790bc2c84e4f3735a95c8ef0d9aa268986
extra : source : fb3c04effbd191767b1ff3e46c3c2d416ac8ee37
2017-02-21 23:26:17 +08:00
Nazım Can Altınova 6d162a15e1 Bug 1338936 - Part 3: stylo: Support lang property; r=emilio
MozReview-Commit-ID: 6wg32flypt7
2017-02-19 14:03:45 -08:00
Sebastian Hengst c7c107adf2 Backed out changeset 38de3820ca81 (bug 1338936) 2017-02-19 10:37:21 +01:00
Nazım Can Altınova 016d247d64 Bug 1338936 - Part 3: stylo: Support lang property; r=emilio
MozReview-Commit-ID: 6wg32flypt7
2017-02-18 21:51:14 -08:00
Manish Goregaokar 3fef7c9e57 Bug 1338388 - Part 6: stylo: Support stroke-dasharray and stroke-dashoffset; r=heycam
MozReview-Commit-ID: 4QKKzJ1DVYP

--HG--
extra : rebase_source : 6d350a8ed3b5e157651edad155de2b92e042ae99
2017-02-09 17:43:52 -08:00
Manish Goregaokar a1953373cd Bug 1338388 - Part 5: stylo: Add mako template for URLOrNone, use for marker-* properties; r=heycam
MozReview-Commit-ID: 4QKKzJ1DVYP

--HG--
extra : rebase_source : 68947510d2a4fb91d70c9e0d9d261d980cb2d313
2017-02-09 17:43:52 -08:00
Manish Goregaokar 884050c549 Bug 1338388 - Part 4: stylo: Add Gecko bindings for <paint>, use for stroke/fill; r=heycam
MozReview-Commit-ID: 4QKKzJ1DVYP

--HG--
extra : rebase_source : 9097d4bc634eb45a5f850a11fa403b4b12735ef8
2017-02-09 17:43:52 -08:00
Manish Goregaokar 110627f6f6 Bug 1338388 - Part 3: stylo: Support URL clip-paths ; r=heycam
MozReview-Commit-ID: 4QKKzJ1DVYP

--HG--
extra : rebase_source : fde4eb7a3d69ff0c18b18c741b0343c37040a6cd
2017-02-09 17:43:52 -08:00
Manish Goregaokar 1d2c7f67fb Bug 1338388 - Part 2: stylo: Support URL filters ; r=heycam
MozReview-Commit-ID: 4QKKzJ1DVYP

--HG--
extra : rebase_source : b795f2cfc58caa34c444fa64bad05131224ae895
2017-02-09 17:43:52 -08:00
Manish Goregaokar 4f52619ddb Bug 1338388 - Part 1: stylo: Add ServoBundledURI abstraction for use when setting css::URLValues; r=heycam
MozReview-Commit-ID: 4QKKzJ1DVYP

--HG--
extra : rebase_source : 22c92d2803281abbeda20f0f8244b7eb7e4f8116
2017-02-09 17:43:52 -08:00
Bobby Holley eaee1dbb37 Bug 1340022 - Implement "handled for descendants" tracking for RestyleDamage. r=emilio
MozReview-Commit-ID: Bbk99ogILXC

--HG--
extra : rebase_source : 2998f39a67c39073ea66e3e12815e1a7a25f7c9d
2017-02-15 19:36:57 -08:00
Carsten "Tomcat" Book d49b3f08d6 Backed out changeset fb3c04effbd1 (bug 1336905) for bustage in stylo builds 2017-02-14 11:07:17 +01:00
cku 80f22f74f4 Bug 1336905 - Part 1. Remove StyleShapeSource's template argument. r=heycam,TYLin
MozReview-Commit-ID: FHTwGyXHsce

--HG--
extra : rebase_source : e1346a2ec89d023b2aa0c2cd5ced94529b7f9067
2017-02-06 15:50:22 +08:00
Cameron McCormack 267ff12653 Bug 1331294 - Part 2: Call nsIPresShell::SetNeedStyleFlush after propagating dirty descendants bits up the tree. r=bholley
MozReview-Commit-ID: 4k5AXK5J4pi
2017-02-10 10:42:29 +08:00
Hiroyuki Ikezoe 287d10e9c5 Bug 1332657 - Part 2: Implement clone_transform. r=heycam,manishearth
The implementation of clone_transform is an adaptation of set_transform.

MozReview-Commit-ID: ESE1ha0x666
2017-02-03 14:41:29 +09:00
Bobby Holley c35f772b59 Bug 1335863 - Inline common case parent access. r=emilio 2017-02-02 11:24:43 -08:00
Bobby Holley bd672b2ad1 Bug 1335863 - Inline Gecko_IsHTMLElementInHTMLDocument. r=emilio 2017-02-02 11:24:37 -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 e4b48af5ae Bug 1328787 - Part 4: Add Gecko_AnimationAppendKeyframe. r=heycam
This is a function which is called in Servo_StyleSet_FillKeyframesForName to
append a Gecko's Keyframe into nsTArray<Keyframe>.

Without this function we need to end up exposing ComputedTimingFunction class
and Maybe<> as FFI.

MozReview-Commit-ID: 2EpltR4rMVh
2017-01-29 12:58:39 +09:00
Emilio Cobos Álvarez 1c4f61bf3d Bug 1334579: Ensure constructors for nsStyleContentData run. r=bholley
MozReview-Commit-ID: 9Y6tQ6BD2c8
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-28 14:38:27 +01:00
Boris Chiou d45e2346f6 Bug 1317209 - Part 6: Support transition cascade level. r=heycam
Implement the mapping between EffectCompositor::CascadeLevel in Gecko and
EffectCompositor_CascadeLevel in Servo, so we can pass it as a parameter into
Gecko_GetAnimationRule.

MozReview-Commit-ID: GRedooyGE8c

--HG--
extra : rebase_source : c18d54dabb093242c66d46be8ca03424a2c6ca78
2017-01-24 15:33:10 +08:00