Commit graph

920 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
Ting-Yu Lin
8560cb2888 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

--HG--
extra : rebase_source : 7522e024ed38da5e1524eb3128bbf5a70e46177f
2017-10-02 17:51:20 +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
Cameron McCormack
0a20585745 Bug 1418899 - Part 4: Move image layer filling function out of nsRuleNode. r=cjku
MozReview-Commit-ID: 2FXGFEkpIKE

--HG--
extra : rebase_source : 280c85f0e53e6426289580a345685898888ed266
2017-11-20 13:53:58 +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
Emilio Cobos Álvarez
62b555ba78 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

--HG--
extra : rebase_source : 844691924cbe692deceeda79d031d9f95bd4f33f
2017-10-30 12:01:01 +01: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
Ting-Yu Lin
0407b6a507 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

--HG--
extra : rebase_source : c2b39b1e12ef96e80a3ceb0a800767d379e6e6bb
2017-09-29 16:24:23 +08: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
Ting-Yu Lin
d8c9dae62b 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

--HG--
extra : rebase_source : f63dac121e13fd9c6dccf7f0c6e870bd75d9e03a
2017-09-29 14:36:35 +08:00
Ting-Yu Lin
5df24bad8e Bug 1404243 Part 1 - Move StyleShapeSource's large methods to nsStyleStruct.cpp. r=heycam
MozReview-Commit-ID: 5X5LGCSzSwX

--HG--
extra : rebase_source : 28e8a499184688f13069857b886306b3d9b3840f
2017-09-27 11:32:38 +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
Manish Goregaokar
aa9a1e8f52 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
5c26eb9921 Bug 1402246 - Remove unused NS_SPACING_{MARGIN, PADDING, BORDER}. r=heycam
MozReview-Commit-ID: DOW5EnFLQxL

--HG--
extra : rebase_source : 96e9d66661db071395cea3be8831b0ee6f50ffd9
2017-09-22 15:57:14 +08:00
Ting-Yu Lin
b6b721ba8f 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

--HG--
extra : rebase_source : 58cb78f8d6f8c60c7345ece204326cf580d5905f
2017-09-22 15:30:36 +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
vincentliu
149b31c142 Bug 1399006 - Invoke PurgeCachedImages to release object in main thread while ServoTraversal. r=bholley 2017-09-19 15:13:27 +08: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
Ting-Yu Chou
a472c6ecc1 Bug 1391500 - Fix the new-delete-type-mismatch error that ASan reports. r=Ehsan
MozReview-Commit-ID: 1iGtltDGj3T

--HG--
extra : rebase_source : d667cb31f15978046cec9a5fabd9b246b838a780
2017-08-18 11:39:14 +08: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
Xidorn Quan
0e98738d78 Bug 1338764 part 1 - Use const rather than enum for context flags of nsStyleSVG. r=manishearth
MozReview-Commit-ID: KzORnfVXgLJ

--HG--
extra : rebase_source : 365842d6e6fda4b35a5932272773a3d88bfc04c6
2017-07-17 15:10:50 +10: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
cku
d869a580cc Bug 1301245 - Part 1. Implement nsStyleImage::IsResolved. r=heycam
We need this new API in the following patch.

MozReview-Commit-ID: JSoCgzKWrfs

--HG--
extra : rebase_source : e7da0a990b991b1c417015a9cb4f9e2b1e98faae
extra : source : 8f02c1ea8448315f9284939823d66e67cdc5ad87
2017-07-20 01:02:17 +08:00
Jonathan Chan
4a6248b9a6 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

--HG--
extra : rebase_source : 99ed023e940193d4ad735a9ee27e45929a1efda1
2017-07-10 11:32:08 -07:00
Jonathan Chan
016ee566a7 Bug 1355380 - Part 1: Have nsStyleImageOrientation::CreateAsAngleAndFlip handle negative angles correctly. r=manishearth
Previously we just took the input angle mod 2π, which will leave negative input
angles as negative. By checking if the input mod 2π is negative and if so
adding 2π and then taking that mod 2π again we can ensure that we end up with a
an angle in the range [0, 2π].

We only do this if the result of the initial mod is negative because this adds
rounding error that is enough to mess up whether 135 is determined to be closer
to 90 or 180, for example.

We add a test for this as well.

Also fix property_database.js to account for this (we assert that -90deg should
compute to the same value as the initial value, but it should actually compute
to 270deg).

MozReview-Commit-ID: Faf0f7wIEg3

--HG--
extra : rebase_source : 6b2d15f90e541fcb8b6083e15772eee514603e57
2017-07-07 16:03:37 -07:00
Bobby Holley
83be980ecc Bug 1376655 - Don't call EnsureSameStructsCached in ServoRestyleManager. r=emilio 2017-06-28 10:08:37 -07:00
Nicholas Nethercote
f1364a75ea Bug 1374580 (part 3) - Remove ns{,C}Substring typedefs. r=froydnj.
All the instances are converted as follows.

- nsSubstring  --> nsAString
- nsCSubstring --> nsACString

--HG--
extra : rebase_source : cfd2238c52e3cb4d13e3bd5ddb80ba6584ab6d91
2017-06-20 19:19:52 +10:00
Markus Stange
579f0e24a9 Bug 1370034 - Add CSS properties -moz-window-transform and -moz-window-transform-origin, style system parts (excluding stylo). r=dbaron
MozReview-Commit-ID: BlLMswF0bKO

