Commit Graph

39 Commits

Author SHA1 Message Date
Seth Fowler
6440ff4ffd Bug 1181907 (Part 2) - Make nsCSSProperty hashable. r=heycam 2015-08-26 18:19:34 -07:00
Cameron McCormack
e7f23f67c7 Bug 1120284 - Part 5: Support logical axis properties. r=dbaron 2015-01-17 15:43:20 +11:00
Cameron McCormack
341d3159ff Bug 1120284 - Part 2: Support non-shorthand-related logical box property groups. r=dbaron 2015-01-17 15:43:20 +11:00
Cameron McCormack
eac53a72d1 Bug 1120284 - Part 1: Define logical property groups more explicitly. r=dbaron 2015-01-17 15:43:20 +11:00
Cameron McCormack
728a03b49a Bug 649142 - Part 1: Add macros and flags for defining logical properties and don't allocate storage for them in nsRuleData. r=dbaron
We define a new flag CSS_PROPERTY_LOGICAL to be used for logical longhand
properties and a new CSS_PROP_LOGICAL macro in nsCSSPropList.h to
define them.

When using CSS_PROP to capture all properties, includers must now
explicitly indicate whether logical properties are included or not,
by defining CSS_PROP_LIST_EXCLUDE_LOGICAL (to exclude them),
CSS_PROP_LIST_INCLUDE_LOGICAL (to include them), or CSS_PROP_LOGICAL
(to capture them separately from other properties).
2015-01-17 15:16:01 +11:00
Phil Ringnalda
d866ff0386 Back out 9 changesets (bug 649142)
Backed out changeset 936703c75200 (bug 649142)
Backed out changeset b0252d2620d8 (bug 649142)
Backed out changeset 69ddb2036c50 (bug 649142)
Backed out changeset 67748675e669 (bug 649142)
Backed out changeset 15ed55c61f4e (bug 649142)
Backed out changeset 35c42cd138e1 (bug 649142)
Backed out changeset 1335630cf287 (bug 649142)
Backed out changeset b5725cd39a31 (bug 649142)
Backed out changeset b0eb691d6695 (bug 649142)
2014-12-30 20:04:20 -08:00
Cameron McCormack
7bbc7ba262 Bug 649142 - Part 1: Add macros and flags for defining logical properties and don't allocate storage for them in nsRuleData. r=dbaron
We define a new flag CSS_PROPERTY_LOGICAL to be used for logical longhand
properties and a new CSS_PROP_LOGICAL macro in nsCSSPropList.h to
define them.

When using CSS_PROP to capture all properties, includers must now
explicitly indicate whether logical properties are included or not,
by defining CSS_PROP_LIST_EXCLUDE_LOGICAL (to exclude them),
CSS_PROP_LIST_INCLUDE_LOGICAL (to include them), or CSS_PROP_LOGICAL
(to capture them separately from other properties).
2014-12-31 12:18:12 +11:00
Xidorn Quan
311ef2f9f9 Bug 966166 - Part 1: Parse @counter-style rule. r=dbaron, r=bz 2014-06-11 21:10:00 -04:00
Cameron McCormack
d626db095c Bug 985838 - Change custom property name prefix from "var-" to "--" and allow identifiers to begin with "--". r=dbaron 2014-04-02 14:32:16 +11:00
Cameron McCormack
62a3eadf14 Bug 773296 - Part 2: Parse CSS variable declarations and store them on Declaration objects. p=ebassi,heycam r=dbaron
Patch co-authored by Emmanuele Bassi <ebassi@gmail.com>

This defines a CSSVariableDeclarations class that holds a set of
variable declarations.  This is at the specified value stage, so values
can either be 'initial', 'inherit' or a token stream (which is what you
normally have).  The variables are stored in a hash table.  Although
it's a bit of a hack, we store 'initial' and 'inherit' using special
string values that can't be valid token streams (we use "!" and ";").

Declaration objects now can have two CSSVariableDeclarations objects
on them, to store normal and !important variable declarations.  So that
we keep preserving the order of declarations on the object, we inflate
mOrder to store uint32_ts, where values from eCSSProperty_COUNT onwards
represent custom properties.  mVariableOrder stores the names of the
variables corresponding to those entries in mOrder.

We also add a new nsCSSProperty value, eCSSPropertyExtra_variable, which
is used to represent any custom property name.
nsCSSProps::LookupProperty can return this value.

