Commit graph

987 commits

Author SHA1 Message Date
Emilio Cobos Álvarez
0b063ef01a Bug 1420496: Bring back the optimization to avoid traversing XBL subtrees that will likely change. r=heycam
We need to get rid of BindingHolder to handle properly the case of an invalid
binding URL.

MozReview-Commit-ID: 3sIGtcVOt0r

--HG--
extra : rebase_source : a56cebc74ff5f3102ee8ef6d048ad05056fbef41
2017-11-24 15:15:38 +01:00
dluca
627438bf3c Backed out 4 changesets (bug 1418224) for build bustages r=backout on a CLOSED TREE
Backed out changeset 3ef8715cb8d7 (bug 1418224)
Backed out changeset 0d58d9fed90d (bug 1418224)
Backed out changeset faad7f275749 (bug 1418224)
Backed out changeset 1e86ff6b95ae (bug 1418224)
2017-11-27 07:42:50 +02:00
Ting-Yu Lin
0a432576a1 Bug 1418224 Part 3 - Add shape-outside: <image> support to style system. r=heycam
Some Gecko style system files are modified to prevent assertions and
crashing, and to keep test failures on stylo disabled builds to minimum.

MozReview-Commit-ID: GuxAeCTz0xx

--HG--
extra : rebase_source : 97c8b3900e4492ac03158a38aa03f7c044b71e0f
2017-11-17 16:34:37 +08:00
Botond Ballo
978ae3283a Bug 951793 - Style support for overscroll-behavior. r=heycam
MozReview-Commit-ID: IDAfBZy2D5p
2017-11-25 01:28:58 +01:00
Sebastian Hengst
6d4637aebb Backed out 15 changesets (bug 951793) because it landed before the necessary servo changes. r=backout requested by emilio on a CLOSED TREE
Backed out changeset ca8c86e229df (bug 951793)
Backed out changeset 6eef6403fa71 (bug 951793)
Backed out changeset a5e529f52fb1 (bug 951793)
Backed out changeset 054e837609d0 (bug 951793)
Backed out changeset 713a3c9617ce (bug 951793)
Backed out changeset 884913aa1668 (bug 951793)
Backed out changeset c3340b84e534 (bug 951793)
Backed out changeset 50fe3c6ac486 (bug 951793)
Backed out changeset be4e22e5c257 (bug 951793)
Backed out changeset 7055bd5dfc4e (bug 951793)
Backed out changeset fa6da1e723cf (bug 951793)
Backed out changeset 386f77004d89 (bug 951793)
Backed out changeset fa82cdc01408 (bug 951793)
Backed out changeset 867d8ea5355c (bug 951793)
Backed out changeset e61ac8e48971 (bug 951793)
2017-11-25 01:01:41 +02:00
Botond Ballo
3ff3395934 Bug 951793 - Style support for overscroll-behavior. r=heycam
MozReview-Commit-ID: IDAfBZy2D5p

--HG--
extra : rebase_source : d70820f9612174ffc8f17f1a2646dc65f46667df
2017-11-22 19:01:11 -05:00
Kris Maglione
96722433e6 Bug 1415352: Part 1d - Use correct subject principal in CSS environment when modifying attr declarations. r=bz
MozReview-Commit-ID: AnurVwl65fX

--HG--
extra : rebase_source : 05d3820aab2c86b010728b5d2882a7a2e75e0617
2017-11-05 13:23:49 -08:00
Kris Maglione
58662abbfe Bug 1415352: Part 1c - Store the subject principal when setting Element.style properties. r=bz
This causes the subject principal that was responsible for setting a CSS
property, or the full cssText of an attribute, to be threaded through the call
chain to the point where CSS parsing happens, so that it can be used as the
triggering principal when loading URLs for that property.

Note that this allows for different properties defined in the same style
attribute to have different triggering principals, depending on the caller
which originally set them, as long as the cssText of that attribute is not
modified. Once it is, all properties revert to the principal of the caller
that modified the CSS text.

MozReview-Commit-ID: ISUyxbqAZMX

--HG--
extra : rebase_source : d4173d76d9afed74889269e3bf029abca54a4abb
2017-11-03 21:44:03 -07: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
Hiroyuki Ikezoe
1646278bfe Bug 1418867 - getUnanimatedComputedStyle throws an exception for non-existent pseudo element. r=birtles
This is a prerequisite change for passing pseudo element to
Servo_StyleSet_GetBaseComputedValuesForElement which will be done in the next
commit.

