Commit Graph

502 Commits

Author SHA1 Message Date
bryner@brianryner.com
1f9609e30b deCOMtaminate nsIDocument by changing methods to use return value instead of out-params, eliminating unused nsresult return values, moving some members to nsIDocument and inlining the getters/setters. Bug 222134, r=bzbarsky, sr=jst. 2003-10-22 06:09:48 +00:00
uid502
308b50e2e9 Bug 165149. More cleanup. Make nsStyleContext::GetPseudoType return a weak pointer. Also remove unnecessary arguments to nsHTMLContainerFrame::CreateViewForFrame. r+sr=bzbarsky 2003-10-17 02:38:37 +00:00
bsmedberg@covad.net
7f3c28c2b5 Bug 179834. Separate application resources and GRE resources. r=darin sr=dougt 2003-09-13 17:55:56 +00:00
dbaron@dbaron.org
660339f971 Remove hint parameter from AttributeChanged methods and simplify style hint mechanism. b=211308 r+sr=bzbarsky 2003-07-11 21:16:12 +00:00
bzbarsky@mit.edu
cfe82976bb Don't bother reresolving style when empty stylesheets get added (eg from empty
<style> elements).  Also remove the methods for blowing away the ruletree
during a style reresolve, since ruletrees are now garbage-collected.  Bug
196557, r+sr=dbaron
2003-07-04 01:44:24 +00:00
dbaron@dbaron.org
2ac380ff71 Add nsIFrame::GetPresContext, which gets the pres context from the rule node which it gets from the style context. DeCOMtaminate nsStyleContext::GetRuleNode, nsRuleNode::GetRule, and nsRuleNode::GetPresContext. Remove unused nsRuleNode::PathContainsRule. b=208190 r+sr=roc 2003-06-20 01:22:44 +00:00
dbaron@dbaron.org
99d81c4dbc Make CSSStyleRuleImpl immutable by changing mutation code (including some merging of code between nsDOMCSSAttributeDeclaration and DOMCSSDeclarationImpl) so that it creates a new rule for the modified declaration. Change StyleRuleChanged notification signatures, and change pres shell's handling of style rule change, addition, and removal to just do reresolution. Remove fine-grained ways of clearing style data. Change PeekStyleData so it doesn't do more work than it needs to, and can be relied on not to access rules that no longer match any content. b=188803 r+sr=bzbarsky 2003-06-18 01:59:57 +00:00
dbaron@dbaron.org
f98e358469 Clean up API (and its callers) for getting style data: remove unneeded null checks and switch to new inline member functions (one for each struct) that return values. b=197205 r+sr=roc a=brendan 2003-05-15 03:42:21 +00:00
roc+@cs.cmu.edu
7143d14503 Bug 126263. Whack comboboxes/listboxes to use Gfx scrollbars. Also, make scrollbars attach their XBL content only when they become visible, to avoid pageload hit. r+sr=dbaron 2003-04-08 20:50:57 +00:00
bzbarsky@mit.edu
2716dce578 Remove some style-data-clearing functions that no one uses and that don't do
the right thing anyway.  Bug 169989, r+sr=dbaron
2003-03-13 18:58:54 +00:00
dbaron@dbaron.org
f70ad582fc Ensure that GetStyleData never returns null, even in out-of-memory, by storing a backup set of style structs to return in case of failure. b=154751 r+sr=bzbarsky 2003-03-13 15:29:36 +00:00
dbaron@dbaron.org
55bea67586 Implement garbage collection of the rule tree to fix some cases of memory growth and to allow us to move towards style rule immutability. b=117316 r+sr=bzbarsky 2003-03-06 19:14:17 +00:00
dbaron@dbaron.org
e9466869d1 Handle inline style changes by creating new style rules to wrap the modified nsCSSDeclarations, thus moving towards style rule immutability and away from property-based change hints. Patch from Boris Zbarsky <bzbarsky@mit.edu>. r=dbaron sr=roc b=171830 2003-03-06 19:07:22 +00:00
peterv@netscape.com
627a38d0b9 Fix for bug 195153 (Remove bogus 'extern' decls from NS_New* functions.). Patch by jst, r=sicking, sr=peterv. 2003-03-05 15:08:41 +00:00
dbaron@dbaron.org
50c0694a61 Make ProbePseudoStyleFor return null whenever :before and :after aren't displayed so that we don't try to reframe constantly in certain cases, preventing link clicking from working. b=188525 r+sr=bzbarsky 2003-02-23 17:28:25 +00:00
dbaron@dbaron.org
66297fd7bc Replace nsIStyleSheet::AttributeAffectsStyle with nsIStyleRuleProcessor::HasAttributeDependentStyle. Strengthen the attribute optimization and apply it to HTML as well. b=163556 r+sr=bzbarsky 2003-02-22 16:10:53 +00:00
dbaron@dbaron.org
834096485c Remove nsISizeOfHandler and associated SizeOf methods. b=106792 r=bzbarsky sr=jst 2003-02-22 15:34:38 +00:00
bryner@netscape.com
ba58162e96 Remove nsIStyleContext (bug 114713), r/sr=dbaron. Changed lots of methods to use nsStyleContext* or already_AddRefed<nsStyleContext> as return values, depending on whether a reference is returned. Turn on nsRefPtr (bug 104346), and change nsDerivedSafe to not declare AddRef and Release explicitly virtual, r=jag, sr=dbaron. 2003-02-22 00:32:13 +00:00
dbaron@dbaron.org
8c318cc87d Change |DEBUG_dbaron| to |DEBUG_dbaron_off| for stuff that I don't want to see anymore. 2003-01-16 19:21:23 +00:00
bryner@netscape.com
c98c382545 Phase 1 of style context deCOMtamination (bug 114713). Remove all dependencies on nsIStyleContext from outside of content and layout. Make nsIFrame::GetStyleData be a non-inline virtual function when called from outside of layout, since the nsStyleContext implementation won't be available to those callers. r=dbaron, sr=bzbarsky. 2003-01-09 06:49:07 +00:00
dbaron@dbaron.org
47922f2a26 Bug 178643: Remove uses of NS_INIT_ISUPPORTS, since it's no longer needed. r=timeless sr=jag 2003-01-08 19:24:38 +00:00
peterv@netscape.com
a286b2a9ae Fix for bug 183999 (Modernize content). r=caillon, sr=bz. 2002-12-11 14:24:49 +00:00
dbaron@fas.harvard.edu
658ee44797 Fix build bustage inside |#ifdef DEBUG_dbaron|. (Not part of build.) 2002-12-06 04:42:49 +00:00
bzbarsky@mit.edu
de205739a0 Make the CSSLoader correctly order stylesheets as they are dynamically added
and removed via the DOM.  Clean up the nsIDocument stylesheet accessors.  Clean
up nsIDocumentObserver stylesheet stuff a bit.  Make style sheets visible in
the CSSOM (though not completely accessible) from the moment the load is kicked
off.  Make us have sheet objects that can be manipulated via CSSOM even for
failed loads. Bug 107567, bug 47734, bug 57225, bug 178407.
r=sicking,  sr=peterv.
2002-12-03 05:48:14 +00:00
dbaron@fas.harvard.edu
72f2298b73 Consolidate all CSS pseudos and split them into three atom lists to distinguish between pseudo-classes, pseudo-elements, and fake-pseudo-elements used for anonymous boxes. b=147887 r,sr=roc,bz 2002-11-17 15:37:56 +00:00
bzbarsky@mit.edu
e22cf23e62 Make GetImportantRule and GetISupportsValue return already_AddRefed.
Bug 171808, r=jkeiser, sr=dbaron
2002-10-09 01:59:43 +00:00
bzbarsky@mit.edu
39f7aebfb1 Make GetParent on nsStyleContext return an
already_AddRefed<nsIStyleContext>.  Bug 171808, r=jkeiser, sr=dbaron
2002-10-09 01:46:15 +00:00
dougt@netscape.com
46ce738546 166917. Clean up xpcom SDK includes. r=rpotts@netscape.com, sr=alecf@netscape.com, a=rjesup@wgate.com 2002-09-07 17:13:19 +00:00
roc+@cs.cmu.edu
458e434a36 Bug 160936. Add type nsChangeHint for style hints. Make it a set of bits. Make sure an NS_STYLE_HINT_REFLOW always also does a repaint of the frame. r=dbaron,sr=kin 2002-08-24 14:41:28 +00:00
seawood@netscape.com
0ae28f14fb Add CPP_THROW_NEW macro to the build system. This macro should be used when defining a local |operator new| function. It will be set to an empty throw function by default on all platforms except mac CW builds. This will allow us to not crash on systems that expect |operator new| to throw an exception by default and will suppress compiler warnings about how |operator new| should throw an exception instead of returning NULL.
Bug 149032 r=timeless sr=scc
2002-07-02 20:25:30 +00:00
dbaron@fas.harvard.edu
9d9d3ff079 Make quirk stylesheet assertion |#ifdef DEBUG_dbaron| until I figure out why it's firing. b=147691 r=hwaara sr=waterson 2002-06-03 18:26:18 +00:00
dbaron@fas.harvard.edu
45501bc5d2 Ensure that the quirks stylesheet is enabled/disabled before we start creating frames so that we don't have to build the rule cascade twice. Remove old compatibility mode pref that only controlled a small part of what it should have. b=141261 sr=waterson r=jst 2002-05-23 23:09:31 +00:00
dbaron@fas.harvard.edu
1830425852 Fix event state changes on some UI buttons by not overwriting a true result from HasStateDependentStyle with a false one. b=137067 r=bzbarsky sr=waterson 2002-04-15 22:28:54 +00:00
dbaron@fas.harvard.edu
4b63835325 Fix up and enable hierarchical :hover and remove the hacks that made :hover work for anchors without it. Pass mask rather than pseudo-class to ContentStatesChanged notifications. Optimize event state changes in the style system by passing state mask to HasStateDependentStyle and using it in HasStateDependentStyle implementations. b=5693 r=bryner, joki sr=hyatt 2002-04-11 03:49:30 +00:00
hyatt@netscape.com
60eb7d740a Fix for 99344, inline styles not being recognized under certain DHTML circumstances. r=dbaron, sr=waterson, a=asa 2002-04-05 08:05:33 +00:00
dbaron@fas.harvard.edu
d1856f6f91 Remove |aForceUnique| parameter from style context resolving methods, and corresponding flag from nsStyleContext, since the only caller was ReResolveStyleContext (on the assumption that other callers used it). Allow ReResolveStyleContext to benefit from FindChildWithRules and allow it to re-resolve to the same tree even when called on the root style context. b=133821 r=attinasi sr=hyatt a=asa 2002-03-31 16:59:00 +00:00
dbaron@fas.harvard.edu
771618df2c Fix 2 cases where ReResolveStyleContext was broken, causing serious problems with dynamic style reresolution. Change nsIFrame::GetStyleContextProvider to GetParentStyleContextFrame, always use its result rather than using the parent frame in some cases, and move a bit of the complexity into the GetParentStyleContextFrame implementations. Fix block-within-inline case (bug 129350) using a special-previous-sibling frame property and ensuring that NS_FRAME_IS_SPECIAL is copied when frames are split. Fix out-of-flow frame case (bug 88154) by going to the placeholder map and by parenting the placeholder frame style contexts to the style context from their frame parent rather than the out-of-flow frame. b=129350 r=attinasi sr=hyatt a=asa 2002-03-27 02:38:13 +00:00
dbaron@fas.harvard.edu
9029a13547 Fix top theme switching crash by clearing the outliner's style caches from DidSetStyleContext instead of FlushMiscWidgetInfo. b=116038 sr=hyatt r=bzbarsky a=asa 2002-03-07 23:48:26 +00:00
bryner@netscape.com
367cc93c8f - Implement the :checked CSS pseudoclass which maps to the "selected" property on option elements.
- Eliminate the _moz-option-selected attribute; move the actual selected state into the option content node.
- Change all users of _moz-option-selected to use :checked.
- Add a third parameter to nsIDocument[Observer]::ContentStatesChanged to indicate which pseudoclass changed, this is used for optimizing handling of :checked state changes.

