Commit Graph

254 Commits

Author SHA1 Message Date
Manish Goregaokar
00b57a4a6e Bug 1290864 - Standardize serialization of <position> values in <basic-shape>; r=xidorn
MozReview-Commit-ID: KooW1OqtTUb
2016-08-05 19:48:13 +05:30
Manish Goregaokar
7f0f705abc Bug 1290864 - Omit the default closest-side when serializing circle() and ellipse(); r=xidorn
MozReview-Commit-ID: HKwOL0YAK5E
2016-08-05 19:48:13 +05:30
cku
3033ed2332 Bug 652991 - Part 1. Carry local-url-flag in URLValueData. r=heycam
MozReview-Commit-ID: 8Qvaa27LCv0
2016-06-15 16:11:05 +01:00
Boris Chiou
bfcdbafad5 Bug 1272475 - Part 1: Clamp max/min float value in the parser of CSS Transform function. r=heycam
To avoid calculate +/-infinite function value, we clamp it in the parser level.
Also, we use EnsureNotNan while calculating the interpolation for translate
function, so it's also better to do EnsureNotNan before call SetFloatValue()
while calculating the interpolation for rotate (AddCSSValueAngle) and scale
functions.

MozReview-Commit-ID: 1k19ytyNG1N
2016-07-20 15:14:05 +08:00
Edgar Chen
2b809cd691 Bug 1274526 - Part 1: Implement support for 'q' absolute length units in CSS; r=heycam
MozReview-Commit-ID: vTDufVkAuv
2016-05-23 15:18:34 +08:00
Brian Birtles
a227a59096 Bug 1263486 part 2 - Use nsCSSValue move assignment operator in nsCSSValue::Adopt(Pair)ListValue r=heycam
MozReview-Commit-ID: 2fTFNmtHxIP
2016-05-20 09:09:33 +09:00
Brian Birtles
6b515fe94a Bug 1263486 part 1 - Add a move constructor and assignment operator to nsCSSValue r=heycam
MozReview-Commit-ID: IgtvOuPqWge
2016-05-20 09:09:28 +09:00
Cameron McCormack
db87282ead Bug 1273838 - Part 1: Make URLValue construction thread-safe. r=bholley 2016-05-21 10:02:54 +10:00
Cameron McCormack
c4e3fc1633 Bug 1272552 - Use more normal refcounting for css::ImageValue. r=bholley 2016-05-21 10:02:53 +10:00
L. David Baron
64747a2c0a Bug 567283 patch 4 - Support #rgba and #rrggbbaa colors in CSS. r=xidorn
This adds support for #rgba and #rrggbbaa colors to CSS.  This feature
is specified in https://drafts.csswg.org/css-color-4/#hex-notation .

This adds new types to nsCSSValue so that we can serialize the syntax
that was specified, as we do for other distinctions in how colors are
specified.

It does not change the behavior of the hashless color quirk, which
continues to support only 3 and 6 digit colors as specified in
https://quirks.spec.whatwg.org/#the-hashless-hex-color-quirk (step 4).

This changes property_database.js to remove various uses of 4 and 8
digit colors as invalid values.  It then adds them in slightly fewer
places as valid values, but more thoroughly testing both initial and
non-initial values on 'color'.

It marks two canvas tests explicitly testing this feature as no longer
known to fail by removing their .ini files.

Finally, it adjusts the web platform test testing the hashless color
quirk to no longer treat 4 and 8 digit colors with hashes as invalid
values.  Removing the relevant test items seems like the right thing
since they're in a section where 3 and 6 digit colors were skipped but
other lengths were tested.  Modifying this imported test is OK since:
  <jgraham> dbaron: Commit the change you want to m-c, it is
    (semi-)automatically upstreamed every so often (typically
    about once a week)

MozReview-Commit-ID: IFq4HxaRkil
2016-05-08 22:16:42 -07:00
Markus Stange
e3f2c79921 Bug 550426 - Add support for {background,mask}-position-{x,y}, most of the style system changes. r=dbaron
MozReview-Commit-ID: JgZIoj43aZv
2016-04-29 14:12:10 -04:00
Wes Kocher
1a290e54b0 Backed out 10 changesets (bug 550426) for failures in browser_css_autocompletion.js
Backed out changeset 6ff2e12738ca (bug 550426)
Backed out changeset 10ee68fd318e (bug 550426)
Backed out changeset 324f4f602730 (bug 550426)
Backed out changeset 81306e78ccaa (bug 550426)
Backed out changeset 44b820f6fb3d (bug 550426)
Backed out changeset 987b6ff7262e (bug 550426)
Backed out changeset d505646974c7 (bug 550426)
Backed out changeset 2162ecc18859 (bug 550426)
Backed out changeset 1a030aba3acc (bug 550426)
Backed out changeset 3655883e7faf (bug 550426)

