Commit Graph

488 Commits

Author SHA1 Message Date
L. David Baron
7597ea5b26 Backout changeset 6ff3de859ce3 (bug 804944), which depended on an unlanded patch that I currently have tagged for bug 784461. 2013-03-10 12:54:09 -07:00
L. David Baron
c387d7e9b0 Bug 804944, patch 2: Also condition @-moz-keyframes parsing on the animations preference. r=bzbarsky 2013-03-10 12:44:13 -07:00
L. David Baron
6301e3b6dc Bug 570896: Allow separate background-origin and background-clip to be set in the background shorthand. r=bzbarsky 2013-03-07 17:59:32 -08:00
David Zbarsky
c596ef885a [Bug 847110] Fix up includes in layout/style r=dbaron 2013-03-02 19:31:48 -05:00
L. David Baron
2dc2fa21d4 Bug 841983: Require whitespace around 'not', 'and', and 'or' keywords in @supports rules. r=heycam
Matches spec change in https://dvcs.w3.org/hg/csswg/rev/34b185ae3bac .
2013-02-16 21:29:38 -08:00
Zack Weinberg
57e2a60ca6 Bug 543151, part A2: Introduce the new peek/advance API and reimplement the old read/pushback API on top of it. r=heycam 2013-02-16 18:27:53 -05:00
Zack Weinberg
575de8ae8c Bug 543151, part A1: Preliminary cleanups to the scanner/parser interface and the organization of nsCSSScanner.cpp. r=heycam 2013-02-16 18:27:53 -05:00
L. David Baron
c9f05dae46 Bug 765599: Make CSS insertRule methods throw SYNTAX_ERR when given an empty rule or more than one rule. r=bzbarsky
This implements the proposed spec clarification in
http://lists.w3.org/Archives/Public/www-style/2013Feb/0229.html which
makes us compatible with WebKit on the insertRule tests in this patch.

