Commit Graph

283 Commits

Author SHA1 Message Date
Andrew McCreight
2f93d6e48d Bug 1307961 - require consistent bloatview reporting for nsISupports classes; r=froydnj 2016-12-12 07:58:33 -05:00
Manish Goregaokar
486ae2d4e5 Bug 1314200 - stylo: support transform; r=heycam
MozReview-Commit-ID: 50YhZtjF3vH
2016-10-31 16:30:43 -07:00
Tobias Schneider
0b1c8478a1 Bug 1243846 - Implement Intersection Observer API. r=mrbkap, r=mstange 2016-10-28 10:24:00 -04: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
JerryShih
7a3abdc8ec Bug 1295456 - Support <angle> value for hue component in CSS hsl() color function. r=dholbert
MozReview-Commit-ID: EYhbAEOlpLm
2016-10-16 03:15:36 +08:00
Cameron McCormack
8d044c7f82 Bug 1298774 - Part 3: Copy helper functions from FragmentOrURL to URLValueData. r=cjku
MozReview-Commit-ID: 9gs8d0fMdYJ
2016-10-11 14:56:11 +08:00
Cameron McCormack
4925674adc Bug 1298774 - Part 2: Rename URLValueData::mLocalURLFlag to match FragmentOrURL::mIsLocalRef naming. r=cjku
MozReview-Commit-ID: A9NHxMfPRSF
2016-10-11 14:56:11 +08:00
Cameron McCormack
3e34afaa1b Bug 1298774 - Part 1: Rename URLValueData::operator== so that we don't blithely call it OMT. r=cjku
MozReview-Commit-ID: K0PxT0196ex
2016-10-11 14:56:11 +08:00
Cameron McCormack
b4a2b53772 Bug 1298774 - Part 0: Move refcounting from URLValue and ImageValue up to URLValueData. r=cjku
MozReview-Commit-ID: 9A2pAnHaBVD
2016-10-11 14:56:11 +08:00
Xidorn Quan
dcf6c9d7d4 Bug 1266621 part 4 - Remove constructors of StyleComplexColor. r=heycam
So that they can be put inside anonymous structs and unions.

MozReview-Commit-ID: 8OMxkSZJEOz
2016-09-27 14:00:05 +10:00
Xidorn Quan
b02699f29d Bug 1299741 part 7 - Support storing ComplexColor in nsCSSValue and StyleAnimationValue. r=heycam
This is a complete rewrite of the original part 8. Instead of storing
the ratio in mValueExtra, all values are stored in a struct in heap,
so that we support range outside [0.0, 1.0] in computation.

MozReview-Commit-ID: 7xUZSgQE5vA
2016-09-16 15:30:35 +10:00
Xidorn Quan
8769e298cf Bug 1299741 part 5 - Add css::RGBAColorData struct. r=heycam
This struct will be used as part of the storage type of ComplexColor in
nsCSSValue. Also this will be used to help unifying color calculation in
StyleAnimationValue.

MozReview-Commit-ID: C5UUI5DNnRM
2016-09-16 09:24:29 +10:00
Jeremy Chen
43a4f4efc9 Bug 1297306 - part4:rename IsEnumFittingWithin with EnumTypeFitsWithin and move it to mfbt/EnumTypeTraits.h. r=froydnj
With this change, we could share this EnumTypeTraits between files easily.

MozReview-Commit-ID: 9Q2augati7l
2016-09-07 10:20:16 +08:00
Cameron McCormack
95d2aead22 Bug 1297963 - Part 4: Remove unused URLValueData comparison functions. r=emilio
MozReview-Commit-ID: 8BDaCXq1O5A
2016-09-03 00:22:48 +10:00
Cameron McCormack
d2a13991d1 Bug 1297963 - Part 2: Add URLValueData comparison functions that work OMT. r=emilio
MozReview-Commit-ID: B3pldGVZFl1
2016-09-03 00:22:47 +10:00
Cameron McCormack
0f1f5ab560 Bug 1297963 - Part 1: Preserve base URI on URLValueData objects. r=emilio
MozReview-Commit-ID: Amjz1AcdxwN
2016-09-03 00:22:47 +10:00
Ryan VanderMeulen
baab66fb35 Backed out 5 changesets (bug 1298768, bug 1297963) for causing widespread mochitest-bc failures.
Backed out changeset dedd56fa5c54 (bug 1297963)
Backed out changeset bc1ac59cfe8f (bug 1297963)
Backed out changeset a2e337d5aa02 (bug 1297963)
Backed out changeset e73da71408a3 (bug 1297963)
Backed out changeset 56f8bca8f8e8 (bug 1298768)