MozReview-Commit-ID: AlUihrLtlhL
2016-04-29 14:47:43 -07:00
Markus Stange
f6b7c79b01 Bug 550426 - Add support for {background,mask}-position-{x,y}, most of the style system changes. r=dbaron
MozReview-Commit-ID: JgZIoj43aZv
2016-04-29 14:12:10 -04:00
Daniel Holbert
19c2319e94 Bug 1264787: Make nsCSSValue's AdoptListValue & AdoptPairListValue methods take a UniquePtr. r=heycam
MozReview-Commit-ID: 94aYEtySHsW
2016-04-20 10:37:06 -07:00
Brian Birtles
0799ca0f51 Bug 1260655 - Allow StyleAnimationValue::UncomputeValue to produce values whose storage is independent of the passed-in computed value; r=heycam
When we go to switch CSS Animations over to using
KeyframeEffectReadOnly::SetFrames we will need a way to represent any filled-in
from/to values as nsCSSValue objects. These objects are built from the current
computed style. We currently use StyleAnimationValue::ExtractComputedValue for
this which returns a StyleAnimationValue. In order to convert this to an
nsCSSValue we can use StyleAnimationValue::UncomputeValue. However, in some
cases, the nsCSSValue objects returned by that method are dependent on the
passed-in StyleAnimationValue object.

This patch adds an overload to UncomputeValue that takes an rvalue
StyleAnimationValue reference and produces an nsCSSValue that is independent
of the StyleAnimationValue through a combination of copying data and
transferring ownership of data.