I confirmed that the test reports 7 failures without the patch, but
passes with the patch.  (I'm a little disturbed by the way our
testharness.js integration elides runs of successive passes.)
2013-02-09 22:56:49 -08:00
L. David Baron
c0a08c5665 Bug 835007: Make 'transition-property: all' work as an item within a list. r=bzbarsky
No changes to the transition manager are needed since
nsTransitionManager::StyleContextChanged already makes the appropriate
calls to ConsiderStartingTransition for 'all', and that existing code
should work fine within a loop (just like the existing code to handle
shorthands or other property duplication works).
2013-02-09 22:56:49 -08:00
Mounir Lamouri
4c2b124e68 Bug 819871 - Make ":-moz-placeholder" parsable but without any effect on styling. r=dbaron,bz 2013-01-24 09:30:28 +00:00
Cameron McCormack
b8c8bf6c2c Bug 828805 - Implement SVG paint-order property. r=bz,roc 2013-01-13 10:27:53 +11:00
Seth Fowler
67775c2f19 Bug 811391 - Part 1: Ignore @page declarations involving viewport units. r=dbaron
* * *
Bug 811391 followup: Fix out-of-order init list, to fix build warning (treated as error).
2013-01-09 16:03:55 -08:00
Ehsan Akhgari
2711ec5e76 Backed out 2 changesets (bug 811391) because of build bustage
Backed out changeset c20904b75bcc (bug 811391)
Backed out changeset f0a00bf2ba8e (bug 811391)
2013-01-12 16:05:11 -05:00
Seth Fowler
a45a8ce8df Bug 811391 - Part 1: Ignore @page declarations involving viewport units. r=dbaron 2013-01-09 16:03:55 -08:00
John Daggett
7a54f7601a Bug 605231 - Don't parse unquoted reserved keywords 'initial' or 'default' in font family names. r=dbaron 2013-01-08 17:13:17 +09:00
John Daggett
7363e4e19c Bug 605231 - Move transform parsing code out of font property parsing code. r=dbaron 2013-01-08 17:13:17 +09:00
Cameron McCormack
4a12596436 Bug 779917 - Implement CSS.supports(). r=dbaron f=bz 2012-11-25 11:26:07 +11:00
Makoto Kato
d2203c6ef8 Bug 824654 - Remove duplicated class define to fix bustage on Win64 builder. r=heycam 2012-12-26 13:44:12 +09:00
Cameron McCormack
46324f6341 Bug 814566 - Allow invalid syntax (with balanced parentheses) inside @supports conditions. (v1.1.1) r=dbaron 2012-12-23 13:30:55 +11:00
Cameron McCormack
ee5f689cf8 Bug 807336 - Suppress CSS property parse errors inside failing @supports rules. r=dbaron 2012-11-06 13:59:25 +11:00
Jeff Walden
e0523203c9 Bug 820570 - Move mozilla::DebugOnly into DebugOnly.h to pare down the grab-baggish Util.h. r=Ms2ger 2012-12-14 18:58:45 -05:00
Cameron McCormack
246d11812a Bug 815021 - Implement MediaRule.conditionText setter. r? 2012-11-27 16:30:31 +11:00
Ms2ger
398550a6f4 Bug 812344 - Don't use a qualified enum in CSSParserImpl::ParseDeclaration; r=roc 2012-11-16 08:30:18 +01:00
Zack Weinberg
35c608da33 Bug 455839: simplify the CSS error reporting API. r=dbaron 2012-11-15 11:36:15 -05:00
Zack Weinberg
974d69cf27 Bug 516091: Split CSS error reporting to its own file and class. Allows CSS scanner to become a stack object. r=dbaron 2012-11-15 11:36:15 -05:00
Brendan Dahl
fc1f8956b9 Bug 115199 - CSS2 @page rule style support. r=dbaron 2012-08-31 14:21:28 -07:00
Ryan VanderMeulen
b4426aaaa0 Backed out changesets 0b6b3d2856a4 and 30776e402787 (bug 115199) for reftest failures. 2012-11-13 20:19:18 -05:00
Brendan Dahl
1ad7f91f17 Bug 115199 - CSS2 @page rule style support. r=dbaron 2012-08-31 14:21:28 -07:00
Daniel Holbert
b6feb86a97 Bug 790903: Accept unitless 0 as 'flex-basis' component in 'flex' shorthand. r=dbaron 2012-11-08 17:27:47 -08:00
Jet Villegas
a8e4f8a1c6 Bug 806068 part 1: Add support for unprefixed "initial" keyword in CSS (retaining prefixed keyword as an alias, for now). r=dholbert 2012-10-30 16:40:33 +01:00
Seth Fowler
697379c692 Bug 503720: Implement vw/vh/vmin/vmax. r=dbaron 2012-10-19 16:21:06 -07:00
Emmanuele Bassi
048fa679bb Bug 784466 - [css3-animations] Drop declarations in keyframe rules that have !important. r=dbaron 2012-10-16 09:21:35 -07:00
Yu-Sian (Thomasy) Liu
58bc1b7fb5 Bug 594935: Add calc to parser, do calc in PaintGradient and add stop point to HasCalc(). r=bz 2012-10-03 22:31:56 -07:00
Simon Montagu
2b02131b60 Add vendor prefix to :dir selector. Bug 562169, r=dbaron 2012-09-29 13:41:10 -07:00
L. David Baron
2e0fbb1b1f Bug 774169, patch 4: Revert bug 719054 for prefixed -moz-transform but leave it for unprefixed transform. r=bzbarsky 2012-09-18 11:37:14 -07:00
L. David Baron
233751c6ae Bug 774169, patch 3: Treat -moz-transform as a shorthand rather than an alias so the parsing function can know whether it is parsing a prefixed transform. r=bzbarsky 2012-09-18 11:37:14 -07:00
Anthony Ricaud
b60b2ae375 Bug 570326 - Add support for background-size in background shorthand property. r=dbaron 2012-09-16 20:20:15 -04:00
Edwin Flores
ccb631db79 Bug 719286 - Add support for -moz-objectValue keyword to CSS parser for SVG glyphs r=dbaron 2012-09-06 16:58:47 +12:00
Edwin Flores
cac293e907 Bug 719286 - Add support for objectfill and objectstroke values to CSS parser r=dbaron 2012-09-06 16:58:46 +12:00
Thaddee Tyl
01eb6774e4 Bug 781032 - Fix a crash in CSSParserImpl::SetDefaultNamespaceOnSelector by creating the nsCSSParser at a valid spot. r=bz 2012-09-05 19:10:55 -04:00
L. David Baron
2b02ccf019 Don't accept the third argument to transform-origin when 3-D transforms aren't enabled. (Bug 786706) r=mattwoodrow 2012-08-29 18:27:01 -07:00
Kyle Huey
0cae034974 Bug 783162: Make mapped attributes hold the image alive. r=bz
The nsCSSValue in nsGenericHTMLElement::MapBackgroundInto is a temporary.  This causes a problem after Bug 697230 landed, because the nsCSSValue::Image we put into that value is destroyed once we're done doing style stuff.  Previously the nsImageLoader would grab the request off the nsCSSValue::Image and hold it alive.  Bug 697230 changed the behavior here; now when the nsCSSValue::Image is destroyed it tells the image loader to drop the request.  The result is that all the references to the request are dropped and the frame is never told it has a background.

