Commit Graph

514 Commits

Author SHA1 Message Date
Justin Dolske
f897882b8b Backed out changeset a3f33def2dca (bug 497495 part 4) 2009-09-14 17:26:08 -07:00
Boris Zbarsky
30eebe9b76 Bug 497495 (frame poisoning) part 4: Change nsPresArena to maintain separate free lists for every frame class, based on its FrameIID. Pass the necessary information in from AllocateFrame and FreeFrame. r=roc sr=dbaron 2009-09-14 17:29:56 -04:00
Neil Deakin
072598c8a3 Bug 503943, add mouse capturing api to elements, remove capturing from views, r=roc,sr=smaug 2009-09-13 09:13:16 -04:00
Zack Weinberg
b6fe8205dd Bug 497495 part 3: Add methods to every nsFrame subclass that expose the as-allocated identity of every frame object. Also some cleanups to the QueryFrame implementation. r=dbaron sr=roc 2009-09-12 17:49:24 +01:00
Neil Deakin
38553ecb4a Bug 503943, back out mouse capture patch, CLOSED TREE 2009-09-10 12:11:41 -04:00
Neil Deakin
12bece4d53 Bug 503943, add mouse capturing api to elements, remove capturing from views, r=roc,sr=smaug 2009-09-10 08:51:36 -04:00
Zack Weinberg
18f8b8b129 Bug 510651: Fold nsIFrameDebug into nsFrame. r=dbaron sr=mrbkap 2009-08-20 14:52:48 -07:00
Zack Weinberg
1bc6a7615f Bug 497495 (frame poisoning) part 2: Introduce nsIPresShell::AllocateMisc/FreeMisc functions; add an as-yet-unused "code" parameter to AllocateFrame/FreeFrame; fix up nsFrame to match; use AllocateMisc/FreeMisc for all non-frame pres arena objects; move clearing of frame objects from nsFrame::operator new to AllocateFrame. r=roc sr=dbaron 2009-08-17 20:21:06 -07:00
Robert O'Callahan
2684e99e48 Bug 504524. Change signature of nsIFrame: of nsIFrame::CharacterDataChanged to support passing of the full CharacterDataChangeInfo struct. r=bz 2009-08-05 13:38:10 +12:00
Boris Zbarsky
23db8f4fa3 Bug 281387. Make nsIFrame::Append/InsertFrames use nsFrameList. r=bernd,roc, sr=dbaron 2009-07-30 13:23:32 -04:00
Boris Zbarsky
a8b4b2dc7e Bug 504221 part 12. Switch SetInitialChildList to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:53:20 -04:00
Boris Zbarsky
f3c6270c7b Bug 504221 part 5. Switch from GetFirstChild to GetChildList (returning an nsFrameList). For now, keep a GetFirstChild shim so callers don't have to be updated. r=fantasai, r+sr=roc 2009-07-28 08:51:09 -04:00
Robert O'Callahan
46dd2efbdd Bug 371839. Remove ParentDisablesSelection, which is effectively unused. r=bzbarsky 2009-07-27 10:06:30 +12:00
Robert O'Callahan
4c8901bcd6 Bug 371839. Simplify SetSelected signature and semantics, and reimplement it in nsTextFrame much more efficiently. r=bzbarsky 2009-07-27 10:05:41 +12:00
Robert O'Callahan
eb703b5091 Bug 505184. Expose nsFrame::DisplayBackgroundUnconditional so we can easily create an nsDisplayBackground elsewhere. r=dbaron 2009-07-22 12:44:51 +12:00
Daniel Holbert
9e76962785 Bug 490909: Remove old layout debugging code, patch #2: remove 'VerifyTree' & related code. r+sr=dbaron 2009-05-12 12:03:09 -07:00
Zack Weinberg
bd01fec702 Bug 487831: Remove nsBox::(Get|Set)WasCollapsed, which are totally unused. r+sr=dbaron 2009-04-10 13:29:50 -07:00
Benjamin Smedberg
9ea4422a42 Reorder functions in nsFrame.h to wallpaper over a dehydra bug (probably GC timing somewhere in the static analysis stack). rs=bz (bug 481454 covers finding and fixing the dehydra bug) 2009-03-05 10:01:04 -05:00
L. David Baron
937cebf683 Remove nsStyleContext::DumpRegressionData, code that uses it, and code that exists only for it. (Bug 477522) r+sr=bzbarsky 2009-02-09 20:36:54 -08:00
Benjamin Smedberg
0f95227641 Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

nsITextControlFrame didn't have an IID the first time around, but this wasn't a compile error because nsITextControlFrame::kFrameIID inherited from nsIFormControlFrame::kFrameIID. I've added a static analysis pass to verify the correct behavior, since I can't figure out a way to make the compiler do it.
2009-01-12 14:20:59 -05:00
Benjamin Smedberg
7a084ac404 Backed out changeset 4c4df6ed1b41 - Bug 396185 - Make nsIFrame not inherit from nsISupports due to mochitest failures... these appear to be crashes in nsGenericHTMLElement::GetEditorInternal. 2009-01-09 11:35:24 -05:00
Benjamin Smedberg
991a16d8bc Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

