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
77e8bd5e22
Convert attribute mapping functions to property getters instead of accessing struct members. (Bug 636039, patch 7) r=bzbarsky
2011-03-17 20:14:31 -07:00
L. David Baron
4e2ed0d43c
Fix error in CSS vs. HTML precedence for the variable atttribute on the pre element. (Bug 636039, patch 6) r=bzbarsky
2011-03-17 20:14:30 -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
L. David Baron
185c0cd717
Make sure all properties in nsCSSPropList.h have useful values for the method_ field. (Bug 636039) r=bzbarsky
...
Note that these are unprefixed to be consistent with the similar
existing methods for other logical box properties. Prefixing doesn't
matter for the dom property field of CSS_PROP_LIST_EXCLUDE_INTERNAL
properties, since dom property field of such properties is not exposed
to the Web.
2011-03-05 09:58:33 -08:00