The solution is to keep the nsCSSValue::Image alive longer.  This patch adds two new types of nsAttrValue.  The first is an nsCSSValue::URL.  A ParseBackgroundAttribute method is added on nsGenericHTMLElement that the relevant elements (body/td/th/table/tr/tbody/thead/tfoot) call that parses background into an nsCSSValue::URL.  The second is an nsCSSValue::Image.  nsGenericHTMLElement::MapBackgroundInto attempts to convert the nsCSSValue::URL into an nsCSSValue::Image by kicking off the image load.  The result is that image loads are only started when the element is actually visible.  This also mirrors the way background-image works.  This also allows us to fix two longstanding bugs in this code.  Since MapBackgroundInto doesn't have a pointer to the actual element, it relied on grabbing the principal of the document.  Now we can grab the principal of the node in ParseBackgroundAttribute.  MapBackgroundInto also has no way to get at the element's base URI (to honor xml:base), which is now possible in ParseBackgroundAttribute.

nsCSSValue::[Image|URL] have also been moved to be mozilla::css::[Image|URL]Value.  nsAttrValue.h is included in external linkage code, so it can't include nsCSSValue.h to get the declarations of nsCSSValue::[Image|URL], and nested classes can't be forward declared.  Moving the classes to a namespace solves the problem.