Bug 128947, r=dbaron, sr=jst, a=asa.
2002-03-07 03:34:29 +00:00
darin@netscape.com
fc6d5e4b32 fixes bug 124042 "support internationalized URIs" r=dougt, sr=alecf, a=asa 2002-03-06 07:48:55 +00:00
attinasi@netscape.com
04335c106c Fixed problems with reframing recursively due to block-in-inline frames and content appended notifications. r=karnaze sr=waterson b=56894 2002-01-14 22:05:26 +00:00
dbaron@fas.harvard.edu
edc54e6926 Replace the BodyFixupRule with code in nsCSSRendering to fix all the problems with dynamic style changes and backgrounds on the root element and the BODY element. Change the way the HTMLDocumentColorRule (for the table color quirk) is initialized since it used to depend on the BodyFixupRule. b=116161 (also fixes other bugs) r=attinasi sr=hyatt 2002-01-07 23:46:07 +00:00
hyatt@netscape.com
389657361a Fix for 112980, nsITheme API and dynamic skin switching re-enabling. r=ben, sr=waterson 2001-12-17 22:51:39 +00:00
dbaron@fas.harvard.edu
15359e7f48 Fix crash due to accessing destroyed data previously owned by a rule node but cached on a style context that inherited it by clearing style data from style contexts before reresolution due to an inline style change. b=105619 sr=hyatt r=shaver 2001-12-08 22:46:21 +00:00
dbaron@fas.harvard.edu
b13d06af86 Consider the result of |mStyleRuleSupplier->UseDocumentRules| in FileRules to prevent incorrect application of document rules to scrollbars and some form controls. Patch from <fantasai@escape.com>. r=dbaron sr=hyatt b=109808 2001-11-28 04:54:05 +00:00
dbaron@fas.harvard.edu
d729f34c87 Pull computation of loop invariants for rule matching out of outer loop (over rule processors) as well, from SelectorMatchesData in nsCSSStyleSheet to RuleProcessorData in nsStyleSet. Use the RuleProcessorData structure in nsHTMLStyleSheet as well. Simplify matching of :-moz-bound-element pseudo-class. b=83836 r=waterson, pierre sr=hyatt 2001-11-10 23:51:45 +00:00
pierre@netscape.com
027a59a148 Checked in for fantasai@escape.com. Bug 43220 "author !important rules override user !important rules in user.css". Add User sheets. Rename Backstop sheets into UserAgent. Fix cascading order. r=pierre/sr=hyatt. 2001-11-06 10:04:05 +00:00
dbaron@fas.harvard.edu
6b4c727ec3 Avoid attempting to do CSS selector matching on text nodes, comments, or processing instructions by adding a 'NonElement' style resolution method that assumes that no rules match (temporarily, until we don't have style contexts for text nodes) and by cleaning code that was using textPseudo (the usual case) or passing the text node directly (only a few unusual cases). b=56117 r=hyatt sr=attinasi 2001-10-30 06:02:05 +00:00
ducarroz@netscape.com
09a8b868a0 Fix for bug 106560. Crash in StyleSetImp::ShutDown when mRuleTree is null. Need to check mRuleTree before using it. R=bienvenu, SR=hyatt 2001-10-25 00:19:21 +00:00
hyatt@netscape.com
f89422ce49 Fix for 104336, deCOMtaminate rulenode, rulewalker, frames, r=dbaron, sr=waterson 2001-10-24 00:01:09 +00:00