Commit Graph

970 Commits

Author SHA1 Message Date
Jeremy Chen
9a32ecb891 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
2017-10-16 17:18:05 +08:00
Jeremy Chen
fec0c77281 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
2017-10-16 16:55:54 +08:00
Jeremy Chen
ec8bfc9af3 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
2017-10-16 14:45:34 +08:00
Jeremy Chen
3ea917394c 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
2017-10-16 13:29:46 +08:00
Hiroyuki Ikezoe
f9c63e1497 Bug 1407463 - Drop unused pseudo atom argument from GetBaseContextForElement. r=heycam
MozReview-Commit-ID: JJ2Jh1I6y4h
2017-10-11 10:00:37 +09:00
Hiroyuki Ikezoe
f50a03dd72 Bug 1407463 - Drop unused pseudo atom argument from ResolveStyleLazily and ResolveStyleLazilyInternal. r=heycam
MozReview-Commit-ID: Lmjqbr7QsTU
2017-10-11 10:00:28 +09:00
Hiroyuki Ikezoe
f0a38025cf Bug 1329169 - Use atom for animation-name property. r=xidorn
MozReview-Commit-ID: 9yVWXVi1oXf
2017-10-10 17:00:28 +09:00
Nicholas Nethercote
7dbfdaf890 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
2017-10-03 09:05:19 +11:00
Hiroyuki Ikezoe
0f37fa04d1 Bug 1406284 - Remove unused parent context argument. r=heycam
MozReview-Commit-ID: A1yIOZ1bWjY
2017-10-06 13:51:02 +09:00
Ting-Yu Lin
d35b7d33db 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
2017-09-25 18:50:24 +08:00
Nicholas Nethercote
9fda5528d2 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
2017-09-26 08:33:21 +10:00
Wei-Cheng Pan
ed39aa0d16 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
2017-05-23 12:02:11 +08:00
Ting-Yu Lin
a78b44acbc Bug 1281101 Part 1 - Remove MOZ_ENABLE_MASK_AS_SHORTHAND from layout code. r=cjku
MozReview-Commit-ID: HWq2IOLsflD
2017-09-21 17:36:57 +08:00
Xidorn Quan
45b9f27e27 Bug 1400438 - Use array instead of linked list for -moz-border-*-colors. r=heycam,mattwoodrow
MozReview-Commit-ID: LPl1Rlg5gRn
2017-09-18 13:38:39 +10:00
Sebastian Hengst
b57b40549e Backed out changeset 61a277705d59 (bug 1400438) for heap write hazard. r=backout 2017-09-20 16:52:02 +02:00
Xidorn Quan
060ebcb57f Bug 1400438 - Use array instead of linked list for -moz-border-*-colors. r=heycam,mattwoodrow
MozReview-Commit-ID: LPl1Rlg5gRn
2017-09-20 22:52:20 +10:00
Sebastian Hengst
60681b0d1d 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
d04464d1b9 Bug 1400438 - Use array instead of linked list for -moz-border-*-colors. r=heycam,mattwoodrow
MozReview-Commit-ID: LPl1Rlg5gRn
2017-09-18 13:38:39 +10:00
Markus Stange
20d02b9b24 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
715f8dd4b6 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
2017-08-30 14:39:44 -07:00
Xidorn Quan
543ead416b Bug 1393189 part 2 - Have CounterStyle::GetStyleName return nsIAtom and make it const. r=dholbert
MozReview-Commit-ID: KmnQSK7ZvND
2017-08-29 15:21:36 +10:00
Hiroyuki Ikezoe
a696386490 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
2017-08-17 08:56:00 +09:00
Bobby Holley
867b44bf77 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
a29da54fad Bug 1388255 - Make nsStylePosition::mGridTemplate{Columns,Rows} a UniquePtr. r=canaltinova,dholbert
MozReview-Commit-ID: 8SOE6sAavCX
2017-08-09 11:30:25 +10:00
Cameron McCormack
3431e2f842 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
517dd684bd 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
2934811adc Bug 1302513 Part 3: Remove declarations and implementations of getAuthoredPropertyValue. r=dholbert
MozReview-Commit-ID: LxlUfhPJUaa
2017-07-21 14:18:45 -07:00
Emilio Cobos Álvarez
e9872143d6 Bug 1384542: Fix MustReresolveStyle logic. r=me
MozReview-Commit-ID: 8GdZIyvaRLt
2017-07-31 15:57:25 +02:00
Emilio Cobos Álvarez
54f1c009a9 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
5a23788fa4 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
edd2ad9195 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
2017-07-27 00:45:29 +02:00
Emilio Cobos Álvarez
9be5b7b0e1 Bug 1381083: Preliminary alignment and whitespace fixup. r=heycam
MozReview-Commit-ID: 9V7pqVMOAqo
2017-07-27 00:28:52 +02:00
Emilio Cobos Álvarez
4b6d7fc287 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
Manish Goregaokar
836931eee3 Bug 1382017 part 2 Gecko piece - Remove usage of ServoComputedValues from binding functions; r=xidorn
MozReview-Commit-ID: 3KygTIIMVvF
2017-07-18 23:17:34 -07:00
Manish Goregaokar
86e90da5c3 Bug 1367904 - Part 10: stylo: Switch Gecko over to ServoStyleContext; r=bholley
MozReview-Commit-ID: EmopKVjEzlz
2017-07-17 21:00:46 -07:00
Manish Goregaokar
a0cec6421f Bug 1367904 - Part 5: stylo: Make GetBaseComputedValuesForElement return a style context; r=bholley
MozReview-Commit-ID: K5WpWc26xNZ
2017-07-17 21:00:32 -07:00
Wei-Cheng Pan
4c06965307 Bug 1366964 - Update style context generation after style resolved. r=heycam
Adds another restyle generation which represents the dirty state of raw
style changes, so that getComputedStyle() wont be confused by optimizations
made by style engines.