Finally some old inoperative quirks mode code was removed.  This code has done nothing since Bug 273078 was landed in 2004.
2012-08-24 10:50:49 -07:00
Ehsan Akhgari
8c296bbcd4 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
L. David Baron
9de3f6d254 Treat argument of :-moz-locale-dir() case-insensitively. (Bug 741293) r=smontagu 2012-08-20 22:41:47 -07:00
L. David Baron
26cd9e1364 Add missing SkipUntil call in @supports parsing. (Bug 782401) r=heycam
Fixes http://test.csswg.org/source/contributors/opera/submitted/css3-conditional/at-supports-030.html
2012-08-20 19:23:32 -07:00
Aryeh Gregor
982100775b Bug 780618 - Move all error codes to nsError.h; r=ehsan 2012-07-27 17:03:27 +03:00
Simon Montagu
c9f26ff62c Bug 562169. Add support for :dir(ltr/rtl) CSS selector, layout/style part, r=bz 2012-08-09 20:37:58 -07:00
Matt Brubeck
9636508719 Back out bug 562169 because of Dromaeo DOM regressions
Backed out changeset 841cd6e1e585 (bug 562169)
Backed out changeset e226e413dd27 (bug 562169)
Backed out changeset 9c24b7287c5b (bug 562169)
2012-08-08 08:14:48 -07:00
Simon Montagu
1c6ba0a43d Add support for :dir(ltr/rtl) CSS selector, layout/style part. Bug 562159, r=bz 2012-08-07 21:44:24 -07:00
Simon Montagu
07b09b2133 Implement the new CSS property value unicode-bidi: isolate-override. Bug 774335, r=dbaron 2012-08-07 01:42:46 -07:00
Cameron McCormack
7beb9fd997 Bug 780337 - @supports rule should not parse if property value is empty. r=dbaron 2012-08-04 17:07:03 +10:00
Cameron McCormack
78727e2c15 Bug 649740 - Implement @supports. r=dbaron,bz 2012-08-02 10:32:12 +10:00
Aryeh Gregor
4fc090c08b Bug 734953 - Restore transform: skew() support; r=dbaron 2012-07-30 16:48:02 +03:00
Aryeh Gregor
57c0ad57fb Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
David Zbarsky
b4d3e9c048 Bug 773500 Part 1:Store z-component of transform-origin as 0 rather than null when it is omitted. r=dbaron 2012-07-21 19:48:19 -04:00
L. David Baron
97b4e0178d Disable the unitless length quirk inside of calc(). (Bug 774122, patch 3) r=bzbarsky
I noticed this bug because the new assertions in ParseVariant,
introduced in the previous patch, are stricter and would assert without
this fix.
2012-07-16 09:11:33 -04:00
L. David Baron
7307bff076 Limit the unitless length quirk to the properties where it's needed, per http://simon.html5.org/specs/quirks-mode#the-unitless-length-quirk . (Bug 774122, patch 2) r=bzbarsky 2012-07-16 09:11:33 -04:00
L. David Baron
07fbe6c00c Limit the hashless color quirk to the properties where it's needed, per http://simon.html5.org/specs/quirks-mode#the-hashless-hex-color-quirk . (Bug 774122, patch 1) r=bzbarsky
This changes test_property_syntax_errors.html in the following ways:
 (1) removes the "known failures" handling, since there aren't any
 (2) changes it to test syntax errors in both quirks mode and standards
     mode, instead of only in standards mode
 (3) uses a (new) quirks_values mechanism to property_database.js to
     test cases that should be invalid in standards mode but accepted in
     quirks mode
2012-07-16 09:11:33 -04:00
Gavin Sharp
9d8c102f67 Backed out changeset ac282e15dc02 (bug 774122) 2012-07-16 01:04:31 -07:00
Gavin Sharp
3989cf03ee Backed out changeset e3007422b989 (bug 774122) 2012-07-16 01:04:29 -07:00
Gavin Sharp
81f329b160 Backed out changeset 64ff8c2d37f9 (bug 774122) 2012-07-16 01:04:27 -07:00
L. David Baron
47f6089680 Disable the unitless length quirk inside of calc(). (Bug 774122, patch 3) r=bzbarsky
I noticed this bug because the new assertions in ParseVariant,
introduced in the previous patch, are stricter and would assert without
this fix.
2012-07-16 01:10:06 -04:00
L. David Baron
d179f669a9 Limit the unitless length quirk to the properties where it's needed, per http://simon.html5.org/specs/quirks-mode#the-unitless-length-quirk . (Bug 774122, patch 2) r=bzbarsky 2012-07-16 01:10:06 -04:00
L. David Baron
3327b3e93b Limit the hashless color quirk to the properties where it's needed, per http://simon.html5.org/specs/quirks-mode#the-hashless-hex-color-quirk . (Bug 774122, patch 1) r=bzbarsky
This changes test_property_syntax_errors.html in the following ways:
 (1) removes the "known failures" handling, since there aren't any
 (2) changes it to test syntax errors in both quirks mode and standards
     mode, instead of only in standards mode
 (3) uses a (new) quirks_values mechanism to property_database.js to
     test cases that should be invalid in standards mode but accepted in
     quirks mode
