Commit Graph

329 Commits

Author SHA1 Message Date
Daniel Holbert
a8a2232acc Bug 1357117 part 3: Serialize -webkit-linear-gradient() expressions using the (less-expressive) -webkit-linear-gradient syntax, instead of -moz-linear-gradient. r=heycam
Specifically:
* This patch uses a flag added in a prior patch to let us use the author's
  chosen prefix (-webkit or -moz) when serializing.  (We treat the -moz version
  as a special case, because that makes it more straightforward to unsupport
  -moz if/when we can.)
* This patch makes us share the linear-gradient() side-or-corner serialization
  codepath when serializing points for -webkit-linear-gradient. (The
  alternative is the -moz-linear-gradient codepath, which defaults to
  serializing with percent values 0%/100% for sides & corners -- and raw
  percentages are invalid in -webkit-linear-gradient(), so we can't share that
  codepath.) Notably, we have to skip the "to " token that the
  linear-gradient() codepath would normally print out -- that was a late
  addition to the spec and so it only exists in the unprefixed modern syntax.
  (Instead, -webkit-linear-gradient syntax is implicitly "from" the given
  point).


MozReview-Commit-ID: 9Oqo8nG1XDU
2017-04-25 11:48:41 -07:00
Daniel Holbert
b2b5cf7068 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
2017-04-25 11:48:39 -07:00
Daniel Holbert
d078e2e1d1 Bug 1357117 part 1: Change linear-gradient serialization code to group space separator with the "to" token. r=heycam
This patch doesn't change our behavior -- we'll still produce the same serialization that we would've before.

MOTIVATION: A later patch will make us share this codepath to serialize into
-webkit-linear-gradient() syntax.  That syntax uses the same representation for
points as unprefixed modern linear-gradient() (with box-side-or-corner keywords
"top", "right", etc.), but it does *not* use the word "to".  So we'd like to
allow "to"-and-its-subsequent-space-character to be optional. Hence, this patch
groups the space together with "to", rather than as a prefix on the next token,
so that we can skip right to printing the point (without a leading space)
when we add support for -webkit-linear-gradient() serialization.

MozReview-Commit-ID: 5fCzx4NmpcC
2017-04-25 11:48:37 -07:00
cku
86fac31415 Bug 1357432 - Part 1. Move IsLocalRefURL to nsContentUtils to reuse this function. r=heycam
IsLocalRefURL is originally designed to be used by URLValue only. Since we need
this function in SVGUseElement::LookupHref too, move it to nsContentUtils as a
util function.

MozReview-Commit-ID: FDjWVbTfB0V
2017-04-18 23:35:56 +08:00
Iris Hsiao
98dbf05642 merge autoland to mozilla-central a=merge 2017-04-14 17:09:58 +08:00
Eric Rahm
843e1a784c Bug 1356060 - Cleanup nits. r=me
MozReview-Commit-ID: Jk6d9UkdbiU
2017-04-13 15:21:41 -07:00
Eric Rahm
6021db5857 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
Xidorn Quan
0f2df09dac Bug 1355734 - Remove text-decoration-line: -moz-anchor-decoration. r=heycam,masayuki
MozReview-Commit-ID: 4TmVncV1K5G
2017-04-13 16:17:03 +08:00
cku
b1c9fe3f9f Bug 1354772 - Part 2. Compute URLValueData::mMightHaveRef when need. r=heycam
MozReview-Commit-ID: 8t5tKrjB1cz
2017-04-10 16:41:51 +08:00
cku
c77e7448d3 Bug 1354772 - Part 1. Compute URLValueData::mIsLocalRef when need. r=heycam
MozReview-Commit-ID: 77pcTcaScF0
2017-04-10 17:25:48 +08:00
Xidorn Quan
93655e51b9 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
2017-04-04 10:04:13 +10:00
Xidorn Quan
95cf226194 Bug 1351957 - Create URLExtraData for holding base uri, referrer, and principal. r=heycam
MozReview-Commit-ID: 1wqTb3kvvWh
2017-03-30 18:54:48 +11:00
Bobby Holley
c2e3d797d1 Bug 1350244 - Back out bug 1348606 part 3 (Inline nsCSSValue::Array::SizeOfIncludingThis). r=me
This reverts commit 0afb8c9034ea1d59d25dac863c9f30430215773a.

MozReview-Commit-ID: IAOnqb5K3J7
2017-03-29 11:05:20 -07:00
Bobby Holley
b86b97cc10 Bug 1350244 - Back out bug 1348606 part 5 (Use a threadsafe array for counters). r=me
This reverts commit 07301f1c3f71b36dbe2345e8faa9bc6d643cfc97.

