Commit Graph

57 Commits

Author SHA1 Message Date
Robert O'Callahan
19da2f1872 Bug 530686. Only create an nsDisplayTableBorderBackground when it's going to have something to paint, since having one can disable some scrolling optimizations. r=dbaron 2009-12-12 10:50:30 -08:00
Zack Weinberg
1bbb6caf46 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-16 10:00:04 +12:00
Justin Dolske
f221ae86bd Backed out changeset a3f33def2dca (bug 497495 part 4) 2009-09-14 17:26:08 -07:00
Boris Zbarsky
efc26f0c70 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
02a7469b05 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
17eb5a6efc 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
a5bfe49767 Bug 503943, back out mouse capture patch, CLOSED TREE 2009-09-10 12:11:41 -04:00
Neil Deakin
2ca788ce33 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
2cd31f70f9 Bug 510651: Fold nsIFrameDebug into nsFrame. r=dbaron sr=mrbkap 2009-08-20 14:52:48 -07:00
Zack Weinberg
cc794998ac 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
cba39f15c7 Bug 504524. Change signature of nsIFrame: of nsIFrame::CharacterDataChanged to support passing of the full CharacterDataChangeInfo struct. r=bz
--HG--
extra : rebase_source : cdab9444f579d6b93e142ad8681152ecd180f818
2009-08-05 13:38:10 +12:00
Boris Zbarsky
f2936464e5 Bug 281387. Make nsIFrame::Append/InsertFrames use nsFrameList. r=bernd,roc, sr=dbaron 2009-07-30 13:23:32 -04:00
Boris Zbarsky
5fefb45a48 Bug 504221 part 12. Switch SetInitialChildList to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:53:20 -04:00
Boris Zbarsky
db6ff446ab 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
4ef62fb0ed Bug 371839. Remove ParentDisablesSelection, which is effectively unused. r=bzbarsky
--HG--
extra : rebase_source : 920c501f033e026709ec15792cadbb2f24462a0a
2009-07-27 10:06:30 +12:00
Robert O'Callahan
14dbcb0874 Bug 371839. Simplify SetSelected signature and semantics, and reimplement it in nsTextFrame much more efficiently. r=bzbarsky
--HG--
extra : rebase_source : 18c390e3ebd09de82b1a23699c56b741f928ca37
2009-07-27 10:05:41 +12:00
Robert O'Callahan
c1e47bdb51 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
0947631c3a 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
01403e2fa3 Bug 487831: Remove nsBox::(Get|Set)WasCollapsed, which are totally unused. r+sr=dbaron 2009-04-10 13:29:50 -07:00
Benjamin Smedberg
0d75171d68 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
5fe09edd17 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
24e7cb1f78 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.

--HG--
extra : rebase_source : 4894a2ca0278e2ab92f27459db77165f8348cf41
2009-01-12 14:20:59 -05:00
Benjamin Smedberg
50621e4f9f 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
d0b948876f 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
9696613a50 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
4214b72dd5 Backed out changeset d4c9a0776667 (deCOM nsILineEnumerator) due to regression from it or bug 461212 2008-10-28 02:49:14 -04:00
Benjamin Smedberg
dd4c950cff 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
6777c42861 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
ff104b5951 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
9d7714304c 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
2b5ccfa067 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
b6ce570b3c 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
be904c4d3d 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
ca15953a6e Backing out changeset 1bdd5da49865 (for bug 376662) due to regression bug 453661 2008-09-05 15:40:06 +12:00
Robert O'Callahan
1eeada5faa Bug 376662. Make nsIFrame::GetOffsetTo not explicitly use views. r+sr=bzbarsky 2008-09-04 09:35:52 +12:00
Boris Zbarsky
d9344bb542 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
roc+@cs.cmu.edu
cfdcd1fbe2 Bug 392809. Fix word-based caret movement around punctuation and whitespace. r=smontagu,a=beltzner 2008-03-03 00:37:34 -08:00
bzbarsky@mit.edu
ab51d31ee9 Relanding bug 412679. r+sr=dbaron 2008-01-27 12:24:06 -08:00
myk@mozilla.org
ccc456d66d backing out fix for bug 412679 because it regressed a reftest 2008-01-25 15:02:23 -08:00
bzbarsky@mit.edu
55476e3646 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
dwitte@stanford.edu
48b1fc2eb4 get rid of nsStyleStruct base type. b=408933, r+sr=dbaron, a=beltzner 2008-01-10 12:56:49 -08:00
roc+@cs.cmu.edu
991719200d Bug 407155. Backing out 392809 to fix regressions. a=schrep 2007-12-07 01:35:44 -08:00
roc+@cs.cmu.edu
ea37d818bc 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
roc+@cs.cmu.edu
1a6bd11ee8 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
Olli.Pettay@helsinki.fi
2976ce8f18 Bug 368760, r=mats, sr=roc, a=blocking1.9+ 2007-11-22 12:47:33 -08:00
jwatt@jwatt.org
4d976af81a 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
roc+@cs.cmu.edu
32b36ae07b Bug 397518. Wrap inline non-MathML children of MathML frames in anonymous blocks. r+sr=bzbarsky 2007-10-12 01:30:54 -07:00
roc+@cs.cmu.edu
f467e1f991 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
philringnalda@gmail.com
48c8d7714f 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
jwalden@mit.edu
e3c4baccae 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