Commit Graph

253 Commits

Author SHA1 Message Date
Robert O'Callahan
f34b7ae2c5 Bug 492480. Unregister placeholder relationship when we destroy out-of-flow frames, instead of trying to do it earlier in many places and not always doing it right. r+sr=dbaron
--HG--
extra : rebase_source : c9bedc1d7482b9c7ccf2878caded9320b92eb652
2009-05-14 09:35:02 +12:00
Daniel Holbert
0947631c3a Bug 490909: Remove old layout debugging code, patch #2: remove 'VerifyTree' & related code. r+sr=dbaron 2009-05-12 12:03:09 -07:00
Ryo Onodera
5e72993bff Bug 489485. nsRect::ToNearest/Inner/OuterPixels should be nonstatic. r+sr=roc
--HG--
extra : rebase_source : 13778709270ab926e951a7782fce3632370ef7c7
2009-05-08 14:31:04 +12:00
Robert O'Callahan
d827a42b82 Bug 488901. When an element's size changes and it has borders, we don't necessarily need to invalidate the entire border-box --- if there is no right or bottom border, and other conditions are met. r+sr=dbaron
--HG--
extra : rebase_source : 24306ec844dab873cc9b580f32a383f0ccb769a5
2009-05-08 13:52:22 +12:00
Robert O'Callahan
52b90a658d Bug 485121. The screen coordinates for an element should be snapped to the nearest screen pixel, not rounded out, for consistency with the way we position native widgets and snap rectangle drawing. r=dbaron
--HG--
extra : rebase_source : 6fd7efc5516702118e5207b2ff8150dc1859c3e4
2009-04-10 13:15:47 +12:00
Simon Montagu
78c48d14b7 Enable bidi when a frame has right-to-left direction during style post-processing instead of frame construction to catch dynamic changes to direction. Bug 489517, r+sr=dbaron 2009-04-23 09:09:47 +03:00
Robert O'Callahan
f6094f2796 Backed out changeset b5f88bffb072 2009-04-12 00:38:16 +12:00
Robert O'Callahan
4104983df9 Bug 485121. The screen coordinates for an element should be snapped to the nearest screen pixel, not rounded out, for consistency with the way we position native widgets and snap rectangle drawing. r=dbaron
--HG--
extra : rebase_source : d76f8fa9b8b9096ad833708a913e9af05b22dcea
2009-04-10 13:15:47 +12:00
Zack Weinberg
01403e2fa3 Bug 487831: Remove nsBox::(Get|Set)WasCollapsed, which are totally unused. r+sr=dbaron 2009-04-10 13:29:50 -07:00
Jonathan Kew
bdab93a7ca Bug 475968. Eliminate NS_FRAME_OUTSIDE_CHILDREN flag, store small overflow areas cheaply within the frame. r+sr=roc 2009-04-06 12:31:50 +12:00
Robert O'Callahan
2739cdda29 Bug 476062. Don't suppress box-shadows on elements with -moz-appearance in chrome documents. r+sr=dbaron 2009-04-06 11:35:53 +12:00
Robert O'Callahan
160bdca11d Bug 476062. Instead of turning off -moz-appearance when an element has a box-shadow, just ignore the box-shadow. r+sr=dbaron
--HG--
extra : rebase_source : 68e79ec44afd089b93870a5d87ea549d5f04b9d6
2009-04-01 14:07:18 +13:00
Olli Pettay
e92fe0f37a Bug 484238 - no click event generated when div is clicked, r+sr=roc 2009-03-30 13:12:35 +03:00
Robert O'Callahan
49ff0034cc Bug 485030. Don't restrict BuildDisplayList's dirty rect to a child's overflow area; then we can use the passed-in dirty rect to optimize the 'ignore scroll frame' case. r=dbaron
--HG--
extra : rebase_source : a0c489c3b33ccaf762293da7537d909f85d88782
2009-03-30 13:29:36 +13:00
Arpad Borsos
b8c7bb681a Bug 481881 - use better template arguments for nsTArray<T> after bug 474369, layout part; r+sr=roc 2009-03-12 08:26:29 +01:00
Olli Pettay
68a0322fcd Bug 478245 - Crash [@ nsEventStateManager::PreHandleEvent], r+sr=dbaron 2009-03-11 17:43:08 +02:00
Karl Tomlinson
6a5bf5d169 backout dac7c3176b33 from bug 481881 2009-03-11 17:09:22 +13:00
Arpad Borsos
27f29d685d Bug 481881 - use better template arguments for nsTArray<T> after bug 474369, layout part r+sr=roc 2009-03-11 15:26:36 +13:00
Boris Zbarsky
2423744439 Bug 481688. Stop firing our DOMLink* events to content. r+sr=smaug 2009-03-06 13:12:20 -05:00
Peter Annema
e0d504dda0 Fix Firefox-Ports Solaris build bustage. 2009-02-22 08:38:52 -08:00
L. David Baron
fa9a21c33d Implement multiple background layers, implement fallback background color, and make -moz-background-inline-policy no longer be part of the background shorthand. (Bug 322475) r+sr=roc,bzbarsky 2009-02-19 21:29:21 -08:00
Zack Weinberg
6cd01999d3 Bug 470250 - draw middle border image even if the border width is zero on all four sides r+sr=dbaron 2009-02-20 17:13:47 +13:00
L. David Baron
2eb748571c Backed out changeset fde0b361f25e (bug 322475, main patch) due to Mac talos startup failures and hitting the NS_ABORT_IF_FALSE in SetupBackgroundClip, which may be related. 2009-02-19 13:51:46 -08:00
L. David Baron
d9ac02ed8c Implement multiple background layers, implement fallback background color, and make -moz-background-inline-policy no longer be part of the background shorthand. (Bug 322475) r+sr=roc,bzbarsky 2009-02-19 12:33:09 -08:00
L. David Baron
db9e9b7806 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 2009-02-19 11:03:28 -08:00
L. David Baron
a91aa25ab0 Back out all 8 changesets that I just landed (bugs 477959, 477961, 322475, 478899, 475215, 478156) again, because Talos Try server builds lie about which changesets they're testing. 2009-02-19 09:06:18 -08:00
L. David Baron
51ef1de194 Implement multiple background layers, implement fallback background color, and make -moz-background-inline-policy no longer be part of the background shorthand. (Bug 322475) r+sr=roc,bzbarsky 2009-02-19 07:29:28 -08:00
L. David Baron
a5c13ba6b5 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 2009-02-19 07:29:27 -08:00
Jeremy D. Lea
b9a1696e34 Bug 476726 - deCOMtaminate WidgetToScreen and ScreenToWidget; r+sr=roc
--HG--
extra : rebase_source : 4a35ccdcafbe8a0a9dded9f292a139b4679709e3
2009-02-18 16:11:49 -08:00
L. David Baron
8b207bcc51 Revert (back out) the previous 11 changesets (bugs 477959, 477961, 477963, 477962, 322475, 478899, 475215, 478156), due to Mac talos orange with (as usual) no useful diagnostic. 2009-02-18 18:59:47 -08:00
L. David Baron
366992262c Implement multiple background layers, implement fallback background color, and make -moz-background-inline-policy no longer be part of the background shorthand. (Bug 322475) r+sr=roc,bzbarsky 2009-02-18 17:13:25 -08:00
L. David Baron
29c43121c7 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 2009-02-18 17:13:24 -08:00
Serge Gautherie
5ec9f53e89 Backed out changeset: 719dca3419b5 2009-02-15 18:41:16 +01:00
Jeremy Lea
b82cdbd258 Bug 476726 - deCOMtaminate WidgetToScreen and ScreenToWidget; r+sr=roc 2009-02-15 17:41:06 +01:00
Michael Ventnor
b480b09ba3 Bug 476738. Implement 'inset' box-shadows. r+sr=roc,r=dbaron 2009-02-10 21:45:13 +13:00
L. David Baron
5fe09edd17 Remove nsStyleContext::DumpRegressionData, code that uses it, and code that exists only for it. (Bug 477522) r+sr=bzbarsky 2009-02-09 20:36:54 -08:00
Arpad Borsos
829f9f024a Bug 474369 - get rid of nsVoidArray; layout part; r+sr=roc 2009-02-03 15:42:18 +01:00
L. David Baron
c3eeb84be5 Fix whitespace in DisplayReflowExit. 2009-01-29 12:39:22 -08:00
Jeremy Lea
1800930122 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
--HG--
extra : rebase_source : a331a9e49fbc5931f546919281fcca7f008ab615
2009-01-15 16:27:09 +13:00
Benjamin Smedberg
24e7cb1f78 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
Phil Ringnalda
b6fe1a7700 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
50621e4f9f 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
d0b948876f 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
709cd54c51 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
720c4f5577 Bug 472348 - Some unused variables found by combing the warning database, rs=bz 2009-01-06 14:25:58 -05:00
L. David Baron
23d4f4d4b2 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
--HG--
rename : layout/generic/nsAreaFrame.cpp => layout/xul/base/src/nsXULLabelFrame.cpp
rename : layout/generic/nsAreaFrame.h => layout/xul/base/src/nsXULLabelFrame.h
2008-12-29 10:07:38 -05:00
L. David Baron
16aba7fd6b 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
9696613a50 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
4eb5e5d5a8 Bug 461212 - deCOM frame traversal (relanding) r=mats.palmgren sr=roc 2008-10-30 10:15:22 -07:00
L. David Baron
8878bc85e1 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
65cadd7c29 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
2015aefdfd 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
e7cd23e3ac 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).
--HG--
rename : layout/base/nsImageLoadNotifier.cpp => layout/base/nsImageLoader.cpp
rename : layout/base/nsImageLoadNotifier.h => layout/base/nsImageLoader.h
2008-10-28 14:34:03 -07:00
L. David Baron
8124ab8fbc 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
1736d9f550 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
05386c2561 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
dfbac6a0c3 Merge backout and typo fix of bug 461212 2008-10-28 02:50:20 -04:00
Benjamin Smedberg
4214b72dd5 Backed out changeset d4c9a0776667 (deCOM nsILineEnumerator) due to regression from it or bug 461212 2008-10-28 02:49:14 -04:00
Benjamin Smedberg
3a3f316c84 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
dd4c950cff 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
d89e3c2841 Bug 461212 - deCOM frame enumerator, r=mats.palmgren sr=roc 2008-10-28 00:47:19 -04:00
Bernd
6777c42861 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
85ea5a3965 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
9418630bcb 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
ff104b5951 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
9d7714304c 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
2545abc873 Fixing bustage. (Bug 322475) 2008-10-11 21:16:15 -04:00
L. David Baron
10bd0bbfe0 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
2bd8ac7a44 Rename nsImageLoader to nsImageLoadNotifier, since it doesn't actually load images. (Bug 322475) r+sr=bzbarsky
--HG--
rename : layout/base/nsImageLoader.cpp => layout/base/nsImageLoadNotifier.cpp
rename : layout/base/nsImageLoader.h => layout/base/nsImageLoadNotifier.h
2008-10-11 20:49:42 -04:00
Uri Bernstein
8de8ea27ac 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
2b5ccfa067 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
09cfc5fa8c 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
337c852320 Backing out bug 455984 to see if it fixed Tp crashes 2008-10-01 00:28:20 +13:00
Robert O'Callahan
0a5a34cbab 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
279af36fc7 Backing out bug 448830 2008-09-28 23:13:58 +13:00
Jeremy Lea
92e7030a42 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
6a45b282aa Backing out bug 448830 2008-09-26 13:10:26 +12:00
Jeremy Lea
67f3afd13b 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
f79290bb0e 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
be33d80a1a 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
eef0edf9d5 Bug 454766 - Add suggested parentheses to layout/; r+sr=roc; (with nits by sgautherie) 2008-09-15 17:40:25 +02:00
Keith Schwarz
dc907e1ec7 Bug 435293. Implement CSS transforms. r=dbaron,r+sr=roc 2008-09-13 21:42:11 +12:00
L. David Baron
a56edce6be 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
b9c298d240 Convert outline offset storage from nsStyleCoord to nscoord. (Bug 443057) r+sr=bzbarsky 2008-09-12 20:45:37 -07:00
Robert O'Callahan
539a029252 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
cddb22d87c 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
b6ce570b3c 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
534fd11101 Bug 443058 - Remove MOZ_DECL_CTOR_COUNTER; <mozilla-central> part; r=benjamin 2008-09-07 00:04:10 +02:00
Robert O'Callahan
ea7596e60c Backing out changesets 75919d3eb3d0 and 14ce7619e9c1 due to test failures 2008-09-07 00:35:20 +12:00
Robert O'Callahan
f7339a0460 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
be904c4d3d 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
ca15953a6e Backing out changeset 1bdd5da49865 (for bug 376662) due to regression bug 453661 2008-09-05 15:40:06 +12:00
Graeme McCutcheon
7c42fc8f14 Bug 451203 - Unable to select text that has been highlighted by the find toolbar. r+sr=roc 2008-09-04 02:17:55 +02:00
Robert O'Callahan
1eeada5faa Bug 376662. Make nsIFrame::GetOffsetTo not explicitly use views. r+sr=bzbarsky 2008-09-04 09:35:52 +12:00
Boris Zbarsky
d9344bb542 Bug 449362 - "Table border is rendered incorrectly when the table cell size changes due to javascript." [r+sr=roc] 2008-08-20 01:45:29 -05:00
Uri Bernstein
73144ae3ef On mouse down, make sure the frame capturing the mouse is the same one used as the selection anchor. bug=262306, r+sr=roc. 2008-08-15 09:41:05 +03:00
Robert O'Callahan
fba2d206f6 Bug 230555. Support white-space:pre-line. r+sr=dbaron 2008-08-12 20:31:56 +12:00
L. David Baron
2c2f6ed495 Change the binding parent for native anonymous content to work like the binding parent for XBL anonymous content, and be the parent of the anonymous content subtree rather than the root of the anonymous content subtree. (Bug 436453) r=bzbarsky,smaug,surkov sr=bzbarsky 2008-07-22 21:50:20 -07:00
Zack Weinberg
3197060cbd Delete nsLayoutUtils::GetAbsoluteCoord(); fold logic into callers and simplify. (Bug 437335) r+sr=dbaron 2008-07-17 16:37:12 -07:00
Andrew Smith ext:(%2C%20Rob%20Arnold%20%3Ctellrob%40gmail.com%3E%2C%20L.%20David%20Baron%20%3Cdbaron%40dbaron.org%3E)
49c9b3d67e Implement css3 border-image property. (Bug 378217) r=vlad,dbaron,robarnold 2008-07-16 23:30:25 -07:00