Commit Graph

207 Commits

Author SHA1 Message Date
Boris Zbarsky
0bc1bec46b Bug 509170. Correctly invalidate the canvas frame on resizes of the root element. r=roc 2009-08-10 10:54:22 -04: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
2eb38e3023 Bug 504221 part 3. Switch overflowFrames storage to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:51:09 -04:00
Robert O'Callahan
e46dcd2d99 Bug 352093. Part 15: Rework scrolling so that we don't need a dedicated native widget for scrollframes. r=dbaron,joshmoz,karlt,jmathies 2009-07-22 12:45:13 +12:00
Timothy Nikkel
9ed46b25ee Bug 488242. Make iframes with semi-transparent backgrounds work correctly by painting all canvas background colors using a dedicated fallback background color display item. r+sr=roc 2009-07-04 21:30:59 +12:00
Neil Deakin
f62906b6b1 Bug 178324, refactor focus by moving all focus handling into one place and simplifying it, add many tests, fixes many other bugs too numerous to mention in this small checkin comment, r=josh,smichaud,ere,dbaron,marco,neil,gavin,smaug,sr=smaug (CLOSED TREE) 2009-06-10 14:00:39 -04:00
Robert O'Callahan
0d073a71fe Bug 494667. Don't apply optimization to shrink drawn background area to exclude solid borders, if we're not going to draw those borders (e.g. in tables with collapsing borders). r+sr=dbaron,a=beltzner 2009-05-28 17:01:42 +12:00
Olli Pettay
0b3823aa3b Bug 478245 - Crash [@ nsEventStateManager::PreHandleEvent], r+sr=dbaron 2009-03-11 17:43:08 +02: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
Robert O'Callahan
70a0fc4c5c Bug 458898. Make sizeToContent work for HTML documents by ensuring CanvasFrame converts an UNCONSTRAINEDSIZE computed height into its actual desired height. r+sr=dbaron 2008-12-09 13:33:46 +13:00
Robert O'Callahan
f5f76e3788 Backed out changeset 357d1c01bde3 2008-12-04 00:42:02 +13:00
Robert O'Callahan
54d9851809 Bug 458898. Fix intrinsic sizing of windows by ensuring CanvasFrame converts an NS_UNCONSTRAINEDSIZE desired height to its actual desired height. r+sr=dbaron 2008-12-03 09:50:16 +13:00
Zack Weinberg
6e07dbd270 Bug 456152 - slight API cleanup for nsCSSRendering::PaintBackground; r+sr=roc 2008-09-24 06:07:22 +02: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
Robert O'Callahan
d97b45fb8e Bug 243519. Rework root element frame construction and the CanvasFrame so that the CanvasFrame is an abs-pos container and the root element frame can be positioned. r=fantasai,sr=dbaron 2008-09-08 20:13:17 +12:00
Robert O'Callahan
26dac5de7f Backing out changesets 75919d3eb3d0 and 14ce7619e9c1 due to test failures 2008-09-07 00:35:20 +12:00
Robert O'Callahan
296840fa17 Bug 243519. Rework root element frame construction and the CanvasFrame so that the CanvasFrame is an abs-pos container and the root element frame can be positioned. r=fantasai,sr=dbaron 2008-09-06 21:35:05 +12: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
Zack Weinberg
a293f973ab Bug 446498 – use new border rendering for focus rectangles, and strip dead code. r+sr=vlad 2008-08-06 12:33:18 +02:00
1d4a9c1a65 Make vertical resizing of framesets work in standards mode. Bug 376981, r+sr=dbaron 2007-10-18 20:45:30 -07:00
adc1e9f85d Bug 379922: Canvas frame's invalidation no longer correct. r+sr=dbaron 2007-07-20 13:14: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
79eeaa32d0 Cleanup implementations of QueryInterface. b=385750 r+sr=dbaron r+sr=jst 2007-07-03 19:15:31 -07:00
cdb5b22b87 Change the FrameNeedsReflow API to pass the dirty flags to be added directly tothe method, instead of setting them before calling the method. That way we canavoid reflowing the ancestor of a reflow root which is not itself dirty but hasdirty children. This also makes it harder to set dirty bits inconsistentlywith the FrameNeedsReflow call. Bug 378784, r+sr=dbaron, pending rbs' reviewon the mathml parts. 2007-05-06 12:16:51 -07:00
7568007d29 remove debugging code again. 2007-04-29 21:36:03 -07:00
3c23092fe4 Put back this test code for one run so I can get data from Tp/Tp2 2007-04-29 20:11:04 -07:00
d9a2635d9c Back out the test code. 2007-04-26 19:06:50 -07:00
d11b45c6c1 Sprinkle null-checks in an attempt to "fix" the orange so I can get answers. 2007-04-26 17:47:34 -07:00
abfb9ea6bb Adding some test code for a single tinderbox run so I can see what's going onwith Tp2 and such. Will back out after one cycle. 2007-04-26 15:46:05 -07:00
e0f90db412 Rename nsIFrame::GetPresContext to nsIFrame::PresContext. Bug 376042, patch byTaras Glek <tglek@mozilla.com>, rs=roc. 2007-03-30 14:11:41 -07:00
masayuki@d-toybox.com
a22c0c11e9 Bug 335394 We should remove support for the 'invert' value ifdef MOZ_CAIRO_GFX r+sr=dbaron 2007-03-15 16:16:20 +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
dveditz@cruzio.com
8cad4240fa Need to pass 'rv' status out, bug 368123. r/sr=dbaron 2007-01-26 02:30:23 +00:00
dbaron@dbaron.org
8648581bf7 Change the bulk of ascent (baseline) computation to happen on a virtual method on nsIFrame, and remove the redundant descent member from nsHTMLReflowMetrics, primarily to support having both first-line and last-line baselines. b=367332 r+sr=roc 2007-01-23 04:06:56 +00:00
timeless@mozdev.org
f4ef17d178 Bug 355300 There should be only one nsGkAtoms creature
r=dbaron
2006-12-26 17:47:52 +00:00
roc+@cs.cmu.edu
19493ac879 Bug 363813. Mark canvas with HAS_DIRTY_CHILDREN when we delete its child. r+sr=dbaron 2006-12-21 20:05:34 +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
sharparrow1@yahoo.com
653f213328 Bug 344583: misc cleanup. r+sr=roc 2006-07-14 03:02:37 +00:00
masayuki@d-toybox.com
29cc4eedee Bug 335474 Crash in [@ nsCSSRendering::DrawDashedSides] r+sr=roc 2006-04-28 23:21:01 +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
dbaron@dbaron.org
1512413601 Change our scrolling code so that it is capable of scrolling above and to the left of the viewport, and then use that capability for nsHTMLScrollFrames with RTL directionality. This removes the invariant that the child of a scrollframe (::scrolled-canvas canvas or ::scrolled-content block) will be stretched to fill the entire scrollable area and stops enforcing it, a change that's likely to cause some regressions not yet fixed within the patch. This also fixes directionality detection for the scrollframe holding the canvas (changing which side the scrollbar appears on) and fixes an old bug in the code that paints the focus ring around the canvas (so it's now again visible on all sides, even when the canvas is scrollable). b=192767 r+sr=roc 2006-03-15 16:55:19 +00:00