Commit Graph

989 Commits

Author SHA1 Message Date
Cosmin Sabou
b577c1c6c0 Backed out 3 changesets (bug 1434376) for build bustages on SystemTimeConverter.h(177)
Backed out changeset 2ed5aefc5bc2 (bug 1434376)
Backed out changeset 1b474fb6d798 (bug 1434376)
Backed out changeset 4e6a21e50be0 (bug 1434376)
2018-02-23 23:17:42 +02:00
Mike Conley
2002a64ddf Bug 1434376 - Introduce ChromeOnly window.promiseDocumentFlushed to detect when refresh driver ticks have completed. r=bz
This is particularly useful for knowing when it's safe to query for style and
layout information for a window without causing a synchronous style or layout
flush.

Note that promiseDocumentFlushed was chosen over promiseDidRefresh or promiseRefreshed
to avoid potential confusion with the actual network-level refresh of browsers or
documents.

MozReview-Commit-ID: Am3G9yvSgdN
2018-02-11 20:14:49 -05:00
Emilio Cobos Álvarez
e43f069814 Bug 1439285: Make the old image request arrive to FinishStyle if we come from ResolveSameStructsAs. r=bholley
MozReview-Commit-ID: H1N9jNql9tl
2018-02-22 19:44:44 +01:00
Cameron McCormack
34288f7f48 Bug 1430014 - Part 5: Stop building old style system classes when MOZ_OLD_STYLE is not defined. r=xidorn
MozReview-Commit-ID: CIHyPdF7Exl
2018-02-01 15:04:04 +11:00
Cameron McCormack
02c617875f Bug 1430014 - Part 4: #ifdef out unnecessary code when the old style system is not built. r=xidorn
MozReview-Commit-ID: 1FZ9VzjcPzN
2018-02-01 15:04:04 +11:00
cku
afd0b3d14e Bug 1207734 - Part 4.c. Temporarily disable async-transform for individual-transform. r=birtles
Since we do not support async-transform for individual-transform yet.

MozReview-Commit-ID: gfOzHpjOnQ
(grafted from dd508458f70d5473256a4bfe5a2f6bc665bbac9d)
2018-01-05 14:45:05 +08:00
cku
7dc339dd52 Bug 1207734 - Part 4.a. Store the final combined transform in nsStyleDisplay::mCombinedTransform. r=birtles
MozReview-Commit-ID: FsuaMoclnL8
(grafted from 793e73f61ee1d0035b3d9d881df4eb784da3c4e9)
2018-01-24 16:22:46 +09:00
cku
b342da0285 Bug 1207734 - Part 1.d. Carry the computed value of individual transform in nsStyleDisplay. r=emilio
Add three more attributes in nsStyleDisplay
1. mSpecifiedRotate to carry computed value of 'rotate' property.
2. mSpecifiedTranslate to carry computed value of 'translate' property.
3. mSpecifiedScale to carry computed value of 'scale' property.

Since each of these tree new property can be an animation target, we have to store
them in speparate attributes, instead of putting them all in mSpecifiedTransform.

MozReview-Commit-ID: G2dBAxzyBWh
(grafted from 04fe9115ce1d189155ff9b2c89b1a656a55dd1c9)
2017-12-06 17:17:34 +08:00
cku
dbe2ffa248 Bug 1207734 - Part 1.c. Fix coding style of HasTransformStyle. r=birtles
MozReview-Commit-ID: 3UgIrO5qLFq
(grafted from a5b445762b46d3c247e4a57864c66454f5d58218)
2018-01-15 11:12:25 +08:00
Emilio Cobos Álvarez
f085fb7158 Bug 1429723: Remove -moz-border-*-colors. r=xidorn
MozReview-Commit-ID: 3P6f7rFcDa6
2018-01-22 18:14:07 +01:00
Hiroyuki Ikezoe
c783c3b8c6 Bug 1420928 - Drop StyleTransition::GetCombinedDuration. r=boris
We no longer call the function directly.  It has been replaced by
nsStyleDisplay::GetTransitionCombinedDuraion(uint32_t).