CLOSED TREE
2016-09-01 08:05:43 -04:00
Cameron McCormack
6d2379c6f4 Bug 1297963 - Part 4: Remove unused URLValueData comparison functions. r=emilio
MozReview-Commit-ID: 2rISNvW7q2y
2016-08-29 18:17:26 +08:00
Cameron McCormack
8d6ef48434 Bug 1297963 - Part 2: Add URLValueData comparison functions that work OMT. r=emilio
MozReview-Commit-ID: IfTsuOJ0iXI
2016-08-29 18:17:26 +08:00
Cameron McCormack
0f5b6df255 Bug 1297963 - Part 1: Preserve base URI on URLValueData objects. r=emilio
MozReview-Commit-ID: EqdYVp9JPsW
2016-08-29 18:17:26 +08:00
Hiroyuki Ikezoe
03e4dc35f0 Bug 1295107 - Part 1: Extend eCSSUnit_PercentageRGBAColor/eCSSUnit_PercentageRGBColor to store values greater than 100%. r=dholbert
nsCSSValue::GetColorValue() for eCSSUnit_PercentageRGBAColor/eCSSUnit_PercentageRGBColor
returns a clamped value, nsCSSValueFloatColor::Comp1()/Comp2()/Comp3()/Alpha()
returns a raw value instead.
2016-09-01 07:20:08 +09:00
Emilio Cobos Álvarez
28c92a0716 Bug 1292930: Handle the case of having unresolved URIs in nsStyleDisplay::mBinding. r=heycam
This handles the case of the URIs not being resolved during stylo's parallel
traversal.

MozReview-Commit-ID: ExYsFbeaYWo
2016-08-16 16:10:16 -07:00
Jonathan Chan
23ccd0531f Bug 1293739 - Part 1: Rename nsCSSProperty to nsCSSPropertyID. r=dholbert
This patch is generated by the following commands (note: if you're running
using OS X's sed, which accepts slightly different flags, you'll have to
specify an actual backup suffix in -i, or use gsed from Homebrew):

  hg stat -c \
  | cut -c 3-  \
  | tr '\n' '\0' \
  | xargs -0 -P 8 gsed --follow-symlinks 's/\bnsCSSProperty\b/nsCSSPropertyID/g' -i''

Then:

  hg mv layout/style/nsCSSProperty.h layout/style/nsCSSPropertyID.h

... and finally, manually renaming nsCSSProperty in the include guard in
nsCSSProperty.h.

MozReview-Commit-ID: ZV6jyvmLfA
2016-08-09 16:28:19 -07:00
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
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
Cameron McCormack
547ed4efcb Bug 1290023 - Allow enum class values to be passed to other nsCSSProps methods and stored in nsCSSValue/StyleAnimationValue. r=xidorn
MozReview-Commit-ID: 62usVamI3GA
2016-07-29 16:18:48 +08: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
Brian Birtles
fe869d2f8d Bug 1276688 part 2 - Add tests for entries array handling when ComputeValues fails; r=heycam, r=smaug
MozReview-Commit-ID: DIQyt7f91an
2016-06-28 16:10:10 +09: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
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
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
Mats Palmgren
b78b3535bd Bug 1251999 - [css-grid] Update <fixed-size> parsing to the latest spec. r=dholbert 2016-03-02 23:39:34 +01:00
Jonathan Watt
3ec9c0f00a Bug 1110460, part 1 - Add operator= to nsCSSValuePair. r=dholbert 2016-02-17 00:19:26 +00:00
William Chen
c5d8305971 Bug 1241575 - Use transform property syntax to parse WebKitCSSMatrix transform list. r=heycam 2016-02-01 16:45:09 -08: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
Mats Palmgren
af638939e4 Bug 1221902 part 1 - NS_RELEASE SheetLoadData::mNext iteratively instead of recursively to avoid blowing up the stack. r=bz 2015-11-05 22:09:27 +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
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
Gijs Kruitbosch
68c0d0bb49 Bug 1207084 - addendum: fix operator== for nsCSSValueTokenStream, implied-r=heycam 2015-09-29 09:21:12 -04: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
Seth Fowler
9e1c1d7b72 Bug 1181907 (Part 3) - Add CSSVariableImageTable and use it to store ImageValues generated by CSS variables. r=heycam 2015-08-26 18:19:38 -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