MozReview-Commit-ID: HEGF2wjBGEP

--HG--
extra : rebase_source : 58d5991f3e4559c4215292ee8c48f79b38acb54a
2017-11-22 09:57:31 +09:00
Ting-Yu Lin
dc7e13b5d5 Bug 1418905 - Move nsRuleNode::ComputeCoordPercentCalc() into nsStyleCoord. r=heycam
MozReview-Commit-ID: GLLseBxhUiP

--HG--
extra : rebase_source : 2940610dbb5e81e463db82459a46a54eb693e5cb
2017-11-20 14:05:19 +08:00
Brad Werth
35a17bc67c Bug 1350780 Part 1: Change nsComputedDOMStyle::DoGetGridTemplate{Columns|Rows} to take grid templates from mInnerFrame. r=mats
MozReview-Commit-ID: KYGfehqaOij

--HG--
extra : rebase_source : d05fcd8de27ae7a3b603e4adeb747f531145f0d0
2017-11-14 13:15:37 -08:00
Markus Stange
f2f07fc63b Bug 1414147 - Move fontSmoothingBackgroundColor from nsStyleUserInterface to nsStyleFont / nsFont. r=dbaron
MozReview-Commit-ID: 7i0Sy50Badm

--HG--
extra : rebase_source : 28f36f191aa82a0ece87b412b59641f7dc061acf
2017-11-02 17:48:44 -04:00
Chris Peterson
1df202b177 Bug 1412048 - Replace NS_RUNTIMEABORT("...") with MOZ_CRASH("..."). r=froydnj
And remove unreachable code after MOZ_CRASH().

MozReview-Commit-ID: 6ShBtPRKYlF

--HG--
extra : rebase_source : 0fe45a59411bda663828336e2686707b550144ae
extra : source : 8473fd7333d2abe1ea1cc176510c292a5b34df45
2017-10-24 23:30:31 -07:00
Emilio Cobos Álvarez
2a6ba34bad Bug 1412252 - Only fetch mPresShell after flushing the relevant content pres shell. r=bz
MozReview-Commit-ID: BkcYtu2MsNs
2017-10-29 17:39:20 -04:00
Emilio Cobos Álvarez
6468a50bc7 Bug 1406750: Use GetStyleContextNoFlush in UpdateCurrentStyleSources, and avoid flushing mPresShell twice. r=bz
MozReview-Commit-ID: Nfu9FZcIzQ
2017-10-25 19:03:14 +02:00
Emilio Cobos Álvarez
f3053729c9 Bug 1406750: Fix detection of animations to avoid flushing. r=hiro,birtles
This fixes multiple things:

 * EffectCompositor was using the light tree instead of the flat tree.

 * When we insert an element inside the document, we may not style it right away
   (we mark it for lazy frame construction with the NODE_NEEDS_FRAME). Since we
   trigger animations and transitions from the traversal, we can't skip flushing
   if we call getComputedStyle on any of those.

MozReview-Commit-ID: DpAhmLH3uJ2
2017-10-25 19:02:01 +02:00
Jeremy Chen
df30b97e6d Bug 1408851 - part2: do not always clamp negative calc values while serializing basic-shape inset. r=TYLin
According to the spec, negative values are valid for inset(), so we should not
clamp it while computing and serializing negative calc values for inset().

MozReview-Commit-ID: DA21CaPO9w7

--HG--
extra : rebase_source : 235b4f144ebff1295853a559e867f4f904f0f061
2017-10-16 17:18:05 +08:00
Jeremy Chen
0391446db0 Bug 1408851 - part1: do not always clamp negative calc values in BoxValuesToString. r=TYLin
nsComputedDOMStyle::BoxValuesToString() is a helper function for computing and
serializing box values. In the current implementation, BoxValuesToString
implicitly clamp negative calc values, which is pretty non-trivial.

In this patch, we expose an extra aClampNegativeCalc parameter for BoxValuesToString,
so the callers can explicitly set the clamping mode as needed.

MozReview-Commit-ID: 1UjLSqtqVzn

