Commit Graph

1718 Commits

Author SHA1 Message Date
L. David Baron
f22af36a6f Replace use of nsCSS* structs in nsCSSExpandedDataBlock with an array of nsCSSValue. (Bug 645620, patch 1) r=bzbarsky
Note that this increases the size of nsCSSExpandedDataBlock by three
nsCSSValues for the three non-CSS properties.
2011-03-28 16:07:26 -07:00
Jonas Sicking
ca53c7c13a Bug 644476: Rename classes/functions/variables to use "CORS" rather than "Access Control" or "Cross site" where appropriate. r=smaug 2011-03-28 13:18:45 -07:00
Ms2ger
4add4dff80 Bug 562701, part c: Use Element in nsStyleAnimation::ComputeValue; r=dbaron 2011-03-28 12:51:59 -04:00
Daniel Holbert
eeeddcd75e Bug 645750: Remove unused variables 'variantMask' and 'table' from nsCSSParser. r=dbaron 2011-03-29 09:53:09 -07:00
Boris Zbarsky
8a877093bc Bug 598832 part 16. Use a single TreeMatchContext for all the style resolution that the frame constructor does as part of a single frame construction batch. r=dbaron 2011-03-29 13:29:21 -04:00
Boris Zbarsky
2bad4d16d0 Bug 598832 part 15. Make RuleProcessorData not inherit from TreeMatchContext anymore, so we can decouple the lifetimes. r=dbaron 2011-03-29 13:29:21 -04:00
Boris Zbarsky
bab493667a Bug 598832 part 14. Make RuleProcessorData a stack-only class. r=dbaron 2011-03-29 13:29:21 -04:00
Boris Zbarsky
1d0038c7b8 Bug 598832 part 13. Stop using RuleProcessorData in the DOM-exposed selector-matching methods. r=dbaron 2011-03-29 13:29:21 -04:00
Boris Zbarsky
5299172bbc Bug 598832 part 12. Stop using RuleProcessorData in SelectorMatchesTree. r=dbaron 2011-03-29 13:29:21 -04:00
Boris Zbarsky
ad215aa928 Bug 598832 part 11. Stop caching the parent content pointer and the element pointer; just use the passed-in aElement. r=dbaron 2011-03-29 13:29:21 -04:00
Boris Zbarsky
a2477a6565 Bug 598832 part 10. Stop caching information about the element's attributes; just get it from the DOM as needed. r=dbaron 2011-03-29 13:29:21 -04:00
Boris Zbarsky
b2528f25ed Bug 598832 part 9. Stop caching the element's local name; just get it from the DOM as needed. r=dbaron 2011-03-29 13:29:21 -04:00
Boris Zbarsky
66521f6f8c Bug 598832 part 8. Move NodeMatchContext higher up the callstack, so that we don't have to call IsLink as much. r=dbaron 2011-03-29 13:29:21 -04:00
Boris Zbarsky
c2d78db208 Bug 598832 part 7. Stop caching the content state of elements; just reget it from the DOM as needed. r=dbaron 2011-03-29 13:29:21 -04:00
Boris Zbarsky
06fc5fd9e4 Bug 598832 part 6. Stop caching the language of elements; just reget it from the DOM as needed. r=dbaron 2011-03-29 13:29:21 -04:00
Boris Zbarsky
ed28ec7565 Bug 598832 part 5. Move caching of nth-index stuff to the TreeMatchContext. r=dbaron 2011-03-29 13:29:21 -04:00
Boris Zbarsky
14b6974cbf Bug 598832 part 4. Move tracking of whether we're in quirks mode to the TreeMatchContext. r=dbaron 2011-03-29 13:29:20 -04:00
Boris Zbarsky
0c71da47ea Bug 598832 part 3. Stop keeping track of whether the node or document is HTML in the RuleProcessorData. r=dbaron 2011-03-29 13:29:20 -04:00
Boris Zbarsky
56f2955c75 Bug 598832 part 2. Move tracking of the scope root to the TreeMatchContext. r=dbaron 2011-03-29 13:29:20 -04:00
Boris Zbarsky
1450ef8e9f Bug 598832 part 1. Move TreeMatchContext out to where things other than the rule processor can get at it. r=dbaron 2011-03-29 13:29:20 -04:00
timeless@mozdev.org
395892eff6 Bug 577914 mark DEBUG only variables as ifdef DEBUG in layout
r=dbaron
2010-07-11 15:47:45 +03:00
Boris Zbarsky
8038f06c2e Bug 643945. Use a <button type='button'>, not an <input type='button'>, for the dropmarker in a <select>. r=ehsan 2011-03-25 21:05:56 -04:00
L. David Baron
d78a10bc18 Backout changeset f406ffe65c08 (Bug 620931 part 1) for causing bug 644790. 2011-03-24 21:07:53 -07:00
L. David Baron
af9a4f98db Merge layout work from projects/birch, part 4. a=rs 2011-03-24 14:36:14 -07:00
Boris Zbarsky
a91fb24e3a Bug 602341 part 7. Fix serialization of tree selectors. r=dbaron 2011-03-23 17:25:42 -04:00
L. David Baron
65ba1c0595 Merge layout work from projects/birch, part 3. a=smaug 2011-03-24 08:38:19 -07:00
Mike Hommey
765d4f1b6c Bug 620931 part 1 - Use chrome manifest to register resource://gre-resources/. r=bsmedberg 2011-03-24 15:27:37 +01:00
Boris Zbarsky
4635536259 Bug 606087. Don't reframe if overflow styles change on inlines. r=dbaron. Test changes by Alexander Surkov, r=marco.zehe 2011-03-23 09:56:58 -04:00
Boris Zbarsky
1a3816d126 Bug 602341 part 6. Make pseudoclass atoms private to nsCSSPseudoClasses. r=dbaron 2011-03-23 09:52:25 -04: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
b883f48aec Bug 602341 part 3. Get rid of the mAtom member of nsPseudoClassList. 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
L. David Baron
095768af68 Fix Windows optimized bustage from bug 636039 patch 15: use placement new in a loop instead of using placement new[]. 2011-03-18 14:02:44 -07:00
L. David Baron
c6b9eb02e0 Remove changes that should have been removed from bug 636039 patch 14 when I revised by 636039 patch 13. 2011-03-18 14:02:44 -07:00
L. David Baron
0028daf833 Fix bustage from bug 636039, patch 13, by not trying to access stub entries in kOffsetTable for the CSS_PROP_STUB_NOT_CSS entries. (Bug 636039) 2011-03-17 21:58:26 -07:00
L. David Baron
446b33c572 Fix Windows bustage by using the alloca-inclusion incantation from jstracer.cpp. (Bug 636039) 2011-03-17 20:43:06 -07:00
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
L. David Baron
802da587ae Merge layout work from projects/birch, part 2. 2011-03-23 17:39:29 -07: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
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
Craig Topper
07e8b64cd1 Bug 585867 part 5. Remove outparam and AddRef from all property getters. r=bzbarsky 2011-03-04 12:28:57 -05:00
Craig Topper
aab3b367c9 Bug 585867 part 4. Make SetValueToStyleImage return void. r=bzbarsky 2011-03-04 12:28:57 -05:00
Craig Topper
04c3f87d46 Bug 585867 part 3. Make AppendCSSValue infallible. r=bzbarsky 2011-03-04 12:28:57 -05:00
Craig Topper
7dd8d4bedc Bug 585867 part 2. Make SetToRGBAColor return void. r=bzbarsky 2011-03-04 12:28:57 -05:00
Craig Topper
8a8824e583 Bug 585867 part 1. Remove OOM checks on the return value of GetROCSSPrimitiveValue and GetROCSSValueList. r=bzbarsky 2011-03-04 12:28:56 -05: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
31bb14549e Remove tracking of whether the font family comes from HTML, since we no longer use the information. (Bug 636040) r=jdaggett 2011-03-03 13:18:42 -08:00
L. David Baron
4a7745e74d Remove tracking of which font families are quirky, since we no longer use the information. (Bug 636040) r=jdaggett 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