MozReview-Commit-ID: 8tLjUhki2C1
2017-03-29 11:05:17 -07:00
Bobby Holley
68330022ab Bug 1351026 - Followup build bustage fix. rpending=froydnj CLOSED TREE
MozReview-Commit-ID: FnzU7d5Emq1
2017-03-27 14:34:46 -07:00
Bobby Holley
c6a40ed6f6 Bug 1351026 - Whitelist the compositor thread in DO_RESET. r=emilio
MozReview-Commit-ID: 3k6Rrq7mbWx
2017-03-27 13:11:10 -07:00
Bobby Holley
c374cf6caa Bug 1348606 - Use a threadsafe array for counters. r=xidorn
MozReview-Commit-ID: KgTgcD5mGqr
2017-03-23 10:56:49 -07:00
Bobby Holley
b30cb4dc0b Bug 1348606 - Inline nsCSSValue::Array::SizeOfIncludingThis. r=xidorn
This will make it easier to macro-ize this stuff.

MozReview-Commit-ID: Hcmg6yaTTdt
2017-03-23 10:56:46 -07:00
JerryShih
225732b92d Bug 1347164 - serialize colors using "rgba()" as the color-function, if they have a non-opaque alpha channel. r=dholbert
MozReview-Commit-ID: 44T8gy7UWFJ
2017-03-20 17:26:05 +08:00
Ting-Yu Lin
315afe9175 Bug 1338446 Part 4 - Label StyleImageRequestCleanupTask. r=heycam
If nsStyleImageRequest::Resolve() has been called, we cache the DocGroup and
use it for dispatching events for the clean up task. Otherwise, it's safe to
do clean up task on non-main thread.

MozReview-Commit-ID: BXalEkc6dBm
2017-03-14 21:29:55 +08:00
Manish Goregaokar
ceb5b11b52 Bug 1296477 - Part 2: stylo: Implement remaining content values; r=heycam
MozReview-Commit-ID: 9fLM5bdR8hr
2017-03-11 22:40:54 -08:00
Xidorn Quan
e1027d5733 Bug 1345804 part 2 - Add new AtomIdent unit to nsCSSValue. r=heycam
MozReview-Commit-ID: 4Qc3POvHrJg
2017-03-10 15:53:56 +11:00
cku
c71480a03d Bug 1345377 - Implement URLValueData::HasRef. r=heycam
Improve code readability.

MozReview-Commit-ID: HDJ7TeyqCpN
2017-03-07 17:31:48 +08:00
Xidorn Quan
57b3c7d52d Bug 1339394 - Don't serialize transparent color to transparent keyword when not necessary. r=heycam,jaws
MozReview-Commit-ID: 59cmaCoFJMR
2017-02-16 10:26:13 +11:00
Iris Hsiao
97929fe90a Backed out changeset ae26b4e4d59b (bug 1339394) for developer's request 2017-02-15 13:10:35 +08:00
Xidorn Quan
5444bad47a Bug 1339394 - Don't serialize transparent color to transparent keyword when not necessary. r=heycam
MozReview-Commit-ID: 59cmaCoFJMR
2017-02-14 22:43:32 +11:00
Bobby Holley
fbedff67dc Bug 1335308 - Assert against releasing refcounted nsCSSValue members off-main-thread. r=heycam 2017-02-08 17:04:45 -08:00
Hiroyuki Ikezoe
ca7d37428c Bug 1332657 - Part 2: Implement clone_transform. r=heycam,manishearth
The implementation of clone_transform is an adaptation of set_transform.

MozReview-Commit-ID: ESE1ha0x666
2017-02-03 14:41:29 +09:00
Ting-Yu Lin
9feaa919bb Bug 1320014 Part 6 - Remove #define NS_CORNER_[TOP_LEFT/TOP_RIGHT/BOTTOM_RIGHT/BOTTOM_LEFT] r=mats
MozReview-Commit-ID: ERAwdxKZPf7
2017-01-04 18:15:30 +08:00
Ting-Yu Lin
497d7f2846 Bug 1325006 Part 2 - Convert NS_RADIUS_* to StyleShapeRadius enum class. r=heycam
The "default" case in EnumerationToLength() is not needed anymore because
StyleShapeRadius is an enum class, which cannot have other values.

MozReview-Commit-ID: GHkPAXXxqGZ
2016-12-03 16:13:49 +08:00
Andrew McCreight
209d4ee048 Bug 1323042 - forbid MOZ_COUNT_{CTOR,DTOR} for nsISupports classes; r=froydnj 2016-12-12 09:27:58 -05:00
Nathan Froyd
f2d50c26f4 Backout aba6c73511a2 (bug 1307961) for massive test bustage resulting in a CLOSED TREE; r=alltheorange 2016-12-12 08:45:46 -05:00
Andrew McCreight
2f93d6e48d Bug 1307961 - require consistent bloatview reporting for nsISupports classes; r=froydnj 2016-12-12 07:58:33 -05:00
Daniel Holbert
c4fc8bad5f Bug 1321495 part 2: Add needed "using namespace" declarations to several .cpp files in layout/style, to preemptively fix unified-build bustage. r=TYLin
MozReview-Commit-ID: 5p6DhiZ5YFg
2016-12-01 10:37:44 -08:00
Ting-Yu Lin
7e10b6ab51 Bug 1317588 Part 3 - Remove #define NS_SIDE_TOP/RIGHT/BOTTOM/LEFT. r=mats
This patch was written with the help of the following script. Also, manually
add mozilla qualifier to the enum values in nsStyleCoord.h, gfxRect.h, and
Types.h to make it build.

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename "NS_SIDE_TOP" "eSideTop"
rename "NS_SIDE_RIGHT" "eSideRight"
rename "NS_SIDE_BOTTOM" "eSideBottom"
rename "NS_SIDE_LEFT" "eSideLeft"

