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

900 Коммитов

Автор SHA1 Сообщение Дата
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
cku 5e40c4609b Bug 1310885 - Part 11. (gecko) Clean up unused things. r=heycam
MozReview-Commit-ID: CxHbNyVNSz8

--HG--
extra : rebase_source : c9b3600e31023d79736f4df871ed741c37b1647f
extra : intermediate-source : d650a2abb555fb2bed3d832bc8f007ec7909c99e
extra : source : 33e2a248ed4da28bba3b0e4b745e3d894c68ed4d
2017-04-28 19:47:04 +08:00
Xidorn Quan 3fc45ef29b Bug 1328319 part 6 - Make it possible to delay resolving counter style. r=heycam
MozReview-Commit-ID: 5rlGBf9Asu4

--HG--
extra : rebase_source : d2e154714c9dd636ff8dd1e1b40342bf2b19a222
2017-05-15 14:22:10 +10:00
Xidorn Quan 8c54e3ce73 Bug 1363699 part 1 - Make named CounterStyle objects not refcounted. r=heycam
This change does the following:
* Introduce a new smart pointer called CounterStylePtr which either
  holds an AnonymousCounterStyle strongly, or a named CounterStyle
  managed by CounterStyleManager weakly, and use it to replace all
  RefPtr<CounterStyle> around the codebase.
* Rename CounterStyleManager::mCacheTable to mStyles to reflect the
  fact that it is used to manage all styles, not just for caching.
* Add a retired styles list which collect all named CounterStyle
  evicted from mStyles, and post a PostRefreshObserver to destroy
  objects in that list after next flush.
* Remove helper functions for counter style in nsStyleList and expose
  mCounterStyle directly, to make code simpler with the new pointer.

Reason for adding a new smart pointer type rather than making their
AddRef/Release behave like BuiltinCounterStyle is that, it is possible
that after a flush, some stale style structs may still be alive. They
can contain pointer to destroyed CounterStyle objects. Although the
actual content may never be accessed anymore, RefPtr may still access
the object for refcounting during destruction.

MozReview-Commit-ID: xxegwSDhNb

--HG--
extra : rebase_source : bb5443f0eb56eee51cbdfd08e0400335648610e8
2017-05-13 21:42:23 +10:00
cku 4877f8d094 Bug 1310885 - Part 3. (gecko) Create a new API to receive cached ImageValue from stylo.
This patch implement several things:
1. Implement a new constructor for nsStyleImageRequest to receive an existing
   ImageValue from the caller.
2. Implement Gecko_ImageValue_Create to allow stylo to create a gecko::ImageValue
   object.
3. Implement Gecko_SetXXXXImageValue to allow stylo to pass a created ImageValue
   back to gecko.

MozReview-Commit-ID: 1SbW5w8FSV2

--HG--
extra : source : 63777ecf4c7138a0ce5847753a41efcbfc8e2b20
extra : intermediate-source : dced488c119da7e3ae27c903c0dcc76593d8a06d
2017-05-02 16:20:01 +08:00
Phil Ringnalda 0b5026dbf2 Backed out 3 changesets (bug 1310885) for heap write hazard failures
Backed out changeset 77352010d8e8 (bug 1310885)
Backed out changeset 9245a2fbb974 (bug 1310885)
Backed out changeset 7c2db290c4b6 (bug 1310885)

MozReview-Commit-ID: 7JWuxt9QDO0
2017-05-11 23:03:31 -07:00
cku bbbef1e5fb Bug 1310885 - Part 3. (gecko) Create a new API to receive cached ImageValue from stylo. r=heycam
This patch implement several things:
1. Implement a new constructor for nsStyleImageRequest to receive an existing
   ImageValue from the caller.
2. Implement Gecko_ImageValue_Create to allow stylo to create a gecko::ImageValue
   object.
3. Implement Gecko_SetXXXXImageValue to allow stylo to pass a created ImageValue
   back to gecko.

MozReview-Commit-ID: 1SbW5w8FSV2

--HG--
extra : rebase_source : f3ce46922ded8414dabb70ef0e58177f48c4bb14
extra : intermediate-source : c146e6dcac12ed597e785dbf4f3d9c1ad323023e
extra : source : 63777ecf4c7138a0ce5847753a41efcbfc8e2b20
2017-05-02 16:20:01 +08:00
Xidorn Quan 98f239480d Bug 1362302 part 1 - Use nsIAtom for counter style names. r=dbaron
MozReview-Commit-ID: 5VK6BgGRVRs

--HG--
extra : rebase_source : 104a28eddeb7984bd9f691693cf8debc1387fb87
2017-05-06 11:34:35 +10:00
Robert Longson 0c1b6c1fcc Bug 1347409 part 2 - serialise fill and stroke fallback properly r=cam 2017-05-02 22:12:59 +01:00
Robert Longson 732aac6704 Bug 1347409 part 1 - introduce nsStyleSVGFallbackType so that we can begin to distinguish the type of paintserver fallback r=cam 2017-04-29 14:03:20 +01:00
Jonathan Watt e0f3ff607a Bug 1350010, part 1 - Implement the '-moz-context-properties' property. r=heycam
MozReview-Commit-ID: CyVQe0UfKdy
2017-04-11 21:38:10 +01:00
Boris Chiou afec853085 Bug 1357357 - Part 1: Add one FFI to set unsupported transition property. r=emilio
We need an FFI, Gecko_StyleTransition_SetUnsupportedProperty, to set the
mProperty and mUnknownProperty of StyleTransition. In Servo, we put
non-animatable, custom, and unrecognized property together, so this FFI
should look up the nsCSSPropertyID of the input string, and then store the
value and the unknown property string (if any) back to StyleTransition.