MozReview-Commit-ID: 7RYeNCzFygO
2017-05-23 14:13:47 +08:00
Emilio Cobos Álvarez
2ec93aa1e1 Bug 1379505: Allow calling GetBaseComputedStylesForElement for an unstyled element. r=boris
Before this refactoring, getComputedStyle could have side effects, and left the
style data in the element, so we could never arrive there without data.

There are a few crashtests that caught this, but this was already broken if you
called animate() on an element deep in a display: none subtree.

MozReview-Commit-ID: 1AvOvhAyOP3
2017-07-10 13:33:21 +02:00
Brian Birtles
3598e085da Bug 1370123 - Make aContent parameter to nsComputedDOMStyle::GetPresShellForContent const; r=xidorn
MozReview-Commit-ID: 8eZ7JmgE1XY
2017-06-19 12:21:17 +09:00
Fernando Jimenez Moreno
316e1e91cd Bug 1375555 - Part 2: Implement indexed getter for custom property names. r=emilio
MozReview-Commit-ID: Ckc85EJcngM
2017-06-28 19:25:10 -07:00
Fernando Jimenez Moreno
9a5eff4f3d Bug 1375555 - Part 1: Get custom props count from Servo side for nsComputedDOMStyle::GetLength. r=emilio
MozReview-Commit-ID: DYY37HGqRq0
2017-06-28 19:25:10 -07:00
Bobby Holley
0bb4f2f9ec Bug 1376655 - Use ServoStyleContext in more places. r=emilio 2017-06-28 10:08:36 -07:00
Fernando Jimenez Moreno
e0b816af95 Bug 1336891 - stylo: Implement custom property value getter. r=emilio
MozReview-Commit-ID: AfAJtNJyCSO
2017-06-22 20:06:57 +02:00
Markus Stange
539f07616a Bug 1370034 - Add CSS properties -moz-window-transform and -moz-window-transform-origin, style system parts (excluding stylo). r=dbaron
MozReview-Commit-ID: BlLMswF0bKO
2017-06-19 01:44:22 -04:00
Markus Stange
b8c33eb763 Bug 1370034 - Add -moz-window-opacity property, style system parts (excluding stylo). r=dbaron
MozReview-Commit-ID: J2SPMzh0I9C
2017-06-18 21:04:40 -04:00
Cameron McCormack
95368ca21c Backout bug 1291457 and bug 1370034 for bustage. 2017-06-19 13:55:15 +08:00
Markus Stange
ec6ecdb465 Bug 1370034 - Add CSS properties -moz-window-transform and -moz-window-transform-origin, style system parts (excluding stylo). r=dbaron
MozReview-Commit-ID: BlLMswF0bKO
2017-06-19 00:21:16 -04:00
Markus Stange
39724e9b46 Bug 1370034 - Add -moz-window-opacity property, style system parts (excluding stylo). r=dbaron
MozReview-Commit-ID: J2SPMzh0I9C
2017-06-18 21:04:40 -04:00
Manish Goregaokar
533734efc7 Bug 1373018 - Part 10: stylo: Remove StyleSource; r=bholley
MozReview-Commit-ID: 4IcROeDNoBA
2017-06-10 22:27:45 -07:00
Manish Goregaokar
d6c7e909d2 Bug 1373018 - Part 7: stylo: Move nsStyleContext::mSource into subclasses; r=bholley
MozReview-Commit-ID: AspYUJ7lGqD
2017-06-10 22:27:45 -07:00