This patch locally causes two REFTEST-UNEXPECTED-PASS for Bidi stuff. It's possible that I accidentally fixed a bug, but I'm not sure, so I'm going to wait for the tinderboxes to confirm my local results.
2008-11-05 14:25:30 -05:00
Benjamin Smedberg
f2c9a5bafb Relanding bug 461410 - nsILineIterator is never used outside of layout - set nsresults to replicate the existing code more correctly, which fixes the mochitest failures, r+sr=roc with nits noted by Mats Palmgren 2008-10-30 12:17:59 -07:00
Benjamin Smedberg
30915057bb Backed out changeset d4c9a0776667 (deCOM nsILineEnumerator) due to regression from it or bug 461212 2008-10-28 02:49:14 -04:00
Benjamin Smedberg
f0a65beeac Bug 461410 - nsILineIterator is never used outside of layout, and doesn't need to be refcounted: the callers can just destroy it when they're done with it. We can't do this with a virtual destructor, however, because nsTableRowGroupFrame implements the interface directly, while nsLineIterator is a separately-allocated class. So clients are expected to call DisposeLineIterator when they're done with it.
Instead of accessing nsILineIterator using QueryInterface, we add a nsIFrame::GetLineIterator API, which is cleaner and more efficient all at the same time!

r+sr=roc
2008-10-28 00:47:19 -04:00
Bernd
9ef8b0cecd bug 258377, make border collapsed tables to listen for dynamic border style changes r/sr=bzbarsky 2008-10-26 11:11:34 +01:00
Uri Bernstein
c72ab700ee Bug 415707 - multiple text selection improvement doesn't work with double-click "word-by-word" or triple-click "paragraph" modes. r+sr=roc. 2008-10-17 21:46:33 +02:00
L. David Baron
b43247c0c7 Make sure DidSetStyleContext methods call the base class DidSetStyleContext, and change the signature to return void. (Bug 459649) r+sr=bzbarsky 2008-10-13 18:03:28 -04:00
Uri Bernstein
c4d3e72f12 Bug 449076: hang with 100% CPU on keyboard arrow trough text field. r+sr=roc. 2008-10-09 12:22:30 +02:00
Graeme McCutcheon
93b55448a4 Bug 451252 - "Highlight All" find selection not visible in elements that have -moz-user-select: none set; r+sr=roc 2008-09-07 16:12:50 +02:00
Robert O'Callahan
ea438e03d9 Bug 376662. Convert nsIFrame::GetOffsetTo to not use views. We need to ensure that for popups and scrollframes, views and frames are kept in sync at *all* times. Also fixes bugs in tests for NS_FRAME_NO_MOVE_FRAME. r+sr=bzbarsky 2008-09-06 20:52:56 +12:00
Robert O'Callahan
92adcbca76 Backing out changeset 1bdd5da49865 (for bug 376662) due to regression bug 453661 2008-09-05 15:40:06 +12:00
Robert O'Callahan
e87222a463 Bug 376662. Make nsIFrame::GetOffsetTo not explicitly use views. r+sr=bzbarsky 2008-09-04 09:35:52 +12:00
Boris Zbarsky
70c3181706 Bug 449362 - "Table border is rendered incorrectly when the table cell size changes due to javascript." [r+sr=roc] 2008-08-20 01:45:29 -05:00
83fa94c839 Bug 392809. Fix word-based caret movement around punctuation and whitespace. r=smontagu,a=beltzner 2008-03-03 00:37:34 -08:00
cd466c58d4 Relanding bug 412679. r+sr=dbaron 2008-01-27 12:24:06 -08:00
7ab580c4ca backing out fix for bug 412679 because it regressed a reftest 2008-01-25 15:02:23 -08:00
5a4402e57b Make leaf frames follow the CSS2.1 rules on height sizing for abs-pos replaced elements. Bug 412679, r+sr=dbaron, a=schrep 2008-01-25 13:34:12 -08:00
7f1beaf030 get rid of nsStyleStruct base type. b=408933, r+sr=dbaron, a=beltzner 2008-01-10 12:56:49 -08:00
9cbb0c0c57 Bug 407155. Backing out 392809 to fix regressions. a=schrep 2007-12-07 01:35:44 -08:00
e348b4eab0 Bug 392809. Break between whitespace and following punctuation even when stop_at_punctuation is false. Don't stop between punctuation and following non-punctuatino if the preceding punctuation follows white-space. r=smontagu 2007-12-04 18:11:17 -08:00
262755e9a3 Bug 399531. Rework TrimTrailingWhitespace so that we recompute the overflow area for trimmed textframes and so that soft hyphens in otherwise-empty textframes are activated. r+sr=dbaron 2007-12-01 01:24:24 -08:00
750ad2685e Bug 368760, r=mats, sr=roc, a=blocking1.9+ 2007-11-22 12:47:33 -08:00
90600adc23 Fixing bug 294086. <svg> should be a replaced element. r+sr=dbaron@mozilla.com blocking1.9=tor@acm.org 2007-11-18 04:09:03 -08:00
b6efadf476 Bug 397518. Wrap inline non-MathML children of MathML frames in anonymous blocks. r+sr=bzbarsky 2007-10-12 01:30:54 -07:00
a6851be88b Bug 389421. Rework word selection, in particular so that layout.word_select.stop_at_punctuation is applied to boundaries between punctuation and non-punctuation, and all Unicode punctuation is treated as punctuation. 2007-08-29 20:10:19 -07:00
8e5940fc96 Bug 390423 - Simplify the signature of nsIFrame::GetPointFromOffset, patch by Ben Karel <web+moz@eschew.org>, r=aaronlev/elif, sr=roc, a1.9=dbaron 2007-08-16 20:43:00 -07:00
98de634631 Bug 348748 - Replace all instances of NS_STATIC_CAST and friends with C++ casts (and simultaneously bitrot nearly every patch in existence). r=bsmedberg on the script that did this. Tune in next time for Macro Wars: Episode II: Attack on the LL_* Macros. 2007-07-08 00:08:04 -07:00
839d4e96f4 Back out patch to make mousethrough attribute apply to all elements. b=380094 a=roc 2007-06-18 16:22:46 -07:00
54a6a27f7e Implement correct intrinsic width calculation (for container) for elements with specified height properties and an intrinsic ratio. b=364066 r+sr=bzbarsky 2007-06-12 11:27:09 -07:00