Граф коммитов

197 Коммитов

Автор SHA1 Сообщение Дата
Benjamin Smedberg 3498a5f86e 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 73a6fab34b 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 802d1a10c7 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 f1991097c1 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 1b3e566cbb Backed out changeset 357d1c01bde3 2008-12-04 00:42:02 +13:00
Robert O'Callahan cc9777a348 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 97bef90839 Bug 456152 - slight API cleanup for nsCSSRendering::PaintBackground; r+sr=roc 2008-09-24 06:07:22 +02:00
Robert O'Callahan 775dd33c74 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 311213e939 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 36e333a796 Backing out changesets 75919d3eb3d0 and 14ce7619e9c1 due to test failures 2008-09-07 00:35:20 +12:00
Robert O'Callahan c2ca6a7204 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 c04d96c610 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 8d8390a5b5 Backing out changeset 1bdd5da49865 (for bug 376662) due to regression bug 453661 2008-09-05 15:40:06 +12:00
Robert O'Callahan 82aa805186 Bug 376662. Make nsIFrame::GetOffsetTo not explicitly use views. r+sr=bzbarsky 2008-09-04 09:35:52 +12:00
Zack Weinberg 300f48fbd4 Bug 446498 – use new border rendering for focus rectangles, and strip dead code. r+sr=vlad 2008-08-06 12:33:18 +02:00
bzbarsky@mit.edu f1ab736796 Make vertical resizing of framesets work in standards mode. Bug 376981, r+sr=dbaron 2007-10-18 20:45:30 -07:00
sharparrow1@yahoo.com 950a0b5183 Bug 379922: Canvas frame's invalidation no longer correct. r+sr=dbaron 2007-07-20 13:14:43 -07:00
jwalden@mit.edu 6d7584839a 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
mats.palmgren@bredband.net 42a227c78a Cleanup implementations of QueryInterface. b=385750 r+sr=dbaron r+sr=jst 2007-07-03 19:15:31 -07:00
bzbarsky@mit.edu 1b5f6b30b6 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
bzbarsky@mit.edu 9d1993a917 remove debugging code again. 2007-04-29 21:36:03 -07:00
bzbarsky@mit.edu a4837facf1 Put back this test code for one run so I can get data from Tp/Tp2 2007-04-29 20:11:04 -07:00
bzbarsky@mit.edu 988c13995e Back out the test code. 2007-04-26 19:06:50 -07:00
bzbarsky@mit.edu 70adc3f844 Sprinkle null-checks in an attempt to "fix" the orange so I can get answers. 2007-04-26 17:47:34 -07:00
bzbarsky@mit.edu 2647f75784 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
bzbarsky@mit.edu eeaa1a101b 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 3d231f620b 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 76a64e5c22 Bug 177805: Fix the use of units in Gecko. r+sr=roc 2007-02-07 07:46:44 +00:00
cvshook%sicking.cc a39ff30284 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 c65cea94eb Need to pass 'rv' status out, bug 368123. r/sr=dbaron 2007-01-26 02:30:23 +00:00
dbaron%dbaron.org f6245f0ed9 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 4e651390ef Bug 355300 There should be only one nsGkAtoms creature
r=dbaron
2006-12-26 17:47:52 +00:00
roc+%cs.cmu.edu cdaeca60f6 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 31f1898810 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 2dbafa80ee Bug 344583: misc cleanup. r+sr=roc 2006-07-14 03:02:37 +00:00
masayuki%d-toybox.com 4a98e11533 Bug 335474 Crash in [@ nsCSSRendering::DrawDashedSides] r+sr=roc 2006-04-28 23:21:01 +00:00
roc+%cs.cmu.edu a7f03736a9 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 0e88f73bc6 Single line comments to describe files (helpful in LXR) 2006-03-29 18:29:03 +00:00
roc+%cs.cmu.edu 0a10a79f62 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 c37d9a2cf3 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
pavlov%pavlov.net 131e8794e2 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 557b089a47 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 c2801ebbd7 Bug 328926. Remove aPresContext from nsIFrame::Init and nsIFrame::DidSetStyleContext. r+sr=roc, patch by Marc Liddell 2006-03-09 18:55:21 +00:00
sharparrow1%yahoo.com fd42b81b2d Bug 253076 make clicks on canvas go into standard frame selection code. r=bzbarsky,sr=roc 2006-02-04 00:23:49 +00:00
roc+%cs.cmu.edu 77bca74243 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
jst%mozilla.jstenback.com 8f1863159b Fixing bug 316794. Moving HandleDOMEvent() and Get/SetDocShell from nsIScriptGlobalObject to nsPIDOMWindow. r=mrbkap@gmail.com, sr=peterv@propagandism.org 2005-11-28 23:56:44 +00:00
roc+%cs.cmu.edu 520b30a7f7 Bug 313817. DeCOMtaminate more NS_New*Frame functions. r+sr=roc, patch by Marc Liddell 2005-11-04 02:38:33 +00:00
aaronleventhal%moonset.net 67ee0e846e Bug 309099. Entire client area should not be repainted for each focus move. Patch by Robert O'Callahan (roc). r=aaronlev, sr=neil 2005-09-29 13:16:46 +00:00
roc+%cs.cmu.edu fed343c43a Bug 108310. Make GetFrameForPoint take frame-relative coordinates, not bogus relative-to-some-view-or-other, and simplify the signature. r+sr=roc, patch by Eli Friedman. 2005-09-19 02:15:54 +00:00
roc+%cs.cmu.edu 6377fe1d40 Bug 296036. Remove the very poorly specified (and redundant) field 'point' of nsEvent. r+sr=roc, patch by Eli Friedman 2005-08-23 03:57:07 +00:00