Commit Graph

9618 Commits

Author SHA1 Message Date
L. David Baron
a16e79db9e Make nsCachedStyleData store arrays of nsStyleStruct*, and use style struct IDs for faster access to those arrays. (Bug 639231, patch 3) r=bzbarsky 2011-03-17 20:14:32 -07:00
L. David Baron
f7e180061f Fix indentation. (Bug 639231, patch 2) r=bzbarsky 2011-03-17 20:14:32 -07:00
L. David Baron
17fb4b6565 Keep reset and inherited style struct IDs separate. (Bug 639231, patch 1) r=bzbarsky 2011-03-17 20:14:31 -07:00
L. David Baron
f1fb6dbc73 Add poisoning for nsRuleData::mValueOffsets. (Bug 636039, patch 19) r=bzbarsky
I tested manually that after:
 (a) removing the |ruleData.mValueOffsets[aSID] = 0;| in
     nsRuleNode::WalkRuleTree
 (b) removing the NS_ABORT_IF_FALSE(aRuleData->mValueOffsets[aSID] == 0,
     ...) from nsRuleNode::CheckSpecifiedProperties and
     UnsetPropertiesWithoutFlags
that we crash dereferencing the poison address in a SetCoord call inside
nsRuleNode::ComputeTextResetData
2011-03-17 20:14:31 -07:00
L. David Baron
7dfaf2124a Make test_property_database.html give all the errors rather than throwing an exception for the first missing longhand property. (Bug 636039, patch 18) r=bzbarsky
The main fix is in the first of the three for loops modified, but the
new structure of that one seems like an improvement worth applying to
the other two.
2011-03-17 20:14:31 -07:00
L. David Baron
bfca304c0a Remove now unused nsRuleData* structs. (Bug 636039, patch 17) r=bzbarsky 2011-03-17 20:14:31 -07:00
L. David Baron
d5df3b1e50 Remove Moz prefixes from names of subproperty tables. (Bug 636039, patch 16) r=bzbarsky
This fixes the FIXME introduced in patch 4.
2011-03-17 20:14:31 -07:00
L. David Baron
8f037974d7 Instead of stack-allocating nsRuleData* structs in separate methods for each style struct, allocate an array of nsCSSValue using alloca. (Bug 636039, patch 15) r=bzbarsky 2011-03-17 20:14:31 -07:00
L. David Baron
aa39d3bc8d Add index and count data for the properties that need to be computed for each style struct. (Bug 636039, patch 14) r=bzbarsky
This adds a second occurrence of the ugliest pattern of nsCSSPropList.h
inclusion.
2011-03-17 20:14:31 -07:00
L. David Baron
8214ac4261 Make the three CSS_PROP_INCLUDE_NOT_CSS properties much more like normal CSS properties, and (importantly) give them property IDs in the longhand range. Replace CSS_PROP_INCLUDE_NOT_CSS with CSS_PROP_STUB_NOT_CSS for callers that need stubs. (Bug 636039, patch 13) r=bzbarsky 2011-03-17 20:14:31 -07:00
L. David Baron
863712f142 Remove now-unneeded parameters to COMPUTE_START_{INHERITED,RESET}. (Bug 636039, patch 12) r=bzbarsky 2011-03-17 20:14:31 -07:00
L. David Baron
2add6d4298 Convert nsRuleNode::Compute*Data to property getters instead of accessing struct members. (Bug 636039, patch 11) r=bzbarsky 2011-03-17 20:14:31 -07:00
L. David Baron
59b4de6d7d Correct checks that were for the wrong pseudo-property (script-level vs. script-size-multiplier). (Bug 636039, patch 10) r=bzbarsky 2011-03-17 20:14:31 -07:00
L. David Baron
bdbc263fe7 Remove unused *AtOffset methods. (Bug 636039, patch 9) r=bzbarsky 2011-03-17 20:14:31 -07:00
L. David Baron
019db3ab80 Convert custom style rules to property getters instead of accessing struct members. (Bug 636039, patch 8) r=bzbarsky 2011-03-17 20:14:31 -07:00
L. David Baron
a285ab1c0a Add nsRuleData::ValueForBackgroundColor, etc., methods for each CSS property. (Bug 636039, patch 5) r=bzbarsky 2011-03-17 20:14:30 -07:00
L. David Baron
6256bf49b3 Allow the method field in nsCSSPropList.h to be used with or without prefixes. (Bug 636039, patch 4) r=bzbarsky 2011-03-17 20:14:30 -07:00
L. David Baron
1bcb281e20 Don't bloat nsCSSTable for members that only need to exist in nsRuleDataTable. (Bug 636039, patch 3) r=bzbarsky 2011-03-17 20:14:30 -07:00
L. David Baron
dbf25be692 Correct comment describing nsRuleData::ValueFor. (Bug 636039, patch 2) r=bzbarsky
nsRuleData::ValueFor does not return null; it checks conditions that
would cause it to do so with NS_ABORT_IF_FALSE.  Callers are required to
check mSIDs.
2011-03-17 20:14:30 -07:00
Boris Zbarsky
0618ee48ae Bug 641856. column-rule needs to work even when overflow is not visible. r=roc 2011-03-17 13:41:52 -04:00
Craig Topper
c232171343 Bug 577002 Part 3: Make various ImportRule functions non-virtual and cleanup some return types. r=bzbarsky 2011-03-17 13:41:52 -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
ed7596665a Bug 577002 Part 1: Rename CSSImportRuleImpl to mozilla::css::ImportRule. r=bzbarsky 2011-03-17 13:41:52 -04:00
Craig Topper
c4eb4e1d09 Bug 576877 Part 3: De-virtualize methods in NameSpaceRule. r=bzbarsky 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
Craig Topper
e09f420a06 Bug 576877 Part 1: Rename CSSNameSpaceRuleImpl to mozilla::css::NameSpaceRule. r=bzbarsky 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
d2fff89944 Disallow control characters less than space inside unquoted url(), per spec. (Bug 604179, patch 5) r=bzbarsky 2011-03-11 11:29:44 -06:00
L. David Baron
d03d993c7b Fix incorrect indentation in nsCSSScanner::NextURL. (Bug 604179, patch 4) r=bzbarsky 2011-03-11 11:29:44 -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
866f3aece4 Rename CSS tokens to be closer to the names of newly-added tokens (BAD_STRING, BAD_URI) in the CSS 2.1 tokenization. (Bug 604179, patch 2) 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
d52db340a6 Bug 576831 part 6. DeCOMtaminate some StyleRule method signatures. r=bzbarsky. 2011-03-10 21:50:20 -05:00
Craig Topper
45ad1bbe6f Bug 576831 part 5. Make some methods that used to be virtual non-virtual. r=bzbarsky 2011-03-10 21:50:12 -05: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
Craig Topper
5331afcc56 Bug 576831 part 3. Rename CSSImportantRule to mozilla::css::ImportantRule. r=bzbarsky 2011-03-10 21:48:26 -05:00
Craig Topper
2465d73b63 Bug 576831 part 2. Rename DOMCSSStyleRuleImpl to mozilla::css::DOMCSSStyleRule. r=bzbarsky 2011-03-10 21:47:52 -05:00
Craig Topper
40e645b9da Bug 576831 part 1. Rename CSSStyleRuleImpl to mozilla::css::StyleRule. r=bzbarsky 2011-03-10 21:47:08 -05:00
Boris Zbarsky
ef5a70b33c Bug 608759. Stop calling ContentEnumFunc through a function pointer; just call it directly. r=dbaron 2011-03-07 12:45:25 -05:00
Boris Zbarsky
be00decfac Bug 630127. Use a precise timer when we have animation frame callbacks. r=dbaron 2011-03-07 11:58:48 -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
f66feda91a Fix keyword table entries in nsCSSPropList and code in nsRuleNode to match those used in the parser. (Bug 636029) r=bzbarsky 2011-03-05 09:58:33 -08:00
L. David Baron
36d847de86 Add 'parsevariant_' parameter to CSS_PROP macro, with all properties initially zero. (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