--HG--
extra : rebase_source : 9bdbb17fc8287fc5f9e505ffb8d5377917cac510
2017-10-16 16:55:54 +08:00
Jeremy Chen
f243927e63 Bug 1378368 - part2: do not clamp negative calc values while serializing basic-shape polygon. r=TYLin
According to the spec, negative values are valid for polygon(), so we should not
clamp it while computing and serializing negative calc values for polygon().

MozReview-Commit-ID: 5uhLjoYmJEh

--HG--
extra : rebase_source : e314736bff61a4ea881ea0182fa1362fe621a1b2
2017-10-16 14:45:34 +08:00
Jeremy Chen
8bdfb7f337 Bug 1378368 - part1: do not always clamp negative calc values in SetCssTextToCoord. r=TYLin
nsComputedDOMStyle::SetCssTextToCoord() is a helper function for computing and
serializing a nsStyleCoord. In the current implementation, SetCssTextToCoord
implicitly clamp negative calc values, which is pretty non-trivial.

In this patch, we expose an extra aClampNegativeCalc parameter for SetCssTextToCoord,
so the callers can explicitly set the clamping mode as needed.

MozReview-Commit-ID: IOIhssjUldC

--HG--
extra : rebase_source : 44d9ff3a5fc20a869de356868688483aa28ecff8
2017-10-16 13:29:46 +08:00
Hiroyuki Ikezoe
2b54925c5c Bug 1407463 - Drop unused pseudo atom argument from GetBaseContextForElement. r=heycam
MozReview-Commit-ID: JJ2Jh1I6y4h

--HG--
extra : rebase_source : 99c458dfffee88103e5f2b01f9ff9ae0256b8c62
2017-10-11 10:00:37 +09:00
Hiroyuki Ikezoe
a5c66d4d97 Bug 1407463 - Drop unused pseudo atom argument from ResolveStyleLazily and ResolveStyleLazilyInternal. r=heycam
MozReview-Commit-ID: Lmjqbr7QsTU

--HG--
extra : rebase_source : dc1587cd9058bf279f21116a843928289b2602f2
2017-10-11 10:00:28 +09:00
Hiroyuki Ikezoe
5e34bc1f57 Bug 1329169 - Use atom for animation-name property. r=xidorn
MozReview-Commit-ID: 9yVWXVi1oXf

--HG--
extra : rebase_source : f0d8a731c3e6caaf248a0b0e25ef96370af3ecd8
2017-10-10 17:00:28 +09:00
Nicholas Nethercote
d225f7151b Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Hiroyuki Ikezoe
9d610320fe Bug 1406284 - Remove unused parent context argument. r=heycam
MozReview-Commit-ID: A1yIOZ1bWjY

--HG--
extra : rebase_source : a4daa3466382b64f50256d1c081f886b98f4f80d
2017-10-06 13:51:02 +09:00
Ting-Yu Lin
d944131798 Bug 1404243 Part 3 - Remove refcount for StyleBasicShape, and use UniquePtr to hold it. r=heycam
After StyleBasicShape is set to StyleShapeSource, it's life cycle never go
beyond StyleShapeSource, so I make StyleBasicShape hold by a UniquePtr in
StyleShapeSource.

Also, replace all raw pointers to StyleBasicShape by UniquePtr in all APIs.

MozReview-Commit-ID: 1MfIFjP8TsQ

--HG--
extra : rebase_source : bdbbd47de57e0bc610e37913752ab8413f62588a
2017-09-25 18:50:24 +08:00
Nicholas Nethercote
dfd3b7e7aa Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam.
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.

These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.

- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>

- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
  - Count() --> Length()
  - ObjectAt() --> ElementAt()
  - AppendObject() --> AppendElement()
  - RemoveObjectAt() --> RemoveElementAt()

- ns*Hashtable<nsISupportsHashKey, ...> -->
  ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>

- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
  - This requires adding a Get() method to nsRefPtrHashtable that it lacks but
    nsInterfaceHashtable has.

- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
  - nsArrayBase::Create() --> nsTArray()
  - GetLength() --> Length()
  - do_QueryElementAt() --> operator[]

The patch also has some changes to Rust code that manipulates nsIAtom.

MozReview-Commit-ID: DykOl8aEnUJ

