Commit Graph

94 Commits

Author SHA1 Message Date
Jan Küchler
8774547613 Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>. 2011-04-07 18:04:40 -07:00
Ehsan Akhgari
181fd4c959 Bug 644428 - (Alternative approach) Clamp the baseline for every case to the context box height for inline frames; r=roc 2011-04-09 09:13:16 -07:00
Ehsan Akhgari
5b57559b69 Bug 644428 - Position the caret correctly for empty inline frames; r=roc 2011-03-28 20:17:16 -04:00
Jonathan Kew
a61771a0d9 bug 332636 - fix editor's handling of surrogate-pair combining marks with backspace. r=ehsan a=roc 2010-12-16 14:17:41 -08:00
Jonathan Kew
cc85587114 Backed out changeset 1958ebae93cc for causing mochitest orange. a=backout 2010-12-16 15:15:35 -08:00
Jonathan Kew
f1e3149240 bug 332636 - fix editor's handling of surrogate-pair combining marks with backspace. r=ehsan a=roc 2010-12-16 14:17:41 -08:00
Ehsan Akhgari
01ed93b1a6 Bug 389321 - Part 3: Use a centralized algorithm for caret positioning; r=roc a=blocking-betaN+ 2010-08-31 14:54:44 -04:00
Alexander Surkov
0a6b10381a Bug 573706 - make frame based accessible creation more pellucid, r=davidb, sr=roc 2010-06-28 21:02:03 +09:00
L. David Baron
d85d03a8fe Remove unused frame state bits. (Bug 570837) r=roc 2010-06-08 22:28:14 -07:00
L. David Baron
dd7ed68b11 Use macros for frame state so that it's easy to change the size and easier to read the constants. (Bug 570837) r=roc 2010-06-08 22:28:14 -07:00
fantasai
f76a01be55 Bug 508473 part III: Pass destruction root to frame destruction methods r=bz sr=roc 2009-12-24 00:21:15 -05:00
Robert O'Callahan
7aa38b0084 Bug 523468. Make sure we reflow the next line when content is pushed or pulled from an inline frame. r=dbaron 2009-10-27 14:43:56 +13:00
Robert O'Callahan
178a633332 Backed out changeset 9f5177a978ac 2009-10-27 21:46:18 +13:00
Robert O'Callahan
baa52ae8b0 Bug 523468. Force next line to be reflowed whenever we push or pull children from an inline frame. r=dbaron 2009-10-27 14:43:56 +13:00
Mats Palmgren
6247c7c4c6 Bug 233463, patch 0 - Use nsFrameList methods instead of nsIFrame::SetNextSibling. r=bzbarsky 2009-09-18 13:09:35 +02: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
Robert O'Callahan
64679553d1 Backed out changeset e2927bb26412 2009-08-26 14:49:18 -07:00
Zack Weinberg
1aef973199 Bug 497495 part 3a: rationalize the queryframe-implementation macro naming scheme, restructure the implementation to detect duplicate entries, and a couple fixes to the frame ID enumeration. r=dbaron sr=roc
Bug 497495 part 3b: update users of queryframe macros (strictly mechanical change). r=dbaron
2009-08-26 09:27:42 -07: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
Boris Zbarsky
baa9e8e94d Bug 505482. Make sure to not leave frames on overflow lists when we interrupt reflow. Also fixes bug 478527 and bug 496742. r=roc 2009-07-24 09:32:32 -04: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
34e51e1648 Bug 408656: Make nsPositionedInlineFrame::NeedsView return true (to ensure that abs-positioned frames inside of it will get their views positioned) r+sr=bz a=blocking1.9 2008-01-04 18:11:20 -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
2927dedce8 Clean up prbool misuse in layout. bug 398312, r+sr+a=dbaron 2007-10-09 17:00:05 -07:00
094b31fdd0 Bug 386801 - nsAbsoluteContainingBlock doesn't need to store a child list name; this shaves four bytes off nsViewportFrame, nsBlockFrame, and nsPositionedInlineFrame. r+sr+a=dbaron 2007-08-02 15:44:36 -07:00
974eeb109c fix bug 388709 - "ASSERTION: Please remove this from the document properly: '!IsInDoc()'" with :after, floating :first-letter
Store the generated content as a nsCOMArray<nsIContent>* property on frames to make its clean-up on frame destruction less fragile.

