Commit Graph

446 Commits

Author SHA1 Message Date
dbaron@dbaron.org
f4264ddfc8 Rename {nsIDocument,nsIDocumentObserver,nsIFrame}::ContentChanged to CharacterDataChanged, since that's the only thing it's used for. Replace its nsISupports* parameter with a PRBool, since we don't need to allocate an object to pass a boolean parameter. Remove some (but probably not all) unneeded implementations on frames whose content is never a text node. b=234960 r+sr=jst 2004-02-20 21:38:31 +00:00
dbaron@dbaron.org
de18c7a5d5 Replaced elements should not support generated content. b=169334 r+sr=bzbarsky 2004-02-19 18:04:15 +00:00
bryner@brianryner.com
d9d66e38d5 DeCOMtaminate nsCSSFrameConstructor (bug 231157). This gets rid of the nsIStyleFrameConstruction and nsICSSFrameConstructor interfaces. The frame constructor now has the same lifetime as the pres shell. r+sr=dbaron. 2004-01-21 23:05:10 +00:00
dbaron@dbaron.org
719ccc2fad Refactor code that calls ComputeStyleChangeFor and handles the result. b=231027 r+sr=bzbarsky 2004-01-17 22:43:14 +00:00
dbaron@dbaron.org
50a661cc7a Do style resolution of later siblings required by the CSS + combinator on event state and attribute changes by changing the result of Has(Attribute|State)DependentStyle into a bitfield and setting and handling the restyle-later-siblings bit appropriately. b=15608 r+sr=bzbarsky 2004-01-14 01:36:35 +00:00
bryner@brianryner.com
a90ec6ff21 Eliminate nsIStyleSet as an XPCOM interface, making the implementation internal to layout. Frame constructor ownership moves to the pres shell, and the style set methods that forward to the frame constructor are gone. Rewrote style set sheet add/remove to reduce code size. For more details, see bug 64116. r+sr=dbaron. 2004-01-07 22:30:53 +00:00
dbaron@dbaron.org
9446ce805f Use the correct term "float" instead of "floater". b=218654 r+sr=bzbarsky 2003-10-13 21:51:02 +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
dbaron@dbaron.org
da6a024b2e Ensure relatively positioned floats act as containing block for absolutely positioned elements by using (and adding a parameter to) nsCSSFrameConstructor::ConstructBlock. Remove ProcessBlockChildren, which no longer needs to be separate from ProcessChildren. b=210873 r+sr=bzbarsky 2003-06-30 21:48:07 +00:00
dbaron@dbaron.org
07b8818b23 Handle state and attribute changes on elements without frames more efficiently, and keep the undisplayed map up to date. b=209733 r+sr=bzbarsky 2003-06-18 21:54:51 +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
scott@scott-macgregor.org
e59b260fff Bug #201891 --> lazily instantiate CSSFrameConstructor::gXBLService in order to break a weird cycle
with the component manager that can cause two instances of the xbl service to be created.
r/sr=dbaron
2003-06-03 04:23:56 +00:00
dbaron@dbaron.org
4a04463107 Remove some code left over from old native form controls. b=205575 r+sr=roc a=asa 2003-05-14 22:36:33 +00:00
bzbarsky@mit.edu
7dda42fc18 Pass the content parent frame to ConstructTableFrame so the view that's created
goes in the right place in the z-ordering.  Bug 203086, r+sr=roc, a=asa
2003-04-26 01:08:35 +00:00
bzbarsky@mit.edu
c4f180a7f9 Make sure that Init() failures for image frames don't mean no alt text. Also
fixes a crasher when reframing fixed-pos frames.

This change adds an assertion in ConstructHTMLFrame that InitAndRestoreFrame
should succeed (unless it returns NS_ERROR_FRAME_REPLACED).  This is an interim
change; eventually we want to bail out on errors, but there may be frame impls
that return errors in non-error conditions from Init() (eg nsFrameSetFrame did
that) and we're a little close to freeze.

