Commit Graph

351 Commits

Author SHA1 Message Date
Zack Weinberg
fc18422932 Bug 541496 part 6: remove no-longer-used stream-processing code from css::Loader and nsCSSParser. r=bzbarsky 2011-05-18 21:22:59 -04:00
Zack Weinberg
4528c43578 Bug 541496 part 1: add an overload of nsCSSParser::Parse() that takes a string rather than a stream; rename both methods ParseSheet(); change calling convention of the older overload for the templated implementation's sake. r=bzbarsky 2011-05-18 21:22:59 -04:00
Boris Zbarsky
6ae99aa202 Bug 597291. Create nsIURI objects lazily for nsCSSValue::URL, so that we don't pay the cost of creating the ones we don't actually need. r=dbaron
In the new setup, the mURL member of nsCSSValue::URL stores either the actual URI pointed to or the base URI; a boolean flag keeps track of which is stored.  Consumers use GetURI() to get the URI instead of raw access to mURI, and GetURI calls NS_NewURI as needed.
2011-05-11 11:28:53 -04:00
L. David Baron
712f6703bb -moz-animation-play-state should not be part of the -moz-animation shorthand. (Bug 654890) r=bzbarsky 2011-05-09 15:02:35 -04:00
L. David Baron
5d1b8bdcd4 Unify positive-nonzero value restriction (used for integers) with one-or-larger value restriction (used for floats) as a single one-or-larger value restriction. (Bug 653842, patch 2) r=bzbarsky 2011-05-09 15:02:35 -04:00
Ms2ger
d50ba4e65e Bug 414638 - Disallow mixed space/comma syntax for CSS rect() value; r=dbaron 2011-05-08 20:14:16 +02:00
Craig Topper
cc15a2a6e3 Bug 648925 - Part 1: Change uses of nsICSSRule to css::Rule. r=bzbarsky 2011-04-07 18:23:46 -07:00
Yury
f2320f7c06 Bug 451165. Fix ParseColorString to report errors when there's garbage at the end of the color. r=dbaron 2011-05-05 17:12:04 -04:00
L. David Baron
b712774643 Add support for regexp() function in @-moz-document rule. (Bug 398962) r=bzbarsky 2011-04-28 10:21:37 -07:00
Masayuki Nakano
cc0623b6e3 Bug 647421 -moz-text-decoration-color and -moz-text-decoration-style should be reset by text-decoration r=dbaron, sr=bzbarsky 2011-04-23 14:16:41 +09:00
L. David Baron
30b6f8cb63 Add diagnostic for nested @-rules that are ignored. (Bug 652014) r=bzbarsky 2011-04-21 20:17:32 -07:00
L. David Baron
1851aeaa2f Remove parsing and storage code for CSS 2.0 aural properties. (Bug 649119) r=bzbarsky 2011-04-21 20:17:32 -07:00
L. David Baron
7e86462271 ifdef CSS animations so that the feature can be backed out by flipping the switches in configure.in and then reverting the changes to the following four files appropriately: nsIDOMCSS2Properties.idl, nsIDOMCSSRule.idl, property_database.js, test_transitions_computed_values.html. (Bug 435442, patch 15) r=bzbarsky 2011-04-11 23:18:44 -07:00
L. David Baron
f80131c3b4 Implement parsing and storage of @keyframes rule. (Bug 435442, patch 5) r=bzbarsky 2011-04-11 23:18:43 -07:00
L. David Baron
46a3aba4b3 Implement parsing and computation for the new properties in css3-animation. (Bug 435442, patch 1) r=bzbarsky 2011-04-11 23:18:42 -07:00
L. David Baron
9f841c864a Implement step-start, step-end, and steps() timing functions. (Bug 435442, patch 0) r=bzbarsky 2011-04-11 23:18:42 -07:00
Craig Topper
4d575fe7cd Bug 645956 - Part 5: Remove NS_NewCSSCharsetRule, r=bzbarsky 2011-03-22 23:20:09 -07:00
Craig Topper
f399980acf Bug 645956 - Part 3: Remove NS_NewCSSNamespaceRule, r=bzbarsky 2011-03-22 22:23:04 -07:00
Craig Topper
2ad1f0e447 Bug 645956 - Part 2: Remove NS_NewCSSImportRule, r=bzbarsky 2011-03-22 22:22:59 -07:00
Craig Topper
742b017a7c Bug 645956 - Part 1: Remove NS_NewCSSStyleRule, r=bzbarsky 2011-03-22 19:56:47 -07:00
Craig Topper
e742b48926 Bug 577974 - Part 3: Rename nsCSSDocumentRule and nsCSSMediaRule, r=bzbarsky 2011-03-17 22:18:08 -07:00
Craig Topper
c601a2e51b Bug 577974 - Part 2: Remove nsICSSGroupRule, r=bzbarsky
--HG--
rename : layout/style/nsICSSGroupRule.h => layout/style/GroupRule.h
2010-08-07 22:28:33 -07:00
Daniel Holbert
eeeddcd75e Bug 645750: Remove unused variables 'variantMask' and 'table' from nsCSSParser. r=dbaron 2011-03-29 09:53:09 -07:00
L. David Baron
f30ccb969b Remove the datastruct_ and member_ fields of the CSS_PROP macro. (Bug 645620, patch 5) r=bzbarsky 2011-03-28 16:07:27 -07:00
Boris Zbarsky
5eab7e1239 Bug 602341 part 5. Get rid of some pseudoclass atoms in the CSS parser. r=dbaron 2011-03-23 09:52:25 -04:00
Boris Zbarsky
0cd46556b4 Bug 602341 part 4. Drop the nsIAtom arguments to AddPSeudoClass. r=dbaron 2011-03-23 09:52:25 -04:00
Boris Zbarsky
c0e236bebd Bug 602341 part 2. Switch tree pseudoelements to using an nsAtomList (mClassList, to be exact), not an nsPseudoClassList (mPseudoClassList), for their list of atoms. r=dbaron 2011-03-23 09:52:25 -04:00
Boris Zbarsky
401c62aad2 Bug 602341 part 1. Switch the pseudoclass Has*Arg functions from atoms to pseudoclass types. r=dbaron 2011-03-23 09:52:24 -04:00
Craig Topper
51c51ac5d7 Bug 577002 Part 2: Remove nsICSSImportRule. r=bzbarsky
--HG--
rename : layout/style/nsICSSImportRule.h => layout/style/ImportRule.h
2011-03-17 13:41:52 -04:00
Craig Topper
16a0c17c96 Bug 576877 Part 2: Remove nsICSSNameSpaceRule. r=bzbarsky
--HG--
rename : layout/style/nsICSSNameSpaceRule.h => layout/style/NameSpaceRule.h
2011-03-17 13:41:52 -04:00
L. David Baron
34651d06fe Include the opening "url(" in URL and Bad_URL tokens (though the latter do not have a close paren), and make tokenization of url() function be noncontextual, as required by CSS. (Bug 604179, patch 7) r=bzbarsky
Note that tokenization of url-prefix() and domain() remains contextual.