The changes to nsCSSParser are straightforward.  Custom properties
are parsed and checked for syntactic validity (e.g. "var(a,)" being
invalid) and stored on the Declaration.  We use nsCSSScanner's
recording ability to grab the unparsed CSS string corresponding to
the variable's value.
2013-12-12 13:09:40 +11:00
L. David Baron
72b383d455 Add ids for CSS property aliases to the nsCSSProperty enum. (Bug 849656, patch 1) r=bzbarsky
Note that this uses the method_ field of the CSS_PROP_ALIAS macro, which
is not consistent in style with the other values of nsCSSProperty.
However, these enum values are unlikely to be used explicitly, and it
avoids having to add an extra parameter to the macro.  (It might even be
better to change the other values to work this way.)
2013-03-13 09:58:39 -07:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Boris Zbarsky
5232d422f0 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
Nathan Froyd
5e807a653e Bug 712299 - don't require manual syncing of font data; r=bz 2011-12-20 11:49:16 -05:00
Michael Ventnor
8e195851b6 Bug 446569 - Implement prefixed CSS3 columns shorthand r=dbaron 2011-08-23 14:18:22 +10:00
L. David Baron
b4e61780aa 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
L. David Baron
4bdad6c62f Add 'parsevariant_' parameter to CSS_PROP macro, with all properties initially zero. (Bug 636029) r=bzbarsky 2011-03-05 09:58:33 -08:00
Zack Weinberg
cb445e7025 Bug 576044 (6/12): remove vestiges of nsCSSType. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Zack Weinberg
4d1c92a45d 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
698cc2a773 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
1d56fbae0e 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
3c4c708e33 Bug 576044 (2/12): eliminate ValuePair as a storage type. r=dbaron a2.0=dbaron 2010-08-19 15:33:44 -04:00
Jonathan Kew
355ace69be bug 511339 - part 1 - implement -moz-font-feature-settings and -moz-font-language-override in CSS. r=dbaron 2010-07-13 21:30:42 +01:00
L. David Baron
35700db2a8 Rewrap long argument lists to CSS_PROP macros. Whitespace changes only. (Bug 504652) 2009-09-11 06:46:36 -04:00
L. David Baron
d2990e879c Add fields to nsCSSPropList.h for style struct offset and animation type. (Bug 504652) r=bzbarsky 2009-09-11 06:46:36 -04:00
L. David Baron
44b1f6f4df Add stylestruct_ parameter to CSS_PROP macro. (Bug 504652) r=bzbarsky 2009-09-11 06:46:36 -04:00
Jonathon Jongsma
88171d54af Implement CSS transitions: implement the parsing and computation of the transition properties. (Bug 435441) r=bzbarsky 2009-08-20 14:52:47 -07:00
L. David Baron
b1b5c7a8d1 Fix parsing of 'none' values in 'list-style' shorthand. (Bug 474135) r+sr=bzbarsky 2009-01-22 17:28:13 -08:00
L. David Baron
ba587fa4d1 Add a flags table for CSS properties. (Bug 160403) r+sr=bzbarsky 2008-10-07 15:10:19 -07:00
Zack Weinberg
08508030ed Bug 441469. Implement parsing of @font-face rules. r+sr=dbaron 2008-08-07 19:15:40 -04:00
L. David Baron
87ecbe4d19 Merge Quotes and CounterData storage types into ValuePairList. (Bug 322475) r+sr=bzbarsky 2008-08-04 15:15:11 -07:00
dbaron@dbaron.org
fba438fb39 One-line descriptions of files, partly because they show up in LXR. 2006-03-30 06:20:34 +00:00
cbiesinger@web.de
48e0476e31 bug 308409 convert ParseTextShadow to nsCSSValue::Array and nsCSSValueList
r+sr=dbaron
2005-09-20 12:04:45 +00:00
dbaron@dbaron.org
ce9918a741 Remove unused iscoord parameter from CSS_PROP_* macros. b=205790 r+sr=bzbarsky 2004-11-30 19:24:34 +00:00
bzbarsky@mit.edu
ccd5aa2f41 Add nsCSSValuePair type and use it for storage of some properties. Bug 208729,
r+sr=dbaron
2004-09-10 03:26:58 +00:00
gerv@gerv.net
cf0b0c064a Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-17 21:52:36 +00:00
dbaron@dbaron.org
7d84b227eb Convert switch in nsCSSProps::LookupPropertyValue to use a table by adding to the CSS_PROP_* macros. b=208726 r+sr=bzbarsky 2004-02-19 18:02:20 +00:00
dbaron@dbaron.org
0b44068934 Remove hints from CSS property list. b=158713 r+sr=bzbarsky 2003-07-02 22:17:23 +00:00
dbaron@dbaron.org
cb886e55cc Put more information on the CSS properties in nsCSSPropList.h.
Use the property list in the tables for nsRuleNode::CheckSpecifiedProperties.
To reduce heap usage, redesign the storage of properties and values in nsCSSDeclaration to allocate all property-value pairs in a declaration block in a single allocation, and use temporary structures (like the old permanent structures) during parsing and modification.  Replace per-property switch statements in nsCSSDeclaration with table-based code to reduce code size.
b=125246  r+sr=bzbarsky
2003-06-07 22:14:42 +00:00