MozReview-Commit-ID: 9wZExWPmnyG
2018-01-05 06:24:09 +09:00
Hiroyuki Ikezoe
39d45680e3 Bug 1420928 - Add a function that calculates combined duration with a given position in the transition-property list. r=boris
MozReview-Commit-ID: 9YOII9lqtRq
2018-01-05 06:24:08 +09:00
Hiroyuki Ikezoe
260ebbbfb2 Bug 1420928 - Add getters for each transition property in nsStyleDisplay. r=boris
MozReview-Commit-ID: KMUk5VFmKG7
2018-01-05 06:24:08 +09:00
Hiroyuki Ikezoe
1559e331b2 Bug 1420928 - Add getters for each animation property in nsStyleDisplay. r=boris
This is also a prerequisite to use repeated values for the used value.
Note that each count should never be zero since their initial value is 1 and
we never set zero length property value to the member.

MozReview-Commit-ID: 44ZMhopuK6o
2018-01-05 06:24:08 +09:00
Xidorn Quan
6831f9fcc2 Bug 1325940 part 2 - Converted NS_STYLE_BORDER_IMAGE_REPEAT_* to an enum class. r=emilio
MozReview-Commit-ID: Kdzm5D8Dpv
2017-12-21 16:16:40 +11:00
Mats Palmgren
03018ea47a Bug 1422839 part 1 - Add internal overflow-clip-box-block/-inline properties and make overflow-clip-box a shorthand. r=dholbert
MozReview-Commit-ID: axoDaWnOJQ
2017-12-05 21:08:41 +01:00
Ting-Yu Lin
ce7a0e0ebb Bug 1265343 Part 1 - Add shape-image-threshold to style system. r=heycam
devtools/shared/css/generated/properties-db.js is generated by running
"./mach devtools-css-db"

MozReview-Commit-ID: 1U4yoQTDwxi
2017-11-27 15:01:25 +08:00
Ting-Yu Lin
48f97afc24 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
2017-11-17 16:34:37 +08:00
Ting-Yu Lin
e4a120ce82 Bug 1418224 Part 1 - Change StyleShapeSource::SetURL's return type to void. r=heycam
No caller check the return value, and SetURL ever returns true.

MozReview-Commit-ID: 5XPFq41Ktlq
2017-10-02 17:51:20 +08:00
Emilio Cobos Álvarez
2cbb6be7a5 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
2017-11-24 15:15:38 +01:00
dluca
617c4e7f6a 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
0ba402e925 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
2017-11-17 16:34:37 +08:00
Ting-Yu Lin
1f1bf331d5 Bug 1418224 Part 1 - Change StyleShapeSource::SetURL's return type to void. r=heycam
No caller check the return value, and SetURL ever returns true.

MozReview-Commit-ID: 5XPFq41Ktlq
2017-10-02 17:51:20 +08:00
Botond Ballo
d2150a861f Bug 951793 - Style support for overscroll-behavior. r=heycam
MozReview-Commit-ID: IDAfBZy2D5p
2017-11-25 01:28:58 +01:00
Sebastian Hengst
df2429a1ad 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
3bc3bacff3 Bug 951793 - Style support for overscroll-behavior. r=heycam
MozReview-Commit-ID: IDAfBZy2D5p
2017-11-22 19:01:11 -05:00
Cameron McCormack
382b3d4bbb Bug 1418899 - Part 4: Move image layer filling function out of nsRuleNode. r=cjku
MozReview-Commit-ID: 2FXGFEkpIKE
2017-11-20 13:53:58 +08:00
Markus Stange
a2cbb75a70 Bug 1414147 - Move fontSmoothingBackgroundColor from nsStyleUserInterface to nsStyleFont / nsFont. r=dbaron
MozReview-Commit-ID: 7i0Sy50Badm
2017-11-02 17:48:44 -04:00
Emilio Cobos Álvarez
837d1e8cbc Bug 1412486: Make the replacement for UniquePtr not have a deleter parameter. r=xidorn
Bindgen now assumes for replaced types that all the template parameters are
used, which makes sense.

