Commit Graph

1122 Commits

Author SHA1 Message Date
Jeremy Lea
3e1e90f73a Bug 448830. Make nsIntRect/nsIntMargin/nsIntSize/nsIntPoint different types from nsRect/nsMargin/nsSize/nsPoint different types for better compile-type unit checking. r+sr=roc 2009-01-15 16:27:09 +13: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
Phil Ringnalda
1bb83ae957 Builds are neccesary, even if you can spell necessary, and even in a CLOSED TREE 2009-01-11 00:46:35 -08: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
Boris Zbarsky
1a3fb7c430 Bug 284320. Remove the contentParentFrame hack in subdocument frames, along with the no-longer-used arg it used to be used for. r+sr=roc 2009-01-06 17:29:50 -05:00
Benjamin Smedberg
aa17adb54c Bug 472348 - Some unused variables found by combing the warning database, rs=bz 2009-01-06 14:25:58 -05:00
L. David Baron
ad036e3dae Stop using nsAreaFrame for anything other than xul:label, which is the only thing for which it does anything different from nsBlockFrame, and rename it accordingly. (Bug 471356) r+sr=roc 2008-12-29 10:07:38 -05:00
L. David Baron
2241f3da71 Set up image loaders before reflow for border-image in XUL just like for HTML. (Bug 468473) r+sr=roc 2008-12-23 09:06:56 -05:00
Benjamin Smedberg
f2c9a5bafb 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
91a3d948e0 Bug 461212 - deCOM frame traversal (relanding) r=mats.palmgren sr=roc 2008-10-30 10:15:22 -07:00
L. David Baron
e7ff044de6 Merge backout of changeset 23eebebb8b48 (from bug 322475, which made us construct all our image loaders at frame construction time) because of issues with propagation of backgrounds to the canvas (bug 460796). 2008-10-28 14:36:44 -07:00
L. David Baron
3d410b3fa9 Backed out changeset 23eebebb8b48 (from bug 322475, which made us construct all our image loaders at frame construction time) because of issues with propagation of backgrounds to the canvas (bug 460796). 2008-10-28 14:36:17 -07:00
L. David Baron
250efc1f3d Merge backout of changeset 7f708623bf59 (from bug 322475, which made us construct all our image loaders at frame construction time) because of issues with propagation of backgrounds to the canvas (bug 460796). 2008-10-28 14:35:18 -07:00
L. David Baron
e15d03d4ce Backed out changeset 7f708623bf59 (from bug 322475, which made us construct all our image loaders at frame construction time) because of issues with propagation of backgrounds to the canvas (bug 460796). 2008-10-28 14:34:03 -07:00
L. David Baron
714953004c Merge backout of changeset d7338fec7266 (from bug 322475, which made us construct all our image loaders at frame construction time) because of issues with propagation of backgrounds to the canvas (bug 460796). 2008-10-28 14:12:44 -07:00
L. David Baron
db51a6dcfe Backed out changeset d7338fec7266 (from bug 322475, which made us construct all our image loaders at frame construction time) because of issues with propagation of backgrounds to the canvas (bug 460796). 2008-10-28 14:12:02 -07:00
Benjamin Smedberg
c9bf8eed8f Back out bugs 461410 and 461212 because I'm not sure which is causing the mochitest regression. 2008-10-28 02:51:50 -04:00
Benjamin Smedberg
2bcfed002b Merge backout and typo fix of bug 461212 2008-10-28 02:50:20 -04:00
Benjamin Smedberg
30915057bb Backed out changeset d4c9a0776667 (deCOM nsILineEnumerator) due to regression from it or bug 461212 2008-10-28 02:49:14 -04:00
Benjamin Smedberg
f4133116e4 Backed out changeset affcc1c08bc0 (deCOM frame enumerator) due to regression from it or bug 461410. 2008-10-28 02:47:40 -04:00
Benjamin Smedberg
f0a65beeac 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
Benjamin Smedberg
e6bf9e93fd Bug 461212 - deCOM frame enumerator, r=mats.palmgren sr=roc 2008-10-28 00:47:19 -04:00
Bernd
9ef8b0cecd bug 258377, make border collapsed tables to listen for dynamic border style changes r/sr=bzbarsky 2008-10-26 11:11:34 +01:00
Robert O'Callahan
5cb5c89885 Bug 460240. Need to repaint the overflow area if the overflow area changes, the frame has effects/outline/box-shadow, and the frame size has not changed. r+sr=bzbarsky 2008-10-21 20:42:28 +13:00
Uri Bernstein
6275575bcc Bug 460532 - Firefox leaks SelectionDetails when clicking a point included in multiple selection ranges. r+sr=roc.
HGe changed layut/genericks SelectionDetails/test/Makefile.in
2008-10-20 22:53:40 +02:00
Uri Bernstein
c72ab700ee 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
b43247c0c7 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
L. David Baron
927cf642de Fixing bustage. (Bug 322475) 2008-10-11 21:16:15 -04:00
L. David Baron
34a4887a9b Construct all our image loaders when we create frames so that we can allow arbitrary numbers of image loaders per frame (for multiple background images). (Bug 322475) r+sr=bzbarsky 2008-10-11 20:49:42 -04:00
L. David Baron
4ba74a72e0 Rename nsImageLoader to nsImageLoadNotifier, since it doesn't actually load images. (Bug 322475) r+sr=bzbarsky 2008-10-11 20:49:42 -04:00
Uri Bernstein
3651678d55 Bug 458418: onclick event doesn't fire on empty fixed position elements. r+sr=roc. 2008-10-09 12:35:56 +02:00
Uri Bernstein
c4d3e72f12 Bug 449076: hang with 100% CPU on keyboard arrow trough text field. r+sr=roc. 2008-10-09 12:22:30 +02:00
Robert O'Callahan
0bc05f8866 Bug 455984. Rework gradient and pattern code to use nsReferencedElement and nsSVGRenderingObservers, so they observe changes to the ID-element-map properly and propagate invalidations correctly (and with simpler code too). r=longsonr,sr=mats 2008-10-01 13:51:05 +13:00
Robert O'Callahan
fbab469186 Backing out bug 455984 to see if it fixed Tp crashes 2008-10-01 00:28:20 +13:00
Robert O'Callahan
9df252df90 Bug 455984. Rework gradient and pattern code to use nsReferencedElement and nsSVGRenderingObservers, so they observe changes to the ID-element-map properly and propagate invalidations correctly (and with simpler code too). r=longsonr,sr=mats 2008-09-30 21:47:20 +13:00
Robert O'Callahan
247c01e3bb Backing out bug 448830 2008-09-28 23:13:58 +13:00
Jeremy Lea
32d2314112 Bug 448830. Make nsIntRect/nsIntMargin/nsIntSize/nsIntPoint their own types so that we can catch errors by distinguishing pixels from appunits. r+sr=roc 2008-09-28 20:38:34 +13:00
Robert O'Callahan
ab507b7a60 Backing out bug 448830 2008-09-26 13:10:26 +12:00
Jeremy Lea
e2ebf884de Bug 448830. Make nsIntRect/nsIntSize/nsIntPoint/nsIntMargin separate types so we get appunit vs pixel typechecking. r+sr=roc 2008-09-26 10:42:19 +12: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
a1692486ca Bug 455280. Distinguish pre-transform overflow area from post-transform overflow area and have nsDisplaySVGEffects use the pre-transform area. r=kschwarz,sr=dbaron 2008-09-16 13:51:52 +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
Keith Schwarz
8da13beda7 Bug 435293. Implement CSS transforms. r=dbaron,r+sr=roc 2008-09-13 21:42:11 +12:00
L. David Baron
c1a128dc55 Convert text-shadow and box-shadow storage from nsStyleCoord to nscoord. (Bug 443057) r+sr=bzbarsky 2008-09-12 20:45:37 -07:00
L. David Baron
5604eb1d12 Convert outline offset storage from nsStyleCoord to nscoord. (Bug 443057) r+sr=bzbarsky 2008-09-12 20:45:37 -07:00
Robert O'Callahan
ca815c8c3b Bug 450340. Support SVG mask/clip-path/filter CSS properties applied to non-SVG content. r=longsonr,sr=mats 2008-09-11 12:24:16 +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
Graeme McCutcheon
93b55448a4 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
Arpad Borsos
d8fdd3d1da Bug 443058 - Remove MOZ_DECL_CTOR_COUNTER; <mozilla-central> part; r=benjamin 2008-09-07 00:04:10 +02:00