2012-07-16 01:10:06 -04:00
L. David Baron
5022919434 Add VARIANT_NONNEGATIVE_DIMENSION. (Bug 773102, patch 2) r=bzbarsky 2012-07-13 18:01:34 -07:00
L. David Baron
c155735437 Rename VARIANT_POSITIVE_LENGTH to VARIANT_POSITIVE_DIMENSION since it also applies to times and frequencies. (Bug 773102, patch 1) r=bzbarsky 2012-07-13 18:01:34 -07:00
Ehsan Akhgari
8236a0e5f8 Merge backout 2012-07-13 20:12:21 -04:00
Ehsan Akhgari
9779535229 Backout changeset 4e1480ab5116, changeset 576f7d52de4b, and changeset 2a030d4733a0 (bug 773102) because of test failure 2012-07-13 20:12:02 -04:00
Boris Zbarsky
0c79c85561 Bug 771594. Allow preference control over what CSS properties we parse. r=dbaron,dholbert 2012-07-13 19:59:05 -04:00
L. David Baron
671d7e375e Add VARIANT_NONNEGATIVE_DIMENSION. (Bug 773102, patch 2) r=bzbarsky 2012-07-13 15:06:50 -07:00
L. David Baron
d70df26540 Rename VARIANT_POSITIVE_LENGTH to VARIANT_POSITIVE_DIMENSION since it also applies to times and frequencies. (Bug 773102, patch 1) r=bzbarsky 2012-07-13 15:06:50 -07:00
L. David Baron
8379fbf60e Add support for unprefixed calc(), and prefer serializing to unprefixed form. (Bug 771678) r=bzbarsky
This also converts all of the tests in layout/style/test/ to using
calc(), except that it duplicates all of the valid values and some of
the invalid values for 'width' and '-moz-column-rule-width' (which are
the two properties that intentionally have extensive calc() tests) in
property_database.js.
2012-07-13 15:06:50 -07:00
Aryeh Gregor
d5b1ca226d Bug 719054 - matrix() and matrix3d() with length units should be parse errors; r=dbaron 2012-02-13 11:29:30 -05:00
Emmanuele Bassi
98c084c55f Bug 762302 - Unprefix CSS Animation properties and @keyframes rule and provide temporary aliases for -moz-animation and exposed subproperties. r=dbaron 2012-07-08 21:25:10 -04:00
L. David Baron
20aa2c93e6 Implement dppx units [css3-images] for resolution media query. (Bug 741644) r=bzbarsky 2012-07-07 21:41:27 -07:00
Masatoshi Kimura
76156293e3 Bug 752187 - Part 9: Implement unprefixed radial-gradient parsing. r=dbaron 2012-07-07 10:27:08 -04:00
Masatoshi Kimura
4a32d66687 Bug 752187 - Part 8: Implement unprefixed linear-gradient parsing. r=dbaron 2012-07-07 10:27:08 -04:00
Masatoshi Kimura
f55dda49dd Bug 752187 - Part 7: Add aIsLegacy parameter to parsing functions. r=dbaron 2012-07-07 10:27:08 -04:00
Masatoshi Kimura
68b09c47fc Bug 752187 - Part 6: Rename mIsToCorner to mIsLegacySyntax. r=dbaron 2012-07-07 10:27:08 -04:00
Masatoshi Kimura
36da902f60 Bug 752187 - Part 5: Remove "to" corner parsing from ParseRadialGradient. r=dbaron 2012-07-07 10:27:08 -04:00
Masatoshi Kimura
d26911e86d Bug 752187 - Part 4: Remove aIsRadial parameter. r=dbaron 2012-07-07 10:27:07 -04:00
Masatoshi Kimura
c6e70b8c92 Bug 752187 - Part 3: Separate linear gradient parsing and radial gradient parsing. r=dbaron 2012-07-07 10:27:07 -04:00
Masatoshi Kimura
c52b497cf2 Bug 752187 - Part 2: Separate legacy gradient line parsing. r=dbaron 2012-07-07 10:27:07 -04:00
Masatoshi Kimura
0df1cacccd Bug 752187 - Part 1: Separate color stops parsing. r=dbaron 2012-07-07 10:27:07 -04:00
Daniel Holbert
b3030a87b0 Bug 696253, patch 8: implement parsing/computation for CSS shorthand property 'flex'. r=dbaron 2012-07-06 17:06:23 -07:00
Boris Zbarsky
a188f8e851 Bug 766798. Throw SYNTAX_ERR, not NAMESPACE_ERR, from querySelector(All) on unknown namespaces. r=dbaron 2012-06-22 16:18:50 -04:00
Ms2ger
4ff76331ca Bug 629882 - Support currentColor in the 2D canvas context; r=dbaron
This changes nsCSSParser::ParseColorString to fill in an nsCSSValue instead
of an nscolor, and exposes nsRuleNode::ComputeColor to turn this nsCSSValue
into an nscolor.