We don't use the Deleter, so let's get rid of it.

MozReview-Commit-ID: AXxRgyLorD7
2017-10-30 12:01:01 +01: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
Ting-Yu Lin
b445303baa Bug 1404243 Part 4 - Change StyleShapeSource's URL value storage by using nsStyleImage. r=heycam
This is for implementing shape-outside: <image> later.

MozReview-Commit-ID: 93TmLecRjRx
2017-09-29 16:24:23 +08: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
Ting-Yu Lin
bdeac3a666 Bug 1404243 Part 2 - Change StyleShapeSource::operator==() to use logic in DefinitelyEquals(). r=heycam
The original operator==() (implemented by EqualsInternal<true>) is not been
used. Therefore, I expand EqualsInternal<false> into it, and move it to
nsStyleStruct.cpp.

Also, use DefinitelyEqualURIs() in nsStyleStruct.cpp in operator==().

MozReview-Commit-ID: HccwKvzQHR
2017-09-29 14:36:35 +08:00
Ting-Yu Lin
73270862cd Bug 1404243 Part 1 - Move StyleShapeSource's large methods to nsStyleStruct.cpp. r=heycam
MozReview-Commit-ID: 5X5LGCSzSwX
2017-09-27 11:32:38 +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
Manish Goregaokar
5ff33e95bc Bug 1399228 - stylo: Add font keyword info fields on nsStyleFont; r=emilio
MozReview-Commit-ID: ERCnLLiAsFg
2017-09-23 12:55:34 -07:00
Ting-Yu Lin
524267638f Bug 1402246 - Remove unused NS_SPACING_{MARGIN, PADDING, BORDER}. r=heycam
MozReview-Commit-ID: DOW5EnFLQxL
2017-09-22 15:57:14 +08:00
Ting-Yu Lin
f08b8a9d2c Bug 1402246 - Remove "friend struct" declarations in nsStyleStruct.h. r=heycam
Those structs do not have any private section, so those "friend struct"
declarations are not needed.

MozReview-Commit-ID: BYPPPLAdiEQ
2017-09-22 15:30:36 +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
vincentliu
4d017bdb50 Bug 1399006 - Invoke PurgeCachedImages to release object in main thread while ServoTraversal. r=bholley 2017-09-19 15:13:27 +08: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
Ting-Yu Chou
a59c58f2d4 Bug 1391500 - Fix the new-delete-type-mismatch error that ASan reports. r=Ehsan
MozReview-Commit-ID: 1iGtltDGj3T
2017-08-18 11:39:14 +08: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
Xidorn Quan
659b196e60 Bug 1338764 part 1 - Use const rather than enum for context flags of nsStyleSVG. r=manishearth
MozReview-Commit-ID: KzORnfVXgLJ
2017-07-17 15:10:50 +10: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
cku
21b45c01ef Bug 1301245 - Part 1. Implement nsStyleImage::IsResolved. r=heycam
We need this new API in the following patch.

MozReview-Commit-ID: JSoCgzKWrfs
2017-07-20 01:02:17 +08:00
Jonathan Chan
26836c915b Bug 1355380 - Part 2: Make Servo's rounding of image-orientation values agree with Gecko's, and pass orientations directly as an enum instead of as angles. r=manishearth
Both Servo and Gecko store the specified value of the image-orientation
property as a single-precision float, but Gecko does the conversion to radians
and the computation to identify which quarter-turn the angle is closest to
using doubles.

We add Angle::radians64 to perform the conversion to radians using doubles,
just as Gecko does, and then update image_orientation to perform the
computation the same exact way Gecko does in
nsStyleImageOrientation::CreateAsAngleAndFlip. This lets the previously failing
reftests pass.

We also update Gecko_SetImageOrientation to take an orientation directly
instead of an angle (otherwise we'd be doing the which-quarter-turn-is-closest
computation twice).

Finally this lets us re-enable the reftests for image-orientation previously
marked as fails-if(styloVsGecko||stylo).

MozReview-Commit-ID: 2zMMzQlsYEC
2017-07-10 11:32:08 -07:00