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

180 Коммитов

Автор SHA1 Сообщение Дата
Bobby Holley fee01f78fb Bug 1348606 - Use a threadsafe array for counters. r=xidorn
MozReview-Commit-ID: KgTgcD5mGqr
2017-03-23 10:56:49 -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 16276b38cd Bug 1341086 - Part 3: stylo: Add thread-safe version of nsStyleUtil::IsSignificantChild(); r=emilio
MozReview-Commit-ID: 3l8cNwDHKFl

--HG--
extra : rebase_source : af2ed1c345991c894d482193a1fb654bd6a7ba69
2017-03-16 14:10:22 -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
Cameron McCormack cf56de72b5 Bug 1302054 - Part 2: Remove no longer useful nsStyleContext::CalcDifference optimization that handles the same-rule-node case. r=dbaron
nsStyleContext::CalcDifference had an optimization where, when we knew
that the old and new style context have the same rule node, we knew that
the only change hints that would need to be handled are those in the
"not handled for descendants" category, generated due to explicit
'inherit' values on reset properties.  This was because any changes due
to differences in inherited properties should only have generated
"handled for descendants" change hints (and thus would already have been
handled on an ancestor).

Before bug 931668, this let us avoid calling CalcDifference on structs
that only would have generated hints that we knew we already would have
handled.  However, after bug 931668, we compare all structs anyway so
that we can set the aEqualStructs outparam, so we don't gain anything
from this optimization.  We can still return these change hints we know
will not need to be handled, and rely on ElementRestyler::CaptureChange
to filter them out.

MozReview-Commit-ID: Ld1s2Js0i6r
2017-03-21 16:33:05 +08:00
Ting-Yu Lin e27cc69d63 Bug 1338446 Part 5 - Label runnable in Gecko_DropElementSnapshot by using SystemGroup. r=heycam
This runnable is to delete object only, so using system group should be
fine.

MozReview-Commit-ID: 8uMxMO3yERG

--HG--
extra : rebase_source : 75ae4953d4c91fa0ab9a0c598a1989fa122f8f5a
2017-03-14 21:34:57 +08:00
Hiroyuki Ikezoe cb4ce7109c Bug 1340958 - Drop AnimationRule and ServoAnimationRule. r=boris
MozReview-Commit-ID: ClnvyShHpsN

--HG--
extra : rebase_source : c554550264bfedafbf91ed2ed754603fb5c3e4c6
2017-03-17 13:24:42 +09: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
Hiroyuki Ikezoe a3c9c5051e Bug 1340958 - Do not call EffectCompositor::GetServoAnimationRule for print preview. r=heycam
The only one caller of GetServoAnimationRule is Gecko_GetAnimationRule.
There is no risk that pres context is destroyed in Gecko_GetAnimationRule.

MozReview-Commit-ID: 52pxbCiCNoJ

--HG--
extra : rebase_source : 8000e267d1d5706c709f807e11396dda3579c4dc
2017-03-17 12:48:34 +09:00
Hiroyuki Ikezoe 00ae32a7b2 Bug 1340958 - Do not call get_animation_rules for pseudo elements other than ::before and ::after. r=heycam
MozReview-Commit-ID: FlrT4hIst6U

--HG--
extra : rebase_source : 7cefba0f9353efd8128117f8596a01315937ef6c
2017-03-17 12:48:15 +09:00
Hiroyuki Ikezoe a9a15a1807 Bug 1347806 - Fix pseudo nsIAtom for ::before and ::after. r=birtles
cssPseudoElementBeforeProperty and cssPseudoElementAfterProperty are for
CSSPseudoElement.

MozReview-Commit-ID: 3WETv4QeC5

--HG--
extra : rebase_source : b7e902786ca9ebe7c92a573604e15d868c6067a7
2017-03-16 14:01:44 +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 bae202bd4f Bug 1329093 - Part 3: Overload FromContent() to work with const; r=bz
MozReview-Commit-ID: BUFmPtcf6LM
2017-03-09 17:46:23 -08: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
Emilio Cobos Álvarez b903e8dcf2 Bug 1341083: Don't fall back to reframing with display: contents. r=heycam
MozReview-Commit-ID: KD3QBiU7M5f
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-02-25 19:15:43 +01: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
Bobby Holley 0e51a14782 Bug 1335308 - Assert against non-length units in Gecko_CSSValue_SetAbsoluteLength. r=emilio 2017-02-08 17:04:45 -08:00
Bobby Holley b5140be91a Bug 1335308 - Assert main thread in Gecko_LoadStyleSheet. r=emilio 2017-02-08 17:04:45 -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
Hiroyuki Ikezoe c219cb14f4 Bug 1332657 - Part 1: Use more proper function to set nsCSSValue. r=heycam
MozReview-Commit-ID: 94o9qXXUyXN
2017-02-03 14:41:28 +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 94cf7d46a6 Bug 1335261 - Initialize StyleAnimation value when expanding the array. r=heycam
MozReview-Commit-ID: 3G0fnVId6nd
2017-01-31 17:09:18 +09: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