MozReview-Commit-ID: 9T0ORsqM6nP
2016-11-18 18:12:25 +08:00
Jonathan Chan
b9f0229eac Bug 1293743 - Part 2: Rename references to 'number' in CSSCalc and related code to coefficient. Introduce coefficient typedef. r=dholbert
"For each leaf in the calc() expression, ComputeCalc will call either
ComputeNumber (when the leaf is the left side of a Times_L or the right
side of a Times_R or Divided) or ComputeLeafValue (otherwise)."

A future patch in this series adds support for evaluating pure-integer calc()s.
We rename ComputeNumber to ComputeCoefficient and introduce a coefficient_type
typedef so that coefficients can be integers. We don't want to leave it as
'number' because that is confusing (e.g. CSS <number>s are float values).

We also rename NumbersAlreadyNormalizedCalcOps to
FloatCoeffsAlreadyNormalizedCalcOps, and expect AppendCoefficient in the
template given to SerializeCalc instead of AppendNumber.

This requires some renames in nsCSSValue and nsRuleNode.
I would split this into a separate 'fully-automated' patch, except that it's so
few renames and it feels bad to add the comments separately.

We also have to add |typedef float coeff_type| to two CalcOps implementations
in nsRuleNode because they multiply-inherit from two classes that define
coeff_type as float.

MozReview-Commit-ID: 1ZmBLsGr6hK
2016-10-17 20:49:17 -04:00
Manish Goregaokar
486ae2d4e5 Bug 1314200 - stylo: support transform; r=heycam
MozReview-Commit-ID: 50YhZtjF3vH
2016-10-31 16:30:43 -07:00
Mats Palmgren
7b03cc4895 Bug 1313254 part 1 - [css-align] Change "baseline|last-baseline" to "[ first | last ]? baseline". r=dholbert 2016-11-05 02:57:07 +01:00
Cameron McCormack
f2c884af9b Bug 1288302 - Part 3: Add nsStyleImageRequest. r=xidorn,bholley
MozReview-Commit-ID: F763Dv0Nfzp
2016-11-02 16:58:31 +08:00
Cameron McCormack
23341439f3 Bug 1288302 - Part 1: Make css::ImageValue constructable OMT. r=xidorn
MozReview-Commit-ID: 9J2E7VrCWJ1
2016-11-02 16:58:31 +08:00
Cameron McCormack
5d59a3458e Merge backout. 2016-11-01 08:43:23 +08:00
Cameron McCormack
1fc3436c96 Back out a0488e9c0024..5ebcedea1fa5 (bug 1288302 and bug 1310463) for Talos RSS regressions.
MozReview-Commit-ID: JB5uwDeO0We
2016-11-01 08:42:49 +08:00
Cameron McCormack
b2af7454a9 Bug 1288302 - Part 3: Add nsStyleImageRequest. r=xidorn,bholley
MozReview-Commit-ID: F763Dv0Nfzp
2016-10-20 08:36:21 +08:00
Cameron McCormack
bd36180130 Bug 1288302 - Part 1: Make css::ImageValue constructable OMT. r=xidorn
MozReview-Commit-ID: 9J2E7VrCWJ1
2016-10-20 08:36:14 +08:00
Tobias Schneider
0b1c8478a1 Bug 1243846 - Implement Intersection Observer API. r=mrbkap, r=mstange 2016-10-28 10:24:00 -04:00
Mats Palmgren
364298ca2d Bug 1305244 part 1 - [css-grid] Serialize minmax(auto, <flex>) track sizes as <flex>. r=dholbert 2016-10-29 01:30:10 +02:00
Wes Kocher
70a23746aa Backout revision 111c1227f51e (bug 1243846) for test_intersectionobservers.html failures on android a=backout CLOSED TREE 2016-10-27 14:16:10 -07:00
Tobias Schneider
5463357b52 Bug 1243846 - Implement Intersection Observer API. r=mrbkap, r=mstange 2016-10-26 22:04:00 -04:00
Sebastian Hengst
f355c0c113 Backed out changeset c55a20f1422b (bug 1243846) for failing modified test test_intersectionobservers.html. r=backout 2016-10-26 18:49:08 +02:00
Tobias Schneider
3a913eb17f Bug 1243846 - Implement Intersection Observer API. r=mrbkap, r=mstange 2016-10-12 20:15:16 -07:00