Bug 202506, r=rbs, sr=roc+moz
2003-04-21 23:57:47 +00:00
bryner@netscape.com
4682cd8077 Remove nsScrollFrame and frame constructor support for it. Remove dlldeps.cpp for layout, it's not necessary. Bug 201457, r+sr=roc. 2003-04-11 08:26:42 +00:00
bryner@netscape.com
4486f8d13d Make --disable-xul work (bug 69995). We build enough XUL to support
scrollbars unconditionally, but can now leave out heavyweight widgets like
grid, listbox, and tree.  r=bzbarsky, sr=alecf.
2003-04-11 00:56:27 +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
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
roc+@cs.cmu.edu
a4211a4217 Bug 186754. Make sure scrolled elements honor the content hierarchy for z-index. r+sr=bzbarsky 2003-02-23 02:03:43 +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
karnaze@netscape.com
a9a3087c48 bug 179683 - implement printing of fixed positioned elemements, clean up ViewportFrame. sr=roc, r=bzbarsky. 2003-01-20 18:04:34 +00:00
dbaron@fas.harvard.edu
8de079b0b8 Don't set NS_BLOCK_SPACE_MGR and NS_BLOCK_WRAP_SIZE on relatively positioned blocks, by default. Use |ConstructBlock| for them rather than duplicating it, slightly incorrectly. b=180711 r+sr=roc 2002-12-13 20:13:17 +00:00
karnaze@netscape.com
69749a7a87 bug 180805 - Added GetAdjustedParentFrame to handle fieldsets. Moved inner/outer table logic there. Added fieldset logic to IsValidSibling. sr=bzbarsky, r=jkeiser. 2002-12-03 16:02:42 +00:00
bzbarsky@mit.edu
878f8d36d9 ReframeContainingBlock needs to work on <body> and such too. Bug 74951,
r=caillon, sr=dbaron
2002-11-06 02:26:52 +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
jkeiser@netscape.com
a807eea307 Make form within table or tr not create a cell frame and screw up layout. bug 149282, r=dbaron@fas.harvard.edu, sr=waterson@netscape.com 2002-06-14 06:47:35 +00:00
dbaron@fas.harvard.edu
1c8634debe Fix crashes related to editing of HR elements by wrapping generated content for leaf frames in an extra frame so :before and :after are always the first/last children of the primary frame. Disable generated content for floating and absolutely positioned leaf frames. b=141054 sr=waterson r=kin 2002-06-12 03:27:48 +00:00
dbaron@fas.harvard.edu
712b354488 Clean up FindFrameWithContent. No need to search children of special frames too (hang bug 140275). Use special sibling when next-in-flow isn't available, and use the hint even when we have special frames. Convert gotos into additional while loop. Turn useless :after check into assertion. Don't modify aParentFrame and aParentContent for when the hint fails. b=140275 r=attinasi sr=waterson 2002-05-16 13:39:44 +00:00
karnaze@netscape.com
4e7faac33d bug 113235 - avoid reframing when content is inserted inside an inline frame which contains a block. sr=waterson, r=attinasi. 2002-04-30 21:34:15 +00:00
karnaze@netscape.com
109d19539b bug 136848 - consider a sibling of type col group, col, row group as a valid siblings of a child only if the child is the same type. sr=attinasi, r=kin 2002-04-19 03:11:29 +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
hewitt@netscape.com
ffbc59afea bugs 110156, 110155
Removing support for <outliner> tags
Removing <tree> layout code and moving <tree> tags to outliner layout
Convert all usage of <outliner> to tree tags
Convert all usage of <tree> tags to new <tree> syntax or <listbox>
r=cmanske,varga sr=hyatt,sspitzer a=asa

Also includes fixes by Jan Varga (varga@utcruk.sk) for bugs 132020, 133451, 131393, 115894, and 129327
2002-03-29 02:46:01 +00:00
karnaze@netscape.com
9a3780e93f bug 24000 - implement page-break-before/after:always using new nsPageBreakFrame. Tables handle page breaks internally. a=asa, sr=attinasi, r=alexsavulov 2002-03-17 21:35:08 +00:00
dbaron@fas.harvard.edu
1eda44576d Attempt to fix topcrash bug 118014 by calling DeletingFrameSubtree in a bunch of places where it should be called to ensure that we don't leave dangling pointers in the undisplayed content map. sr=attinasi r=kin a=brendan 2002-03-13 13:51:20 +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
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
hewitt@netscape.com
77b8bdf68d 70858 - [XUL 1.0] Implement <listbox>, r=evaugahn, sr=hyatt 2002-01-12 01:18:10 +00:00
bryner@netscape.com
2e1743aab5 Initial checkin of XBL select widget (listbox) code (bug 112713).
Summary of changes:
- Removed old XBL form control cruft.
- Made nsOutlinerContentView accessible from content scripts.
- Created a new interface, nsIDOMNSXBLFormControl which exists to allow a
select element to have an outliner box object.
- Factored out nsChildIterator into its own file.
- Added support to the outliner content view for having option elements
directly inserted in the outliner.
- Cleaned up pixel/twip conversions in outliner.
- Added support for intrinsic width for outliner.

r=jag, sr=hyatt.  Note that the new select widget is NOT turned on by
default.
2002-01-05 07:17:10 +00:00
dbaron@fas.harvard.edu
4fa6450214 Split ConstructFrameByTag into ConstructTextFrame and ConstructHTMLFrame to make it easier to reorganize frame construction by tag and by display type and to speed up text frame construction. b=109788 r=bryner sr=hyatt 2001-12-09 04:28:41 +00:00
dbaron@fas.harvard.edu
2507c79cf4 Backing out most of my checkin for bug 109788. b=111710 2001-11-24 23:28:45 +00:00
dbaron@fas.harvard.edu
0438bea566 Split ConstructFrameByTag into ConstructTextFrame and ConstructHTMLFrame to make it easier to reorganize frame construction by tag and by display type. b=109788 r=hyatt rs=waterson 2001-11-23 04:52:24 +00:00
attinasi@netscape.com
355d4dfc00 Export GetAltTextfor as static member fcn. b=102281 r=kmcclusk sr=waerson 2001-11-07 04:32:25 +00:00
jst@netscape.com
af4947ee24 Checking in John Keiser's <jkeiser@iname.com> fix for *tons* of form submission and <select> related bugs, see tracking bug 34297 for details. r=rods@netscape.com, sr=jst@netscape.com 2001-11-02 07:40:01 +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
hyatt@netscape.com
3bc745993d Fix for 106212, make ContentAppended work right with XBL insertion points. r=brendan, sr=waterson 2001-10-25 07:31:18 +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
dougt@netscape.com
2605bce49e Extraneous Symbol Removal. Patch by Jon Smirl jonsmirl@mediaone.net. r=dougt@netscape.com, sr=alecf@netscape.com. Bug 104172 , 104316 , 104420 , 104426 , 104461 , 104511 , 104527 2001-10-23 01:37:21 +00:00
gerv@gerv.net
58d409fba9 Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089. 2001-09-28 20:14:13 +00:00
waterson@netscape.com
f9091f0d03 Bug 84645. Move XBL insertion point logic into nsCSSFrameConstructor, where it can interact nicely with continuing frames. r=dbaron, sr=hyatt 2001-09-12 20:19:41 +00:00