--HG--
extra : rebase_source : 254404e318e94b4c93ec8d4081ff0f0fda8aa7d1
2017-09-26 08:33:21 +10:00
Wei-Cheng Pan
f3f406f76b Bug 1363805 - Part 3: Do lazy flushing if possible. r=heycam
Skips flushing current document if the target of getComputedDOMStyle cannot be
affected by any pending restyles.

MozReview-Commit-ID: C87HDIDvOth

--HG--
extra : rebase_source : 064880493f9aac2599689cdd0749200bb579c60b
2017-05-23 12:02:11 +08:00
Ting-Yu Lin
90a32588be Bug 1281101 Part 1 - Remove MOZ_ENABLE_MASK_AS_SHORTHAND from layout code. r=cjku
MozReview-Commit-ID: HWq2IOLsflD

--HG--
extra : rebase_source : eb5c3db6e2d88164bcd6a86448c4ad04cd251c93
2017-09-21 17:36:57 +08:00
Xidorn Quan
c5b7f94e1c Bug 1400438 - Use array instead of linked list for -moz-border-*-colors. r=heycam,mattwoodrow
MozReview-Commit-ID: LPl1Rlg5gRn

--HG--
extra : rebase_source : c9df383e14523bb534cac5018333178b7c17167a
2017-09-18 13:38:39 +10:00
Sebastian Hengst
cbf485433e Backed out changeset 61a277705d59 (bug 1400438) for heap write hazard. r=backout 2017-09-20 16:52:02 +02:00
Xidorn Quan
4599882448 Bug 1400438 - Use array instead of linked list for -moz-border-*-colors. r=heycam,mattwoodrow
MozReview-Commit-ID: LPl1Rlg5gRn

--HG--
extra : source : 418288301c994faded0993a1cd3d73fc3b6521be
extra : amend_source : 7cba1fc0ca13b86782aa05ab4dae4cdc7eb9fbf6
2017-09-20 22:52:20 +10:00
Sebastian Hengst
107a8b1f39 Backed out changeset df9036657f25 (bug 1400438) for crashing chrome test mobile/android/components/extensions/test/mochitest/test_ext_options_ui.html on Android. r=backout on a CLOSED TREE 2017-09-19 16:33:05 +02:00
Xidorn Quan
60d4fdfcc7 Bug 1400438 - Use array instead of linked list for -moz-border-*-colors. r=heycam,mattwoodrow
MozReview-Commit-ID: LPl1Rlg5gRn

--HG--
extra : rebase_source : 3742eefec0a9957847aac23a6070729eaafa8034
2017-09-18 13:38:39 +10:00
Markus Stange
2e951f24c1 Bug 1387594 - Add a chrome-only CSS property called -moz-font-smoothing-background-color. r=dbaron
This property accepts a color. It's inherited and defaults to transparent.
Its value is respected on macOS when rendering text into transparent pixels.
This property should be used for text that is placed on top of "vibrant"
-moz-appearances, in order to achieve high quality text rendering for such text.

In most cases, the property should be set to a named system color; an upcoming
patch in this patch series will add one such color for each vibrant
-moz-appearance value.
However, in some cases it can also be useful to use a custom color: If text
is rendered into an intermediate surface, for example because a mask is applied
to it, and the background color behind that intermediate surface is known, then
this property can be set to that background color in order to achieve subpixel
AA for the text inside the mask effect. In that case, the font smoothing
background color is respected because text is rendered into transparent pixels
*inside the intermediate surface*. At the moment, the only example of that use
case is the text of the active tab in the state where the text is overflowing.

MozReview-Commit-ID: D98qQnxoFaq
2017-09-14 23:09:46 +02:00
Nazım Can Altınova
09ef54645d Bug 1391534 - Fix computed prefixed linear gradient direction serialization r=dholbert
Prefixed linear gradients use direction keyword to indicate starting point of the
gradient but modern syntax uses this keyword to indicate ending point of the gradient.
Top-to-bottom direction is the default value for gradients. Therefore `top` is default
value of prefixed linear gradients and `to bottom` is default one for unprefixed one.
For brevity, we omit the direction keyword from our serialization when it matches the
default direction, but we were incorrectly trying to remove `bottom` keyword from
prefixed computed values.

MozReview-Commit-ID: 8UCsFE44LRX