MozReview-Commit-ID: 4iZNKXNSrzj

--HG--
extra : rebase_source : 088daa620133418afdc6b1c97b6e90ceb7cf3b75
2017-04-26 17:41:45 +08:00
Daniel Holbert 4613644133 Bug 1357117 part 2: Add flag to distinguish between -moz & -webkit prefixed gradient expressions. r=heycam
This patch doesn't change our behavior -- we won't actually act on the new flag
until the next patch in this series.

MozReview-Commit-ID: EONsLM54eG1

--HG--
extra : rebase_source : cabd4a140d575794a8a656c47692bb9d3a02de88
2017-04-25 11:48:39 -07:00
Jeremy Chen 3e5064f08f Bug 1348173 - stylo: combined gecko side patch for -moz-border-*-colors support. r=heycam
MozReview-Commit-ID: 53gWkWKJNmV

--HG--
extra : rebase_source : 5bd1ddaf954533094c77a3ca5bdf9f3c3441056f
2017-04-25 14:50:44 +08:00
Iris Hsiao 28a432c0ec Backed out changeset 9c7c061b959f (bug 1348173) for hazard busted 2017-04-25 14:24:10 +08:00
Jeremy Chen 9cd2c96926 Bug 1348173 - stylo: combined gecko side patch for -moz-border-*-colors support. r=heycam
1. add binding functions for -moz-border-*-colors support.

  In Gecko, we use double pointers to nsBorderColors to store -moz-border-*-colors.
  The computed values of -moz-border-*-colors are set by couple member functions.

  To pass the computed value from Servo to Gecko, we need support for these member
  functions as well. So, I'm adding some binding functions in this patch. The
  actual use of these bindings to pass/store the computed values is separated
  in the following patch, which should be a pure Servo change. See servo PR:
  https://github.com/servo/servo/pull/16586.

2. update test expectations for -moz-border-*-colors support.

  Note that with the support of -moz-border-*-colors, 165 mochitests and 17 reftests
  could be fixed.

MozReview-Commit-ID: KDbp8C6Aoqd

--HG--
extra : rebase_source : 7d9675d9ece091ea6957dcae7d28c39066e69035
2017-04-24 18:23:52 +08:00
Eric Rahm 152fcf01fe Bug 1356060 - Just use nsString in URLValueData. r=heycam
This switches over from using nsStringBuffer to nsString for URLValueData's
|mString| member. This avoids various tedious conversions and can provide
potential performance improvements by avoiding length calculations.

MozReview-Commit-ID: 5eRifUZrAso
2017-04-13 15:18:25 -07:00
Nazım Can Altınova a99f2a36a0 Bug 1341761 - Convert nsStyleImage::mElementId to use nsIAtom. r=xidorn
MozReview-Commit-ID: 9YcbhMmXYoi
2017-04-09 16:44:36 +03:00
cku 21a1b43445 Bug 1352096 - Part 2. Remove Layer::mSourceURI. r=heycam
Now, remove Layer::mSourceURI, there are several benefit of doing this:
1. Reduce the size of nsStyleImage::Layer.
2. By storing style image and url information in nsStyleImage, we can remove
many verbose comments. That is becasue there is no need to explain why we use
mSourceURI here, or why we use nsStyleImage there anymore.
3. Since all inforamtion is stored in on place, nsStyleImage, we can setup image
request or URLs by one single Gecko_SetUrlImageValue call.

MozReview-Commit-ID: 7aTQobddTB1

--HG--
extra : rebase_source : 247e3b66c727a9116c58d3d6ff3ae0f7a58f2338
2017-03-31 01:50:21 +08:00
cku 0a71f961c5 Bug 1352096 - Part 1. Implement nsStyleImage::SetURL and GetURLValueData. r=heycam
This patch implements two things:
1. Add one extra type, nsStyleImageType::eStyleImageType_Url, and puts data of
this type in nsStyleImage::mUrlData.
2. Export SetURLValueData and GetURLValueData from nsStyleImage

With these chnages, we can simply use nsStyleImage::mUrlData to replace
Layer::mSourceURI in the next patch.

MozReview-Commit-ID: E20MEzXv8cg

--HG--
extra : rebase_source : 5461edacb28676e9d3a12068f330b5db7b9fe32c
2017-03-30 23:16:46 +08:00
Xidorn Quan 2df49dbac2 Bug 1343964 part 1 - Move URLExtraData into its own header. r=heycam
This patch does the following in addition to a simple move:
* change the type of the pointers from RefPtr to nsCOMPtr
* move it from mozilla::css namespace to mozilla

MozReview-Commit-ID: 72MYq6kWm4s

--HG--
extra : rebase_source : 400fe0d7cc422f22592c302cfd4e457830b77e3e
2017-04-04 10:04:13 +10:00