Because gradients can be used with different canvas elements in different
documents, these cannot pass useful values for nsRuleNode::ComputeColor's
aPresContext and aStyleContext arguments. This patch also changes SetColor
to deal with those parameters being null.
2012-06-06 09:36:38 +02:00
Gervase Markham
87620f5676 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Boris Zbarsky
3a47108ff7 Bug 753397. Add a field to nsCSSPropList for a preference that controls the property. r=dbaron
The actual controlling is not hooked up yet; that will happen in bug 753522 for
the DOM reflections of properties.
2012-05-09 21:29:37 -04:00
Ms2ger
d2344a53dc Bug 745523 - Part a: prepare for unprefixing transforms by removing the prefix from internal APIs; r=dbaron 2012-05-05 11:00:04 +02:00
John Daggett
4fb6d48482 Bug 718539. Update font-feature-settings to latest spec syntax. r=dbaron 2012-04-26 15:24:26 +09:00
Boris Zbarsky
d65ff97c83 Bug 748254. When we encounter an unexpected '}' terminating a font-face descriptor's value, correctly close the font-face rule instead of eating the rest of the stylesheet. r=dbaron 2012-04-26 00:42:00 -04:00
Robert Longson
4e73d1b2fc Bug 746632 - If no fallback colour is specified we shouldn't draw anything when the URL fails to resolve. r=dbaron 2012-04-25 13:33:47 +01:00
Kang-Hao (Kenny) Lu
ab9651aad2 Bug 744243 - Forbid odd trailing slash in CSS 'border-image' property. r=dbaron 2012-04-12 10:02:33 +02:00
Ms2ger
4178f3e8ca Backout changeset 986091dac358 (bug 744234) for M4 oranges. 2012-04-11 12:30:11 +02:00
Kang-Hao (Kenny) Lu
cd9174d6e0 Bug 744234 - Forbid odd trailing slash in CSS 'border-image' property. r=dbaron 2012-04-11 00:28:01 -07:00
Aryeh Gregor
38268f4f4e Bug 734953 - Remove skew() transformation function; r=dbaron 2012-03-20 13:39:57 -04:00
Jacob Holzinger
86f648606c Bug 696242 - Convert NS_RegisterStaticAtoms and nsCSSScanner::ReportUnexpectedParams to take an array-reference rather than a pointer and length, making it impossible to pass a pointer/length that are inconsistent. r=jwalden
--HG--
extra : rebase_source : 882b5b4d500b1fa242c0a3cfa3084e4171cbaa9d
2012-03-08 18:22:57 -08:00
Lazar Sumar
6fbab0b473 Bug 548375 - Implement css3-background background-repeat property two value syntax. r=dbaron 2012-02-24 21:23:14 -08:00
Zack Weinberg
dc30af584b Bug 729142 - Convert layout/style to MOZ_STATIC_ASSERT. r=dbaron 2012-02-23 08:19:00 -08:00