This patch also adjusts the return value for the case of filter and shadow
lists when the list is empty so that we return a none value in this case.
These are the only list types which are allowed to have a null list value.
Not only does this produce the correct result when these values are serialized
(the initial value for 'filter', 'text-shadow', and 'box-shadow' is 'none') it
also means that UncomputeValue should never return an nsCSSValue whose unit is
null which is important because when we later pass that value to BuildStyleRule
it will treat a null nsCSSValue as an error case (specifically, "longhand failed
to parse").

MozReview-Commit-ID: 4RoCn39ntiJ
2016-03-30 12:39:59 +09:00
Morris Tseng
8078441e67 Bug 594933 - Part 1: Let calc() supports number. r=dbaron 2016-03-15 10:37:37 +08:00
Nicholas Nethercote
53421bdf32 Bug 1244992 - Avoid double-counting in various refcounted types related to nsCSSValue. r=heycam.
Also, GridTemplateAreasValue::SizeOfIncludingThis() wasn't measuring |this|, so
the patch fixes that.
2016-02-02 15:18:16 +11:00
Birunthan Mohanathas
bfee0fb40c Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Phil Ringnalda
d871b9515f Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
245cd6a02f Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
CJKu
ff44f07acd Bug 686281 - Rename *background* to *imagelayer*; r=dbaron. 2016-01-28 06:27:00 +01:00
Cameron McCormack
bef1844e92 Bug 1238403 - Fix inconsistent indenting in layout/style/. r=xidorn 2016-01-11 10:28:35 +11:00
Mats Palmgren
6d8ef8591f Bug 1233106 part 1 - [css-align] Update align-/justify-* properties to the current CSS Align spec (adding 'normal' keyword, dropping 'auto' in some cases etc). r=dholbert
The CSSWG minutes for reference:
https://lists.w3.org/Archives/Public/www-style/2015Dec/0233.html

With subsequent correction for the root node:
https://lists.w3.org/Archives/Public/www-style/2016Jan/0015.html
2016-01-05 21:27:13 +01:00
Mats Palmgren
6c389ce0bb Bug 1230398 - [css-align] Don't output 'unsafe' in serialization because it's the default. r=dholbert
Prompted by a CSS Align spec change:
https://lists.w3.org/Archives/Public/www-style/2015Dec/0067.html
2016-01-05 21:27:13 +01:00
Mats Palmgren
fea59f0852 Bug 1230478 part 1 - [css-align] Rename 'true' to 'unsafe' in <overflow-position>. r=dholbert 2016-01-05 21:27:13 +01:00
Mats Palmgren
96a4296719 Bug 1118820 part 1 (style system part) - [css-grid] Implement the 'auto-fill' and 'auto-fit' keywords in the repeat() function. r=dholbert 2015-12-22 23:03:15 +01:00
Nicholas Nethercote
262f17feb6 Bug 1229458 - Remove SizeOfIncludingThisMustBeUnshared() from string classes. r=mccr8.
The patch changes all uses of SizeOfIncludingThisMustBeUnshared() to
SizeOfIncludingThisIfUnshared(). This incurs the (tiny) cost of an unnecessary
IsReadonly() check for guaranteed-unshared strings, but avoids the possible
assertion failures that would occur when MustBeUnshared() was used incorrectly
on shared strings, which is an easy mistake to make.
2015-12-01 15:36:26 -08:00
Xidorn Quan
0856abb2ea Bug 1040668 part 2 - Parse and compute text emphasis properties. r=dbaron 2015-11-28 11:56:33 +11:00
Daniel Holbert
ca2ca468f3 Bug 1227377: Change ImageRequest::mRequests hashtable to use more specific type in its key (s/nsISupports/nsIDocument/). r=khuey 2015-11-27 14:54:47 -08:00
Nicholas Nethercote
27264d547e Bug 1187144 (part 4) - Replace nsBaseHashtable::Enumerate() calls in layout/ with iterators. r=dholbert. 2015-11-22 21:12:49 -08:00
Mats Palmgren
3149757e26 Bug 1176782 part 6 - [css-align] Implement additional syntax and values for the 'align-content' property in the style system. r=cam 2015-11-03 15:18:06 +01:00
Mats Palmgren
623054f187 Bug 1176782 part 5 - [css-align] Implement additional syntax and values for the 'align-self' property in the style system. r=cam 2015-11-03 15:18:06 +01:00
Mats Palmgren
e0422d1e26 Bug 1176782 part 4 - [css-align] Implement additional syntax and values for the 'align-items' property in the style system. r=cam 2015-11-03 15:18:05 +01:00
Mats Palmgren
c3f3c9abcd Bug 1176782 part 3 - [css-align] Implement additional syntax and values for the 'justify-content' property in the style system. r=cam 2015-11-03 15:18:05 +01:00
Mats Palmgren
1b223d253e Bug 1176782 part 2 - [css-align] Implement the 'justify-self' property in the style system. r=SimonSapin 2015-11-03 15:18:05 +01:00
Mats Palmgren
f9f7acdb17 Bug 1176782 part 1 - [css-align] Implement the 'justify-items' property in the style system. r=SimonSapin 2015-11-03 15:18:05 +01:00
L. David Baron
65ca5daeb4 Bug 1215702 patch 1 - Remove the CSS properties that use CSS_PROP_BACKENDONLY (marks, orphans, page, size, widows), i.e., properties that were added in early Gecko days but never actually implemented. r=heycam
We're violating http://www.w3.org/TR/CSS/#partial by leaving this
implementation in when we don't actually support the properties.

We're also incorrectly parsing marks and size in style rules rather than
@page rules; they were only intended for @page rules.
2015-10-19 22:22:34 -07:00
Cameron McCormack
b5fd6acd46 Bug 1216043 - Rename nsStyleSheet::sheetType and make it an enum class. r=dbaron
The only substantive change here, apart from a few variables changing in
size from uint16_t to uint8_t, is FontFaceSet's use of SheetType::Unknown
(0xFF) instead of 0 for FontFaceRecords for script-created FontFaces.
2015-10-20 10:16:20 +11:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Cameron McCormack
8e34f7ce0d Bug 1198708 - Part 4: Don't include start/end keyword in serialized specified {transition,animation}-timing-function value if it was omitted. r=birtles
When inspecting the specified value of {transition,animation}-timing-
function on a declaration, we should omit the start/end keyword in a
steps() value if it was omitted in the style sheet.
2015-09-29 12:20:14 +10:00
Cameron McCormack
bce6e5658b Bug 1198708 - Part 1: Store exact timing-function type on nsTimingFunction and ComputedTimingFunction. r=birtles
Since Keyframe.easing should reflect the {transition,animation}-timing-
function value relevant to each keyframe, we'll need to store on
nsTimingFunction the specific timing function value that was used, and
copy it down into ComputedTimingFunction for
KeyframeEffectReadOnly.getFrames() to access.  This includes storing
whether the optional start/end keyword in a steps() function was
specified.
2015-09-29 12:20:13 +10:00
Gijs Kruitbosch
a8d12e502b Bug 1207084 - keep sheet level on tokenstream for use in ruledata when resolving variables, to fix hcm issues with CSS variables, r=heycam 2015-09-26 23:51:42 +02:00
Nicholas Nethercote
37d91ed8fe Bug 1188745 - Rename nsTArray::SizeOfExcludingThis() as ShallowSizeOfExcludingThis(). r=froydnj.
This makes it clearer that, unlike how SizeOf*() functions usually work, this
doesn't measure any children hanging off the array.

And do likewise for nsTObserverArray.
2015-07-28 23:24:24 -07:00
Masatoshi Kimura
8a64f334be Backed out changeset acb7eb7f5ad4 (bug 1176496) for web compat problems 2015-07-15 23:37:22 +09:00
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Masatoshi Kimura
99d4901bcb Bug 1176496 - Drop support for -moz-prefixed gradients. r=dbaron 2015-07-10 00:57:50 +09:00
Muhsin A. Steiman
2fd783c288 Bug 1172012 - Fixes a copy & paste error in nsCSSValue.cpp. r=heycam 2015-06-05 11:25:00 +02:00
Kyle Zentner
f45a2d8762 Bug 1170173 - Parse CSS 'contain' property. r=dholbert 2015-06-04 16:38:00 +02:00
Michael Layzell
643860aa12 Bug 1168158 - Make URLValue::mString a smart pointer. r=heycam 2015-05-28 08:54:00 -04:00
Kyle Zentner
2fa5c69ade Bug 1164953 - Update CSS grid <line-names> to use brackets instead of parens. r=dholbert 2015-05-19 15:20:00 -04:00