--HG--
extra : rebase_source : c064a2774f352ca2a3b0139e8a8f657c3a4ea1d8
extra : source : 6bd03efee80afb048db2e51777a8e5ff6db80dc4
2017-06-19 01:44:22 -04:00
Markus Stange
ccaf464b9e Bug 1370034 - Add -moz-window-opacity property, style system parts (excluding stylo). r=dbaron
MozReview-Commit-ID: J2SPMzh0I9C

--HG--
extra : rebase_source : b8c5f267f99fb7bab560af82a386cd3f3a9af5f3
2017-06-18 21:04:40 -04:00
Cameron McCormack
1849ea4995 Backout bug 1291457 and bug 1370034 for bustage. 2017-06-19 13:55:15 +08:00
Markus Stange
f3b2407d70 Bug 1370034 - Add CSS properties -moz-window-transform and -moz-window-transform-origin, style system parts (excluding stylo). r=dbaron
MozReview-Commit-ID: BlLMswF0bKO

--HG--
extra : rebase_source : 170e4db9ad8b285f7575e39109517cb6acef8733
extra : source : 6bd03efee80afb048db2e51777a8e5ff6db80dc4
2017-06-19 00:21:16 -04:00
Markus Stange
9ec017c7c6 Bug 1370034 - Add -moz-window-opacity property, style system parts (excluding stylo). r=dbaron
MozReview-Commit-ID: J2SPMzh0I9C

--HG--
extra : rebase_source : b8c5f267f99fb7bab560af82a386cd3f3a9af5f3
2017-06-18 21:04:40 -04:00
Manish Goregaokar
7fceedfbae Bug 1373018 - Part 2: stylo: Add stylo conversion methods for nsStyleContext; stop using arena; r=bholley
MozReview-Commit-ID: CeIDP7idlmC

--HG--
extra : rebase_source : 8e7ec95fd068e562d947fbc39e84cd8e60daa910
2017-06-10 22:27:45 -07:00
Xidorn Quan
45ebf973e4 Bug 1372549 part 2 - Avoid return reframe / reflow for list-style-{type,position} if display is not list-item. r=heycam
MozReview-Commit-ID: LugfFRIu3MS

--HG--
extra : rebase_source : 897c2c77de513a59164d428e348a27cf284f792d
2017-06-13 20:49:33 +10:00
Jeff Hajewski
21dd3e708d Bug 1371354: Changes macro defined NS_SYTLE_IMAGELAYER_ to enum class StyleImageLayer; r=manishearth
MozReview-Commit-ID: DgvenevRHg2
2017-06-09 16:53:34 -07:00
Jeff Hajewski
12f7c1e837 Bug 1369448 - Change NS_STYLE_WHITESPACE macro definitions to enum class; r=manishearth
MozReview-Commit-ID: HUXYWXk8eiI
2017-06-01 15:37:22 -07:00
Xidorn Quan
118e3a973d Bug 1363596 part 1 - Merge nsCOMPtr<nsIAtom> into CounterStylePtr. r=heycam
MozReview-Commit-ID: D2fdlrC3yop

--HG--
extra : source : f8256885e1be8bc2523d705b10fe1796c64c4ccd
2017-05-27 23:33:25 +10:00
Xidorn Quan
46dd59904a Bug 1366735 part 2 - Use the new struct in stylo. r=heycam
MozReview-Commit-ID: trgd0lKLP1

--HG--
extra : rebase_source : 8216769c7ee2a323d2af2080dd97cac3489af82d
2017-05-23 00:32:05 +10:00
Xidorn Quan
1dd9b6bad1 Bug 1366735 part 1 - Change counter functions to use struct rather than nsCSSValue::Array. r=heycam
MozReview-Commit-ID: 4FiOxCOsjtD

--HG--
extra : rebase_source : 0a2ef777045603fe591ba3a74259699a2339cede
2017-05-22 22:51:20 +10:00
Mats Palmgren
297b9d70e1 Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz
MozReview-Commit-ID: IbwWM0FL6HF

--HG--
extra : source : bbb688fe1ba3f5201a190c6e25b693ef7272ea2d
2017-05-21 17:15:00 +08:00
Carsten "Tomcat" Book
00d4ea331d Backed out changeset bbb688fe1ba3 (bug 1365614) 2017-05-22 15:45:31 +02:00
Mats Palmgren
e706869580 Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz 2017-05-21 17:15:00 +08:00
Neil Deakin
f36da07def Bug 1364115 - Allow -moz-stack-sizing to work in a single direction only. r=dbaron,manishearth
MozReview-Commit-ID: Kl7YQpfolTC

--HG--
rename : layout/reftests/bugs/346189-1-ref.xul => layout/reftests/xul/stack-sizing-1-ref.xul
rename : layout/reftests/bugs/346189-1.xul => layout/reftests/xul/stack-sizing-1.xul
extra : rebase_source : e536212980c832c04423871e0fa9dfc09f8a5994
extra : source : a65814deeb7a7f64189d3a9388ac295c6f5b4958
2017-05-15 12:33:46 +01:00