Needed to help CSS 2.1 meet Proposed Recommendation entrance criteria.
2011-03-11 11:29:45 -06:00
L. David Baron
62b1274403 Include the close parenthesis in the URL token and make quoted URLs produce URL tokens rather than string tokens. (Bug 604179, patch 6) r=bzbarsky 2011-03-11 11:29:45 -06:00
L. David Baron
0041c7ae2e Move the consumption of beginning whitespace (for all forms) and ending whitespace (for the string form) inside url() into the tokenizer. (Bug 604179, patch 3) r=bzbarsky 2011-03-11 11:29:44 -06:00
L. David Baron
d321398917 Use GatherURL in ParseNameSpaceRule and ParseImageRect, and rename GatherURL to ParseURLOrString for clarity. (Bug 604179, patch 1) r=bzbarsky
Note that this adds a missing UngetToken(), which affects the other
consumer of GatherURL, parsing of @import rules.
2011-03-11 11:29:44 -06:00
Craig Topper
72d7c1f754 Bug 576831 part 4. Remove nsICSSStyleRule and use mozilla::css::StyleRule instead. r=bzbarsky
--HG--
rename : layout/style/nsCSSStyleRule.cpp => layout/style/StyleRule.cpp
rename : layout/style/nsICSSStyleRule.h => layout/style/StyleRule.h
2011-03-10 21:48:57 -05:00
L. David Baron
0c50a7e668 Use ParseSingleValueProperty for the components inside the 'transition' shorthand as well. (Bug 636029) r=bzbarsky 2011-03-05 09:58:33 -08:00
L. David Baron
7d588db662 Make generic mechanism for parsing lists of single values with ParseVariant. (Bug 636029) r=bzbarsky 2011-03-05 09:58:33 -08:00
L. David Baron
9576960b8d Drive the ParseVariant calls in ParseSingleValueProperty from data rather than a big switch. (Bug 636029) r=bzbarsky 2011-03-05 09:58:33 -08:00
L. David Baron
1f77843f84 Separate properties that are parsed in ParseSingleValueProperty with something other than ParseVariant. (Bug 636029) r=bzbarsky 2011-03-05 09:58:33 -08:00
L. David Baron
ca34183567 Separate the non-property parsed in ParseSingleValueProperty. (Bug 636029) r=bzbarsky 2011-03-05 09:58:33 -08:00
L. David Baron
be4c804463 Disable parsing of 'marker', 'run-in', and 'compact' in a less hacky way. (Bug 636029) r=bzbarsky
This simply removes all the code for the values.  This removes a
special-case that would otherwise need to become more complicated in a
later patch in this series.
2011-03-05 09:58:33 -08:00
L. David Baron
97c0bdb8a8 Add parse types for CSS properties so we don't parse them in one huge switch. (Bug 636029) r=bzbarsky
With this patch, every CSS property is required to have one of the parse
type values (CSS_PROPERTY_PARSE_{FUNCTION,VALUE,INACCESSIBLE}) in its
flag bits.  This avoids needing a switch in
CSSParserImpl::ParseProperty(nsCSSProperty).

