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
Simon Montagu
b331ee178c
Fix compiler warnings in nsCaret.cpp. Bug 470574, r+sr=dbaron
2008-12-28 04:08:22 -08:00
Simon Montagu
c480b83cc3
Make display of the directional hook on the caret dependent on the bidi.browser.ui pref. Bug 418513, r=uriber, sr=roc (for core) r=mano, gavin.sharp (for browser)
2008-12-14 01:05:39 -08:00
Robert O'Callahan
bee2844b64
Bug 450930. Fire a DOM event when painting so that content and chrome can track what's being repainted. r=smaug,sr=dbaron
2008-09-18 21:47:21 +12:00
Arpad Borsos
40a654b059
Bug 454766 - Add suggested parentheses to layout/; r+sr=roc; (with nits by sgautherie)
2008-09-15 17:40:25 +02:00
Oleg Romashin
9bcb962e55
Bug 453826 - MOZ_XUL define required for nsCaret::IsMenuPopupHidingCaret. r+sr=roc
2008-09-08 15:23:38 +03:00
Masayuki Nakano
d6efce8b96
Bug 449955 – Remove #ifdef of nsCaret.cpp for IME r+sr=roc
2008-08-13 10:55:39 +09:00
John Daniels
2aef16c1bf
Bug 419532 – deCOMtaminate nsICaret. r+sr=roc
2008-07-16 12:52:01 +02:00
351323faba
Bug 409331. Instead of QIing to nsBlockFrame in various places, call an nsLayoutUtils method to do it. r+sr=roc
2008-07-14 10:10:23 +12:00
Michael Ventnor
05474ecba8
Bug 118308, NS_THEME_TEXTFIELD_CARET implementation (GTK), r+sr=roc
2008-06-23 11:50:52 +03:00
Simon Montagu
5e37057a2d
Remove unnecessary argument from SetBidiEnabled. Bug 435856, r+sr=roc
2008-06-16 02:28:17 -07:00
2a189e3dea
Bug 430785: Caret not visible with right-clicking on a text input, patch by Martijn Wargers <martijn.martijn@gmail.com>, r+sr=roc, a=damon
2008-04-30 09:54:16 -07:00
a27febcb18
Bug 335359. Make the caret thicker when it's at a Kanji character. r+sr=mrbkap,a=damon
2008-04-22 20:13:55 -07:00
2864676da0
Bug 420987. The caret size should be specified in CSS pixels and it should be rounded like borders --- rounding down to the nearest device pixel, but not down to zero. r+sr=mrbkap,a=schrep
2008-04-14 14:09:23 -07:00
34e33024d7
Bug 427163 - "Crash [@ nsContentUtils::ContentIsDescendantOf] with contenteditable, right-clicking and document.write" (add null check) [p=chris@pearce.org.nz (Chris Pearce [cpearce]) r+sr=roc a1.9=damons]
2008-04-08 23:16:09 -07:00
3f195c6cd6
Bug 420499 - "Caret browsing mode wrongly engaged" (Mochitest) [p=chris@pearce.org.nz (Chris Pearce [cpearce]) r+sr=roc a=blocking1.9+]
2008-04-08 11:52:48 -07:00
c546b87735
Bug 420499 - "Caret browsing mode wrongly engaged" [p=chris@pearce.org.nz (Chris Pearce [cpearce]) r+sr=roc a=blocking1.9+]
2008-04-01 01:35:11 -07:00
bbbc01a0d1
Bug 400057. Make nsBlockInFlowLineIterator useful for finding the line containing a frame, searching across block continuations and their overflow lines. Use it in various places, especially in textrun construction. r+sr=dbaron
2008-02-27 01:53:48 -08:00
4c01718945
Bug 394473 - "caret/cursor in View Source is invisible since 20070628 {not rendered, seen, can't, cannot, shown, displayed}" [p=chris@pearce.org.nz (Chris Pearce [cpearce]) r=peterv r+sr=roc a1.9=beltzner]
2008-02-26 17:49:46 -08:00
750ad2685e
Bug 368760, r=mats, sr=roc, a=blocking1.9+
2007-11-22 12:47:33 -08:00
c588db138d
Bug 394473 - "caret/cursor in View Source is invisible since 20070628 {not rendered, seen, can't, cannot, shown, displayed}" [p=cpearce r=peterv sr=roc a1.9=schrep]
2007-11-12 21:42:52 -08:00
8a7a1e0c56
Bug 403048. Be more careful about looking for the line containing the caret. r+sr=mrbkap
2007-11-08 17:59:20 -08:00
7cbbaca6b9
Bug 336408 - Allow the caret to be positioned at the end of trimmed whitespace, as if the whitespace wasn't trimmed [p=roc r=smontagu sr=mrbkap a=blocking1.9+]
2007-11-07 20:07:00 -08:00
2927dedce8
Clean up prbool misuse in layout. bug 398312, r+sr+a=dbaron
2007-10-09 17:00:05 -07:00
9f351ff772
remove XP_MAC usage. b=281889 r=cbarrett sr=roc a=roc
2007-10-01 16:20:37 -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
156836287d
Redragging over empty text field doesn't show drag caret, except for the last text field. bug 390228, r+sr=roc a=dbaron
2007-08-13 14:33:25 -07:00
1ee73a49c6
Clamp the caret's position so that we always draw within the nearest scrollframe. Not doing this allows the scrollframe to clip the caret, causing it to not show up at all. bug 335560, r+sr=roc
2007-08-13 13:51:16 -07:00
ab003c9c6b
Fix for bug 387380 (No visible caret when caret browsing). r=smaug, sr=jst, a=dbaron.
2007-08-10 06:19:13 -07:00
5db2a35ae7
Bug 390740: Pass lang-group into GetMetricsFor more consistently (general patch). r+sr=roc, a=dbaron
2007-08-07 12:07:43 -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
bf9ea34c63
Fix for bug 237964 (Allow editable areas in browser (contentEditable)). r/sr=sicking.
2007-06-27 19:48:16 -07:00
9b2de45f14
Backing out to fix orange.
2007-06-27 16:21:05 -07:00
bd21679096
Fix for bug 237964 (Allow editable areas in browser (contentEditable)). r/sr=sicking.
2007-06-27 15:29:45 -07:00
sharparrow1@yahoo.com
34a122b207
Bug 370379: Create views less frequently. Stops creating views for -moz-hidden-unscrollable, opacity, fixed backgrounds, and scrollbars, plus removes some unneeded methods from views and view managers. r+sr=roc.
2007-02-24 00:23:42 +00:00
sharparrow1@yahoo.com
2da748b9c2
Bug 177805: Fix the use of units in Gecko. r+sr=roc
2007-02-07 07:46:44 +00:00
cvshook@sicking.cc
e80f1dba4e
Kill remainders of ns(XBL|HTML|XUL|Layout)Atoms. r/sr=jst b=368128
2007-01-30 00:06:41 +00:00
uriber@gmail.com
68571e4087
Bug 233348: BiDi marker is hidden when the caret is at the edge of a textarea. Patch by Haamed Gheibi <gheibi@gmail.com>. r=mrbkap sr=roc
2006-11-01 18:31:42 +00:00
uriber@gmail.com
8c3328a001
Refactor nsIFrame::PeekOfset to use iteration instead of recursion, plus some more related refactoring. bug=300131 r+sr=roc
2006-09-11 20:43:01 +00:00
uriber@gmail.com
bc5bc7aeba
Backing out bug 300131 until I figure out how to deal with the bustage.
2006-09-11 08:03:28 +00:00
uriber@gmail.com
2297c8c2f0
Refactor nsIFrame::PeekOfset to use iteration instead of recursion, and some related refactoring. bug=300131 r+sr=roc
2006-09-11 06:39:56 +00:00
uriber@gmail.com
a31f02572b
Moved mCaretBidiLevel and its accessors from nsPresShell to nsFrameSelection. Also added sBidiKeyboard as a static service to nsContentUtils. bug=346891 r+sr=roc
2006-08-08 05:14:52 +00:00
uriber@gmail.com
df75e1c236
Enable PeekOffset to find the visual beginning/end of a line, and use use it for bidi caret positioning. bug=302051 r=smontagu sr=roc
2006-08-03 06:24:11 +00:00
sharparrow1@yahoo.com
cb304c053b
Bug 345371: add null checks for weak pointers in nsCaret. r+sr=roc.
2006-07-20 23:26:05 +00:00
smontagu@smontagu.org
b5ce0fd046
Only display a bidirectional caret on platforms that implement nsIBidiKeyboard. Bug 272096, r+sr=roc
2006-07-06 08:29:53 +00:00
mrbkap@gmail.com
7fa1ed1403
Only recalculate the caret's rect when we're not currently drawn in an attempt to avoid caret turds when we're being notified of the caret movement after the frame has already been marked dirty. bug 335834, r+sr=roc
2006-05-04 00:05:22 +00:00
mrbkap@gmail.com
ee90fb2b77
Update the caret position after reflows to avoid turds. bug 334649, r+sr=roc
2006-04-28 04:33:41 +00:00
roc+@cs.cmu.edu
3d6bf8748c
Bug 330305. Rename nsSelection to nsFrameSelection, and deCOMtaminate it, removing nsIFrameSelection. patch by Marc Liddell, r+sr=roc
2006-04-26 01:57:22 +00:00