--HG--
extra : rebase_source : 6185aec4c3c1b0647015d00d31e0120c9448867e
2017-08-30 14:39:44 -07:00
Xidorn Quan
06b5070af0 Bug 1393189 part 2 - Have CounterStyle::GetStyleName return nsIAtom and make it const. r=dholbert
MozReview-Commit-ID: KmnQSK7ZvND

--HG--
extra : rebase_source : e47fc3d41f16f18f7182bf561d8da7249fd27bc5
2017-08-29 15:21:36 +10:00
Hiroyuki Ikezoe
a30003cd17 Bug 1356241 - Return specified 'normal' value for column-gap computed value. r=dholbert
In the spec [1], computed value for column-gap is defined as
'as specified, with <length>s made absolute'.

[1] https://drafts.csswg.org/css-multicol-1/#column-gap

MozReview-Commit-ID: IO22V33z8pz

--HG--
extra : rebase_source : 63167965a0e89fd298df3a22a7c5e41ed34dd1e9
2017-08-17 08:56:00 +09:00
Bobby Holley
4a7d72d9bc Bug 1389300 - Don't mix style backend types in nsComputedDOMStyle. r=heycam
MozReview-Commit-ID: 8Decj2cxySY
2017-08-15 19:10:45 -07:00
Xidorn Quan
b97e3aed9b Bug 1388255 - Make nsStylePosition::mGridTemplate{Columns,Rows} a UniquePtr. r=canaltinova,dholbert
MozReview-Commit-ID: 8SOE6sAavCX

--HG--
extra : rebase_source : 666c95221e059da9b1a729eea3584e2060968582
2017-08-09 11:30:25 +10:00
Cameron McCormack
5a641131b9 Bug 1384824 - Part 1: Lazily clear stale Servo element data from a document when its pres shell changes. r=bholley
MozReview-Commit-ID: 1c566PRqFpe
2017-08-04 19:26:04 +10:00
Cameron McCormack
32d1c2df59 Bug 1384824 - Part 0: Consolidate lazy style resolution entrypoints. r=bholley
MozReview-Commit-ID: HPdviA570N1
2017-08-04 19:26:03 +10:00
Brad Werth
dd59628e1d Bug 1302513 Part 3: Remove declarations and implementations of getAuthoredPropertyValue. r=dholbert
MozReview-Commit-ID: LxlUfhPJUaa

--HG--
extra : rebase_source : 6fdd76d9455e2f288b8c7b4866d983023e6d92af
2017-07-21 14:18:45 -07:00
Emilio Cobos Álvarez
98abee5d66 Bug 1384542: Fix MustReresolveStyle logic. r=me
MozReview-Commit-ID: 8GdZIyvaRLt
2017-07-31 15:57:25 +02:00
Emilio Cobos Álvarez
1a47c01765 Bug 1384542: Move GetParent and IsLinkContext to GeckoStyleContext. r=heycam
MozReview-Commit-ID: C19yGcphixX
2017-07-31 14:32:59 +02:00
Emilio Cobos Álvarez
049aad7027 Bug 1384542: Get rid of GetParentAllowServo in implementation of CSS 'justify-items' property. r=dholbert,heycam
MozReview-Commit-ID: 4qydjqSoVXs
2017-07-31 14:32:51 +02:00
Emilio Cobos Álvarez
dab0b01fe4 Bug 1381083: Don't hold the style context if we had a frame and re-resolved the style. r=heycam
Otherwise we risk losing track of the frame if we hit the cache.

MozReview-Commit-ID: ByHGhcBwIfX

--HG--
extra : rebase_source : 4534efa9ef02f4d7f59a33b55c50d9d372ad08a8
2017-07-27 00:45:29 +02:00
Emilio Cobos Álvarez
104705ee7a Bug 1381083: Preliminary alignment and whitespace fixup. r=heycam
MozReview-Commit-ID: 9V7pqVMOAqo

--HG--
extra : rebase_source : fb2b44ebfdfdf7a888482b2cfca09b63e02c8b8c
2017-07-27 00:28:52 +02:00
Emilio Cobos Álvarez
2b7de51623 Bug 1381844: Be more explicit about the kind of style context we handle all the time. r=bholley
MozReview-Commit-ID: E0mdkhU3XBz
2017-07-22 18:02:57 +02:00