Note that this reserves more space in CSS_PROPERTY_PARSE_PROPERTY_MASK
than appears to be necessary; that space will be used in a later patch
in this series.
2011-03-05 09:58:33 -08:00
Boris Zbarsky
1e753295f6 Bug 616137. Skip to the nearest ']' when parsing an attr selector fails. r=dbaron 2011-03-04 10:27:02 -05:00
L. David Baron
4fcef65cfe -moz-box-ordinal-group should not accept 0, since the code that uses the property ignores values of 0. (Bug 636034) r=bzbarsky 2011-03-03 13:18:42 -08:00
L. David Baron
937df71675 Fix skipping of @-rules that are inside blocks to conform to new rule in CSS 2.1, which says that we must look for end-of-outer-block in addition to a semicolon or a block. (Bug 604175) r=bzbarsky
This fixes http://test.csswg.org/suites/css2.1/20110111/html4/at-rule-013.htm

Needed to help CSS 2.1 meet Proposed Recommendation entrance criteria.
2011-03-03 13:18:42 -08:00
L. David Baron
df01b98efe Make GatherMedia() stop at block or semicolon in invalid cases. (Bug 604172) r=bzbarsky
Needed to help CSS 2.1 meet Proposed Recommendation entrance criteria.
2011-03-03 13:18:42 -08:00
L. David Baron
f597990bf0 Add missing UngetToken() for invalid contents of @charset rule. (Bug 604172) r=bzbarsky
Needed to help CSS 2.1 meet Proposed Recommendation entrance criteria.
2011-03-03 13:18:42 -08:00
Zack Weinberg
59157fdf7c Bug 631615: suppress CSS parser diagnostics in ParseSelectorString. r=dbaron a2.0=dbaron 2011-02-04 14:17:00 -08:00
L. David Baron
3c79fb9460 Correct handling of unitless zero in calc() expressions. (Bug 595648) r=bzbarsky a=blocking2.0:betaN+
This ensures that we treat a unitless zero as a number rather than a
length inside of calc() expressions.  This causes both the acceptance of
previously-rejected expressions (such as -moz-calc(0 * 1em)) and the
rejection of previously-accepted ones (such as -moz-calc(0 + 1em)).
2010-12-30 12:59:33 -05:00
L. David Baron
3efa9fabcc In contexts where the CSS parser accepts numbers and lengths, treat unitless zero as a number rather than a length. (Bug 595648) r=bzbarsky,dholbert a=blocking2.0:betaN+
This patch has the side-effect of changing the representation of '0'
values in properties added by SVG to use the number representation
rather than the length representation.  This requires marking the
stroke-dashoffset:0 test in test_value_computation.html as known to
fail, since computed style code now returns 0 rather than 0px, and also
requires changing some inputs and results in some SMIL tests (which
seems like it's showing a bug that we can't interpolate between
equivalent values when we ought to be able to do so).
2010-12-30 12:59:33 -05:00
Mihai Sucan
215e61a4b2 Bug 606498 - Make sure the new nsIScriptError2 is used in all possible places- part 3; r=bzbarsky,dbaron,mrbkap sr=jst a=blocking2.0 2010-12-20 12:21:59 -04:00
Daniel Holbert
59aec5e3a8 Bug 615977: Make nsCSSValue::BufferFromString() return an already_AddRefed pointer. r=dbaron a=roc
--HG--
extra : rebase_source : b4048d8fbde522f05a01df693887e0e26a5afb97
2010-12-05 13:17:29 +00:00
L. David Baron
850dc81ab2 Remove support (style system only) for 'wider' and 'narrower' values of 'font-stretch'. (Bug 604816) r=jdaggett a2.0=joedrew 2010-11-10 07:49:52 -08:00
Ginn Chen
cb951b68f9 Bug 590436 nsCSSParser.cpp failed to compile with Sun Studio compiler r=roc a=benjamin 2010-11-09 18:16:18 +08:00
Jim Mathies
4aed135ef5 Bug 543910 - Layout support for -moz-windows-theme. r=dbaron, a=final. 2010-10-09 15:53:45 -05:00
L. David Baron
c8d807ef1f Remove null-checks for infallible array allocations. (Bug 520234) r=bzbarsky a=blocking2.0:beta7 2010-09-15 08:11:27 -07:00
L. David Baron
63b684953a Add a fallible version of nsCSSValue::Array::Create. (Bug 520234) r=bzbarsky a=blocking2.0:beta7 2010-09-15 08:11:26 -07:00
L. David Baron
06bd2147cd Support calc() on background-position, background-size, -moz-transform-origin, and background-image gradient stop positions. (Bug 594934) r=bzbarsky a=blocking2.0:betaN
(Note:  this also depends on the change to nsStyleAnimation.cpp's StyleCoordToValue in bug 520234 and on other changes in that bug.)
2010-09-15 08:11:26 -07:00
Josh Matthews
0984e327c5 Bug 474356 - Add -moz-device-pixel-ratio media query. r=dbaron a=approval2.0
--HG--
extra : rebase_source : 3a477fe6eab09f693538008aafa9c8bf880597b1
2010-09-10 16:27:52 -04:00
Josh Matthews
37d6567b57 Backed out changeset ec2ffd935bd9 a=test-bustage 2010-09-11 21:04:09 -04:00
Josh Matthews
3576dc896d Bug 474356 - Add -moz-device-pixel-ratio media query. r=dbaron a=approval2.0
--HG--
extra : rebase_source : 1455dfbf13b66ac58cd2a66514c88adc76ff1a6c
2010-09-11 19:21:48 -04:00
L. David Baron
fa356d0a17 Remove support for min() and max() in calc(): remove support for parsing and storage. (Bug 363249) r=bzbarsky a2.0=blocking2.0:beta6 2010-09-11 09:27:12 -07:00
Zack Weinberg ext:(%2C%20L.%20David%20Baron%20%3Cdbaron%40dbaron.org%3E)
e4c76eccb0 Bug 451134 (1/2): switch to the official border-radius property names: purely mechanical changes. r=dbaron a2.0=blocking2.0:beta6
This was generated with the command:

LC_ALL=C grep -irlEZe '[-_]moz[-_]border[-_]radius([-_](top|bottom)(right|left))?' * | xargs -0 perl -pi -e \
    's/-moz-border-radius-(top|bottom)(left|right)/border-${1}-${2}-radius/gi;
     s/_moz_border_radius_(top|bottom)Right/border_${1}_right_radius/g;
     s/_moz_border_radius_(top|bottom)Left/border_${1}_left_radius/g;
     s/-moz-border-radius/border-radius/gi;
     s/_moz_border_radius/border_radius/g;'
2010-09-09 08:21:47 -07:00
L. David Baron
e06e2d58f5 Add calc() support for two properties I missed: outline-width and column-gap. (Bug 363249) r=bzbarsky a2.0=blocking2.0:beta6 2010-09-09 08:21:46 -07:00
L. David Baron
7a6fa51b18 Negative values for stroke-dasharray should be rejected. (Bug 585715) r=bzbarsky a2.0=blocking2.0:beta6 2010-09-09 08:21:46 -07:00
L. David Baron
8aaf22a0f4 Add support for calc() on -moz-border-radius and -moz-outline-radius. (Bug 585715) r=bzbarsky a2.0=blocking2.0:beta6 2010-09-09 08:21:45 -07:00
L. David Baron
26ed2a5639 Add support for calc() to 'vertical-align' and 'text-indent'. (Bug 585715) r=bzbarsky a2.0=blocking:beta6+ 2010-08-31 12:05:12 -04:00
L. David Baron
ed01917887 Add support for calc() to the '{margin,padding}-{top,right,bottom,left}' and '-moz-margin-{start,end}' properties. (Bug 585715) r=bzbarsky a2.0=blocking:beta6+ 2010-08-31 12:05:12 -04:00
Boris Zbarsky
90139f083f Bug 589672 followup. Don't unget on code paths where it's already been handled for us. Fixes test orange. r+a=dbaron 2010-08-25 17:10:11 -04:00
Boris Zbarsky
341cd11eb6 Bug 589672. Parsing of malformed namespace rules can skip over too many tokens while recovering. r=dbaron, a=dbaron 2010-08-25 14:54:48 -04:00
L. David Baron
065207f2c7 Add support for calc() to the 'top', 'right', 'bottom', and 'left' properties. (Bug 585715) r=bzbarsky a2.0=blocking+ 2010-08-25 12:17:56 +02:00
L. David Baron
b99a005c4c Add support for calc() to the 'min-width' and 'max-width' properties. (Bug 585715) r=bzbarsky a2.0=blocking+ 2010-08-25 12:17:56 +02:00
L. David Baron
091d6b7837 Add support for calc() to the 'height', 'min-height', and 'max-height' properties. (Bug 585715) r=bzbarsky a2.0=blocking+ 2010-08-25 12:17:55 +02:00
Zack Weinberg
bd1cdb9ce4 Bug 576044 (10/12): Don't directly manipulate the contents of mTempData in the CSS parser. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
a589629d5e Bug 576044 (9/12): Add an AddLonghandProperty method to nsCSSExpandedDataBlock. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
33b5fbfe1b Bug 576044 (8/12): remove the last MoveValue call from the CSS parser. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
bc4afbe28a Bug 576044 (6/12): remove vestiges of nsCSSType. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
a5a3802007 Bug 576044 (5/12): eliminate ValueList as a storage type. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
0251ba5a66 Bug 576044 (4/12): eliminate ValuePairList as a storage type. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
e0203804f9 Bug 576044 (3/12): eliminate Rect as a storage type. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
5922bd1bb5 Bug 576044 (2/12): eliminate ValuePair as a storage type. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
e93186d2e7 Bug 576044 (1/12): Move all the CSS 'storage types' (rect, value pair, etc) to nsCSSValue.h and their code to nsCSSValue.cpp. r=dbaron a2.0=dbaron 2010-08-19 15:33:43 -04:00
Robert O'Callahan
907d0109b7 Bug 537890. Part 4.5: Create 'mozmm' unit for physical millimeters on screen devices. r=dbaron 2010-08-13 21:58:02 +12:00
L. David Baron
810d004cf3 Correct parenthesis-matching inside of :not(). (Bug 586070) r=bzbarsky a2.0=bsmedberg 2010-08-15 08:42:29 -04:00
Robert O'Callahan
f8dc984ede Backing out bug 584282 and bug 537890 2010-08-14 02:35:06 +12:00
Markus Stange
3df2a2ce8e Bug 506826 - Parsing for background-image: -moz-element(#elementID). r=dbaron 2010-08-13 15:33:37 +02:00
L. David Baron
ee89e22866 Add support for calc() to the 'width' property. (Bug 585715) r=bzbarsky a2.0=blocking2.0+ 2010-08-11 12:32:53 -07:00
L. David Baron
fe0508e3b2 Fix places where we should skip to a closing parenthesis during errors parsing functions. (Bug 575672) r=bzbarsky a2.0=blocking2.0+ 2010-08-11 12:32:52 -07:00
L. David Baron
248a3cdc5f CSS transition timing functions should not allow X arguments to cubic-bezier() outside of 0-1. (Bug 575672) r=bzbarsky a2.0=blocking2.0+ 2010-08-11 12:32:52 -07:00
Kyle Huey
2a2801990e Bug 578714: Stop doing Unicode-aware case-folding inside layout/style. r=zwol sr=bz 2010-08-02 15:19:04 -07:00
Zack Weinberg
40a9b87efe Bug 581579: fix error recovery in parsing of CSS priority suffix. r+a=dbaron 2010-08-04 12:27:05 -07:00
Zack Weinberg
b8130b3679 Bug 569719 part 15: Always copy the entire css::Declaration before changing it in any way. r=dbaron 2010-07-23 11:00:49 -07:00
Zack Weinberg
39c4539636 Bug 569719 part 13: move nsCSSParser methods that manipulate data blocks into the appropriate nsCSS*DataBlock classes. r=dbaron 2010-07-23 11:00:44 -07:00
Zack Weinberg
af2031e447 Bug 569719 part 12: replace nsCSSParser::ClearTempData with explicit use of mTempData.ClearProperty (and make that method handle shorthands). r=dbaron 2010-07-23 11:00:42 -07:00
Zack Weinberg
bfd2ecb93e Bug 569719 part 11: take the fast path in ParseProperty for !important replacing !important, as well as normal replacing normal. r=dbaron 2010-07-23 11:00:39 -07:00
Zack Weinberg
604c8c3c12 Bug 569719 part 10: refactor parsing of !important and the end of a property declaration. r=dbaron 2010-07-23 11:00:37 -07:00
Zack Weinberg
6873de67ec Bug 569719 part 9: remove return value from css::Declaration methods that always return NS_OK, and change GetCSSDeclaration to return a css::Declaration instead of an nsresult. r=dbaron 2010-07-23 11:00:34 -07:00
Zack Weinberg
a0acc46ce4 Bug 569719 part 5: in nsCSSValueList and nsCSSValuePairList, convert Equal() to operator==, and remove unnecessary argument from Clone(). r=dbaron 2010-07-23 11:00:24 -07:00
Zack Weinberg
b2480f1b17 Bug 569719 part 3: collapse nsDOMCSSDeclaration::ParseDeclaration into its sole caller (nsDOMCSSDeclaration::SetCSSText); remove always-constant flag arguments to nsCSSParser::ParseAndAppendDeclaration; rename that method to ParseDeclarations. r=dbaron 2010-07-23 11:00:19 -07:00
Robert O'Callahan
bd0e4c32ea Bug 537890. Part 4.5: Create 'mozmm' unit for physical millimeters on screen devices. r=dbaron 2010-08-13 21:58:02 +12:00