r+sr=roc
2007-07-23 16:31:11 -07:00
c845bc9c00 Don't propagate line layout in reflow state when we're not in the line. b=320502 r+sr=roc 2007-05-17 23:04:04 -07:00
7334d31070 Bug 376636 - Building with gcc 4.3 and -pendatic fails due to extra semicolons, patch by Art Haas <ahaas@airmail.net>, rs=me 2007-04-23 07:21:53 -07:00
2aa4681377 Bug 368863. Reparent floats properly when placeholders move between inline continuations. r+sr=dbaron 2007-04-20 17:42:58 -07:00
dbaron@dbaron.org
a4cc40910e Clean up IsFrameOfType methods to call their base class IsFrameOfType methods reliably. b=341326 r+sr=roc 2007-02-24 18:33:33 +00:00
asqueella@gmail.com
49c82b0ca8 bug 257868 - remove the nsIPresShell::SetAnonymousContentFor() API, make the frames store strong refs to the anonymous content instead. Decomtaminate nsIAnonymousContentCreator.
r+sr=roc
2007-02-18 17:34:09 +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
dbaron@dbaron.org
a7fc5bf5b3 Combine the code that tests inlines for dependence on the containing block width in order to disable resize reflow optimizations, and add to that code things that shrink wrap (inline-block, inline-table, buttons, fieldsets). Also move the percentage-height tests out, and into InitResizeFlags. b=163504 r+sr=bzbarsky 2007-01-27 18:40:26 +00:00
uriber@gmail.com
2dc8ebb844 Pull InsertFrames, AppendFrames, and RemoveFrames up from nsInlineFrame to nsContainerFrame. bug=198928 r+sr=dbaron 2006-12-25 18:53:52 +00:00
dbaron@dbaron.org
d21cb374bd Bug 300030: Move intrinsic width computation out of nsIFrame::Reflow and into its own methods on nsIFrame. Replace reflow reasons, types, and commands with dirty bits/notifications. Thanks to bzbarsky for almost all of the HTML form controls (mozilla/layout/forms) changes, and many others for help testing and patching. For detailed commit logs, see REFLOW_YYYYMMDD_BRANCH, where YYYYMMDD is one of 20061031, 20060830, 20060603, 20060302, 20060119, 20051011, 20050804, 20050429, 20050315, 20050111, and 20041213. 2006-12-08 05:38:33 +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
39375d5ed4 Create bidi embedding only around inline containers (with a specified direction), not around inline replaced elements. bug=169139 r+sr=bzbarsky 2006-08-07 07:40:28 +00:00
uriber@gmail.com
ed72f4142c Bug 328168: Horizontal paddings, borders and margins on multi-frame bidi inlines appear in the wrong places. Patch by Haamed Gheibi <gheibi@gmail.com>. r=roc+uriber, sr=roc. 2006-06-15 08:16:23 +00:00
roc+@cs.cmu.edu
24f6f0ed12 Bug 328926. Remove aPresContext parameter from nsIFrame::Destroy, nsIFrame::SetInitialChildList and nsIFrame::RemovedAsPrimaryFrame. patch by Marc Liddell, r+sr=roc 2006-04-10 00:16:29 +00:00
dbaron@dbaron.org
60eede3c11 Single line comments to describe files (helpful in LXR) 2006-03-29 18:29:03 +00:00
roc+@cs.cmu.edu
54d3415318 Bug 330934. Set a nsIFrame's stylecontext in its constructor, to ensure that there's always one available for GetPresContext() to use even if Init hasn't been called. Patch by Marc Liddell, r+sr=roc 2006-03-26 21:30:36 +00:00
pavlov@pavlov.net
93222d8d4f backing out roc's patch for bug 328926 due to crash running tests on vc8 machines. 2006-03-15 06:43:36 +00:00
roc+@cs.cmu.edu
c92e50faf4 Bug 328926. Remove aPresContext parameter from Destroy and SetInitialChildList. patch by Marc Liddell, r+sr=roc 2006-03-15 03:14:02 +00:00
roc+@cs.cmu.edu
a1b6a30f14 Bug 317375. Reorganize frame painting and mouse event targeting around frame display lists. Some review from dbaron, lots of testing help from Martijn, Julien and others 2006-01-26 02:29:17 +00:00