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

713 Коммитов

Автор SHA1 Сообщение Дата
Matheus Kerschbaum 6eb93f7dd3 Bug 648911 - Remove support for non-libxul builds. r=ted,joedrew 2011-05-23 18:54:47 +02:00
Ehsan Akhgari e66b9024c8 Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc 2011-04-29 19:02:33 -04:00
Ehsan Akhgari d883e58253 Bug 10209 - Part 1: Add an API for absolute container support for all frame types; r=roc 2011-04-27 19:41:43 -04:00
Benjamin Stover 1b6808fa69 Bug 640048 Fix edge case for z-ordering for async scrollable elements r=roc 2011-05-01 18:53:01 -07:00
Mark Finkle cabb1dfab7 Backed out changeset c7f62d818af2. Causes content crashes Bug 653889 2011-04-30 00:01:29 -04:00
Benjamin Stover c95d8badae Bug 640048 Fix edge case for z-ordering for async scrollable elements r=roc 2011-04-29 10:15:44 -07:00
Robert O'Callahan ca5e5d48e9 Bug 641426. Part 3.5: Remove usage of nsMargin::TopLeft and nsMargin::IsZero. r=dbaron 2011-04-19 15:07:22 +12:00
Jan Küchler c510bc3046 Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
extra : rebase_source : 34884bfcafd885feaf73300bc7246cd192062a48
2011-04-07 18:04:40 -07:00
Robert O'Callahan f55223784a Bug 622072. Part 3: Support empty transactions for canvas layers. r=tnikkel
The basic idea is that whenever a layer transaction updates the window, we clear out the invalidation state for the canvas rendering context,
using a DidTransactionCallback registered on the layer(s) for the canvas, which calls MakeContextClean.

The DidTransactionCallbacks are directed to the user data attached to the Layer, which holds a strong reference to the canvas element. This
ensures that the element lives as long as the layer. Layers are destroyed when the presentation is torn down (including if the frame is destroyed),
so we can't have a leak here. The reference to the canvas element is only strong because the layer might briefly outlive the frame (the layer
won't be destroyed until the next paint of the window).

This patch moves responsibility for calling CanvasLayer::Updated and nsFrame::MarkLayersActive from the canvas context to nsHTMLCanvasElement::InvalidateFrame.
We call Updated on the retained CanvasLayer, if there is one; any other CanvasLayers created for this canvas would only be used once, and have Updated
called on them in BuildLayer when created.
2011-03-28 12:59:47 +13:00
Jonathan Kew 15d01c433c bug 418975 - support &shy; when calculating min width for table and fieldset. r=roc. landing on the CLOSED TREE after dbaron went to bed :) 2011-03-24 15:22:37 +00:00
Ehsan Akhgari acac18d785 Back out bug 622072 because it caused bug 645987 2011-03-29 14:31:53 -04:00
Robert O'Callahan 46f6cf879d Bug 622072. Part 3: Support empty transactions for canvas layers. r=tnikkel
The basic idea is that whenever a layer transaction updates the window, we clear out the invalidation state for the canvas rendering context,
using a DidTransactionCallback registered on the layer(s) for the canvas, which calls MakeContextClean.

The DidTransactionCallbacks are directed to the user data attached to the Layer, which holds a strong reference to the canvas element. This
ensures that the element lives as long as the layer. Layers are destroyed when the presentation is torn down (including if the frame is destroyed),
so we can't have a leak here. The reference to the canvas element is only strong because the layer might briefly outlive the frame (the layer
won't be destroyed until the next paint of the window).

This patch moves responsibility for calling CanvasLayer::Updated and nsFrame::MarkLayersActive from the canvas context to nsHTMLCanvasElement::InvalidateFrame.
We call Updated on the retained CanvasLayer, if there is one; any other CanvasLayers created for this canvas would only be used once, and have Updated
called on them in BuildLayer when created.
2011-03-28 12:59:47 +13:00
Ehsan Akhgari 93de29b2e6 Bug 642823 - Make the behavior of nsISelection::Modify consistent for word selection across platforms by not eating spaces on any platform; r=roc 2011-03-20 15:49:06 -04:00
Kevin Gadd d294ee3873 bug 625248 - During each paint, build a list (stored as a FrameProperty of the root nsIFrame) of all the PresShells that are visible during this paint, so that we can increment their paint count correctly during an empty transaction; r=roc a=blocking-final+
--HG--
extra : rebase_source : 2524d2e258a6a6cc13a7d8df2c874752e415c1ba
2011-01-27 13:53:10 -08:00
Robert O'Callahan 182d011379 Bug 619117. When invalidating due to a transform change, use the cached post-transform visual overflow rect to avoid depending on the new transform style. r=dbaron,a=blocking 2011-01-25 21:41:56 +13:00
Robert O'Callahan 9fdc40df3d Bug 615870. Part 2: Track per-display-root-frame 'update layer tree' state bit. r=tnikkel a=b-f 2010-12-10 21:32:52 +02:00
Jonathan Kew e79e7e7398 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
Mounir Lamouri 67259dffcd Bug 596088 - Make <input type='file'> looks disabled when inside a disabled fieldset by adding a ContentStatesChanged method in nsIFrame. r=bz sr=roc a=blocking-final
--HG--
rename : layout/reftests/bugs/557087.html => layout/reftests/bugs/557087-1.html
rename : layout/reftests/bugs/557087.html => layout/reftests/bugs/557087-2.html
extra : rebase_source : 350455e646775e42916e90dee7e09f63f84f4db4
2010-12-14 10:00:57 -08:00
Jonathan Kew 63186a7fc6 Backed out changeset 1958ebae93cc for causing mochitest orange. a=backout 2010-12-16 15:15:35 -08:00
Jonathan Kew ff27ba6ff2 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
Michael Wu adc8f28efe Backed out changeset 34bd12eb4a9c for causing bug 618916, a=stuart 2010-12-13 16:14:07 -08:00
Oleg Romashin 32de6ed302 Bug 615870 - Remote HTML5 video rendering pipeline should be shorter r=roc a=b-f 2010-12-10 21:32:52 +02:00
Oleg Romashin 73fc44f096 Bug 615536 - nsIFrame::GetMouseThrough need to be optimized r=roc a=approval2.0 2010-11-30 16:59:46 +02:00
Benjamin Smedberg c13f3e04fa Bug 616127 - Prevent nsIFrame.h from being used from non-internal code. r+a=bz 2010-12-01 14:42:27 -05:00
Ben Turner f17f1a4d68 Bug 586216 - Don't use one timer per animated widget. r=roc a=b 2010-11-13 09:19:38 +01:00
Ehsan Akhgari db2d8e7cb6 Bug 389321 - Part 3: Use a centralized algorithm for caret positioning; r=roc a=blocking-betaN+ 2010-08-31 14:54:44 -04:00
Timothy Nikkel c612a70b99 Bug 599113. Part 3. Can't restrict invalidated rects to visible portion of a scroll frame if we retain content that might be outside the visible portion of the scroll frame. r=roc a=blocking-betaN+ 2010-10-14 20:03:46 -05:00
L. David Baron eaf0cc10a3 When a frame is themed, report a border-radius of 0. (Bug 595652) r=roc a2.0=blocking2.0:betaN 2010-10-06 21:25:47 -07:00
L. David Baron 86a617e692 Change callers to use new nsIFrame overflow APIs. (Bug 542595, patch 20) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:47 -07:00
L. David Baron 44ad3bb392 Now that overflow areas are split, change nsIFrame::ComputeTightBounds to use visual overflow. While it really only needs to include frame bounds, glyph bounds, and text decorations, since glyph bounds are not part of scrollable overflow, it must use visual overflow. (Bug 542595, patch 15) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:46 -07:00
L. David Baron e9aef85b7e Change FinishAndStoreOverflow API to take two overflow areas. (Bug 542595, patch 4) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
L. David Baron 4c92be5947 Convert nsIFrame APIs from having a single overflow rect to having two distinct overflow rects. (Bug 542595, patch 1) r=roc sr=bzbarsky a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
Ehsan Akhgari 216a0f0f67 Bug 240933 - Part 13: Consider text frame continuations containing only newlines editable; r,a=roc
--HG--
extra : rebase_source : e9f3001867e7992513484b92993a5d6a222273f6
2010-08-13 18:58:26 -04:00
L. David Baron c44e387e04 Clip replaced elements (for now, images, canvases, videos, and windowless plugins) to the border radius. (Bug 485501) r=roc a2.0=blocking:beta6 2010-09-09 08:21:47 -07:00
L. David Baron 58eb6a43d3 Clip contents of elements with overflow != visible to the border radius. (Bug 459144, patch 14) r=roc a2.0=blocking2.0:beta6 2010-09-09 08:21:46 -07:00
Daniel Holbert aba0326d04 Bug 276431 part 3: Make nsImageFrame store an intrinsic ratio separate from its intrinsic size, and accept percentages in its intrinsic size. r=roc a=blocking 2010-09-08 13:40:38 -07:00
L. David Baron f350baca0b Add border-radius-related helper functions to nsIFrame. (Bug 459144, patch 6) r=roc a2.0=blocking:beta6+ 2010-09-07 15:20:35 -07:00
L. David Baron 65e139ce28 Move clamping of border-radii that are too big from nsCSSRendering::ComputePixelRadii to nsIFrame::ComputeBorderRadii. This also fixes a bug in nsDisplayBoxShadowOuter::ComputeVisibility. (Bug 459144, patch 5) r=roc a2.0=blocking:beta6+ 2010-09-07 15:20:35 -07:00
L. David Baron afabd727c0 Move skip-sides handling from nsCSSRendering::ComputePixelRadii to nsIFrame::ComputeBorderRadii. This fixes a bug (ignoring skip-sides) in nsDisplayBoxShadowOuter::ComputeVisibility, and improves the no-border-radius optimizations when skip-sides allow us to take them. (Bug 459144, patch 3) r=roc a2.0=blocking:beta6+ 2010-09-07 15:20:34 -07:00
L. David Baron 8a42fd5b90 Make nsIFrame::ComputeBorderRadii take an nsSize instead of two nscoords. (Bug 459144, patch 2) r=roc a2.0=blocking:beta6+ 2010-09-07 15:20:34 -07:00
L. David Baron 999f84163c Move nsCSSRendering::GetBorderRadiusTwips to nsIFrame and rename it to ComputeBorderRadii. (Bug 459144, patch 1) r=roc a2.0=blocking:beta6+ 2010-09-07 15:20:34 -07:00
Ehsan Akhgari d84bc18024 Back out bug 240933 and bug 590554 because of reftest failure on Win7 and also bug 593211 2010-09-02 19:54:23 -04:00
Ehsan Akhgari bb65502039 Bug 240933 - Part 13: Consider text frame continuations containing only newlines editable; r,a=roc
--HG--
extra : rebase_source : b66535705ec25cd4dca7378424b78cc3bef94e46
2010-08-13 18:58:26 -04:00
Robert O'Callahan 8c37d3bfef Bug 584494 - Regression: Transform rotation testcase performs significantly worse - r=dbaron 2010-09-02 14:07:37 -04:00
Robert O'Callahan 13db12c5b9 Bug 579323. Part 2: Actually fix the bug by calling InvalidateThebesLayersInSubtree from nsIFrame::Redraw. r=dbaron,a=blocking 2010-08-31 12:49:13 +12:00
Robert O'Callahan 6ed294185b Bug 579323. Part 1.8: Rename InvalidateOverflowRect to InvalidateFrameSubtree. r=tnikkel
--HG--
rename : layout/generic/nsFrameFrame.cpp => layout/generic/nsSubDocumentFrame.cpp
extra : rebase_source : f7bd38670a03e8a7f3f8c40838af114be79b06f1
2010-08-31 12:49:12 +12:00
Robert O'Callahan 5023daae20 Bug 579323. Part 1: Add FrameLayerBuilder::InvalidateThebesLayersInSubtree, and call it from InvalidateOverflowRect. r=tnikkel,sr=dbaron
--HG--
extra : rebase_source : c1dbc5b625e23d55ba030709f5cd429122977685
2010-08-31 12:46:26 +12:00
Timothy Nikkel 76e6768d25 Bug 591657. nsWeakFrame needs a copy constructor because the default one does not hook into the presshell. r=smaug,dbaron a=dbaron,blocking beta5+ 2010-08-30 13:37:55 -05:00
Robert O'Callahan 915a02867c Bug 581222. Back out patch that disabled box-shadows for native-themed content elements.
--HG--
extra : rebase_source : 4685dfdddd9e0bf1ed9e5f8401d6bc73b91a5600
2010-08-23 21:30:07 +12:00
Markus Stange b093349bfe Bug 506826 - Fix overlapping frame state bit. 2010-08-13 18:09:58 +02:00
Markus Stange 53d7d30d22 Bug 506826 - Use a frame state bit for recursion detection in SVG pattern drawing. r=roc 2010-08-13 15:32:15 +02:00
Markus Stange eaba422dce Bug 572689 - Make nsSVGRenderingObservers observe elements instead of frames. r=roc 2010-08-13 15:31:31 +02:00
Ehsan Akhgari 489e5fab3f Bug 580869 - Cache the frame found in nsTextFrame::GetChildFrameContainingOffset; r=roc approval2.0=dbaron
--HG--
extra : rebase_source : 3bdd49e0e039c212b5faa8d12bcbdd785da267a4
2010-08-10 11:16:17 -04:00
Dave Townsend 4590036b45 Backed out changeset 8f8ee0543d0f from bug 580869 in the CLOSED TREE
--HG--
extra : rebase_source : 0bfba926d30e0d6fc80bccd4a5614b1532d9234b
2010-08-06 15:01:59 -07:00
Ehsan Akhgari 5105968c9e Bug 580869 - Cache the frame found in nsTextFrame::GetChildFrameContainingOffset; r=roc approval2.0=dbaron
--HG--
extra : rebase_source : c04666fc452be4108ed717686086a5f7baba753d
2010-07-23 17:37:55 -04:00
L. David Baron 7afdbd9a59 Rename float continuations to pushed floats. (Bug 563584, patch 33) r=roc
This patch was generated with the following sed commands on layout/generic/*.{h,cpp}: 's/FLOAT_CONTINUATION/PUSHED_FLOAT/g;s/FloatContinuation/PushedFloat/g;s/float continuation/pushed float/g' plus whitespace fixup where the frame state bits are defined.
2010-08-05 21:59:20 -07:00
L. David Baron e24a4a847e Track which frames were float continuations that need to be pulled to the next block rather than figuring it out again when it's time to pull them. (This allows first-in-flows to be float continuations.) (Bug 563584, patch 12) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron 5dbb4fc493 Replace force-fit with setting mIsTopOfPage correctly. (Bug 563584, patch 5) r=roc 2010-08-05 21:59:19 -07:00
Timothy Nikkel 70d241a01e Bug 563878. Part 7. Change frame, point, rect, region APIs. r=mats sr=roc 2010-07-18 21:23:47 -05:00
Robert O'Callahan 7629433417 Bug 564991. Part 38: Make invalidation-during-paint work reliably. r=mats,sr=dbaron 2010-07-16 09:08:11 +12:00
Robert O'Callahan e5ff8517e3 Bug 564991. Part 25: Introduce a 'has active layers' flag on frames, which times out, and use it for 'opacity'. r=mats,sr=dbaron 2010-07-16 09:08:06 +12:00
Robert O'Callahan 2e3d02e038 Bug 564991. Part 13: Optimize invalidation to avoid repainting ThebesLayer contents sometimes. r=mats,sr=dbaron 2010-07-16 09:07:53 +12:00
Robert O'Callahan b6eddb8fcc Bug 564991. Part 7: Create Begin/EndDeferredInvalidates API so we can catch and defer invalidates on frames (and suppress certain areas completely). r=mats,sr=dbaron 2010-07-16 09:07:50 +12:00
Robert O'Callahan 496811aed4 Bug 564991. Part 2: Create retained layer API: methods on FrameLayerBuilder that frames can use to access, reuse and invalidate retained layers. r=mats,sr=vlad 2010-07-16 09:07:46 +12:00
Robert O'Callahan 4a3fae344e Bug 564991. Part 1: Create a new kind of frame property that can receive a frame pointer when its destructor is called. r=mats 2010-07-16 09:07:45 +12:00
Timothy Nikkel 1259443af7 Bug 563878. Part 5. Rename nsIFrame::GetWindow(Offset) to GetNearestWidget. r=mats 2010-07-02 14:11:04 -05:00
Markus Stange c7c192f3a7 Bug 572697 - Add frame types eSVGGeometry and eSVGPaintServer. r=roc
--HG--
extra : rebase_source : c4f39637b2e251d851cbbd3dadc91a516fd93e4b
2010-07-01 18:40:19 +02:00
Alexander Surkov 65c355c8a7 Bug 573706 - make frame based accessible creation more pellucid, r=davidb, sr=roc 2010-06-28 21:02:03 +09:00
Ginn Chen 8b0322b1e8 Bug 571211 Sun Studio doesn't support 64bit enum for 32bit mode r=dbaron 2010-06-27 00:55:05 +08:00
Rob Arnold ext:(%20%26%20Robert%20O%27Callahan%20%3Crobert%40ocallahan.org%3E) 951a8a32a4 b=555133 Attempt to infer whether or not theme parts are transparent r=roc,rob sr=vlad 2010-06-11 10:53:57 +12:00
Karl Tomlinson cc75c71979 backout ce0bec337cdd due to bad message 2010-06-11 10:53:01 +12:00
Rob Arnold ext:(%20%26%20Robert%20O%27Callahan%20%3Crobert%40ocallahan.org%3E) 0ff5253328 Attempt to infer whether or not theme parts are transparent r=roc,rob sr=vlad
--HG--
rename : layout/mathml/mathfontSTIXSize1.properties => layout/mathml/mathfontSTIXSizeOneSym.properties
extra : rebase_source : 0500c9e1f6cabd42bd56e5e69b1af3c30c7045cd
2010-06-11 10:25:15 +12:00
L. David Baron 0d78680576 Use 64 bits for frame state. (Bug 570837) r=roc 2010-06-08 22:28:14 -07:00
L. David Baron e272b3a13d 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
Simon Montagu 85a1e8061a Don't split frames in bidi resolution that have the same resolved directionality but different character types. Bug 399850, r=ehsan, roc 2010-05-10 23:14:05 -07:00
Mats Palmgren f4d91f2af0 Backout wrong fix for bug 547338. 2010-04-28 19:47:23 +02:00
Mats Palmgren ec17ad365a Remove the VerticalScroll() before layout, nsListBoxBodyFrame does that in its post reflow callback. b=547338 r=roc 2010-04-27 18:15:02 +02:00
Bill Gianopoulos 3387c15d67 Bug 555727: Stop MSVC from over-optimizing NS_DECLARE_FRAME_PROPERTY. r=dbaron 2010-04-03 16:21:53 -04:00
Ehren Metcalfe a791e19cc4 Bug 556446: Remove dead code in layout. r=roc,bz 2010-04-03 07:36:19 -04:00
L. David Baron 4cf0bf0c58 Add function to nsStyleUtil for choosing the appropriate color from style data based on link visitedness. (Bug 147777) r=bzbarsky 2010-04-02 18:58:25 -07:00
Masayuki Nakano f88647e545 Bug 554822 Caret should refer the actual text color instead of the value of CSS color property r=roc 2010-04-01 11:35:48 +09:00
Jim Mathies e8db46f043 Backout bug 555133 to fix bug 555950. 2010-03-31 12:55:41 -05:00
Rob Arnold 0feeddc29f Bug 555133 - Attempt to infer whether or not theme parts are transparent r=roc sr=vlad 2010-03-29 15:24:40 -04:00
Robert O'Callahan a27c78da5a Bug 545049. Capture the pre-transform overflow area of a frame and use it in InvalidateOverflowArea. r=mats 2010-03-29 14:46:58 +13:00
Robert O'Callahan 0fd1837981 Bug 551660. Switch layout code from using nsPropertyTable to FramePropertyTable. r=mats,sr=dbaron 2010-03-29 14:46:55 +13:00
Masayuki Nakano 71ab14e537 Bug 553975 Caret is painted under textframe in input/textarea element r=roc 2010-03-27 13:33:17 +09:00
Neil Deakin b66e7be3ef Bug 544472, eliminate duplicate calls to AddCSS*** methods, plus some minor related code cleanup, r=dbaron 2010-03-18 15:58:15 -04:00
Mats Palmgren e5f8b2f7e8 Bug 544852, part 1: Remove nsCaret::GetCaretCoordinates. r=roc 2010-03-14 23:52:07 +01:00
Michael Ventnor ace5e1d018 Bug 542361 - Fix and remove the GetUsedX assertions r=roc
--HG--
extra : rebase_source : 6bdb0e3251e955ced01476a2255e9ebc511c884b
2010-03-02 11:57:43 +10:00
Dão Gottwald a6c411fa84 Backed out changeset 8c2e7ae5cceb because of test_bug398289.html failure 2010-02-04 17:16:39 +01:00
Michael Ventnor 50f557ed9e Bug 542361 - Fix and remove the GetUsedX assertions. r=roc,dbaron 2010-02-04 14:58:02 +01:00
Robert O'Callahan 96a17b8b42 Bug 526394. Part 32: Remove code that only existed so that scrollframes could have views. r=mats 2010-01-12 10:45:19 +13:00
Robert O'Callahan d5b09287dc Bug 526394. Part 4: Obsolete nsIScrollableViewProvider by adding nsIFrame::GetScrollTargetFrame. r=mats,sr=dbaron 2009-09-01 23:22:31 +12:00
fantasai 3027a2127b Bug 508473 part III: Pass destruction root to frame destruction methods r=bz sr=roc 2009-12-24 00:21:15 -05:00
fantasai b27eacbc1d Bug 508473 Part II: Remove DeletingFrameSubtree r=bz sr=roc 2009-12-24 00:20:41 -05:00
fantasai b8f6ad289d Bug 508473 Part I: Remove nsIFrame::RemovedAsPrimary r=bz sr=roc 2009-12-24 00:20:20 -05:00
L. David Baron 21c9bd0852 Fix bustage from bug 530686. 2009-12-12 12:06:12 -08:00
Robert O'Callahan 5c87a2d633 Bug 530686. Only create an nsDisplayTableBorderBackground when it's going to have something to paint, since having one can disable some scrolling optimizations. r=dbaron 2009-12-12 10:50:30 -08:00
David Bolter f82359dcea Bug 525579 - topcrash [@ nsAccessibilityService::GetAccessible(nsIDOMNode*, nsIPresShell*, nsIWeakReference*, nsIFrame**, int*, nsIAccessible**)] (thanks dbaron) r=roc,surkov 2009-11-16 09:03:53 -05:00
Boris Zbarsky 2ba57b5fb5 Bug 501847 part 4. Change frame construction to create {ib} splits that have blocks wrapping runs of block kids and inlines wrapping runs of inline kids instead of wrapping all kids from the first block to the last block in a single block. r=tn,dbaron,roc 2009-09-18 14:00:21 -04:00
Boris Zbarsky ba8c31506f Bug 512336. Make frame lists doubly-linked. r=roc,fantasai 2009-10-02 12:27:37 -04:00
Robert O'Callahan d3999577a2 Bug 508495. Remove CreateWidgetForView from nsIFrame and nsObjectFrame since it's no longer used there. r=dbaron
--HG--
extra : rebase_source : c400af6f507ea046e952b9c612dc2d7fca00ff91
2009-09-30 07:32:43 +10:00
Boris Zbarsky 7761f7af77 Bug 512471. Make nsBlockFrame's mFrames track its principal child list. r=roc,fantasai 2009-09-29 15:47:05 -04:00
Robert O'Callahan 1da8163981 Bug 510110. Extend MozAfterPaint event to contain list of PaintRequest objects with information about individual invalidations. r=dbaron,sr=jst
--HG--
extra : rebase_source : 0e8b9f424d50c2d9e346f7ff15834202a6c101d1
2009-09-04 16:49:18 +12:00
Mats Palmgren eb7a0b3a40 Bug 233463, patch 4 - Make nsIFrame::mNextSibling private. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren 1a7f096af8 Bug 233463, patch 2 - Introduce nsFrameList::mLastChild member for fast access to the last sibling frame. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren dea07412a1 Replace PR_MIN/PR_MAX with NS_MIN/NS_MAX. b=512106 r=roc 2009-09-16 17:01:36 +02:00
Neil Deakin 51b0e867e6 Bug 503943, add mouse capturing api to elements, remove capturing from views, r=roc,sr=smaug 2009-09-13 09:13:16 -04:00
Zack Weinberg d47e0f433b 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
Neil Deakin cef5702d08 Bug 503943, back out mouse capture patch, CLOSED TREE 2009-09-10 12:11:41 -04:00
Neil Deakin 6d007b6255 Bug 503943, add mouse capturing api to elements, remove capturing from views, r=roc,sr=smaug 2009-09-10 08:51:36 -04:00
fantasai b2ea1d69bb Bug 492627 - Remove Placeholder Continuations [Part IV: Switch float layout APIs to pass float directly, without placeholder] r=roc 2009-08-31 11:25:35 -07:00
Robert O'Callahan 4453cced60 Backed out changeset e2927bb26412 2009-08-26 14:49:18 -07:00
Zack Weinberg 64f6d4d0dd 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

--HG--
extra : rebase_source : ee672a17934227b408b83dc6b5cc4e4909652f72
2009-08-26 09:27:42 -07:00
Zack Weinberg 430c5ceb95 Bug 510651: Fold nsIFrameDebug into nsFrame. r=dbaron sr=mrbkap 2009-08-20 14:52:48 -07:00
Robert O'Callahan 2496b1ab4e Bug 504524. Change signature of nsIFrame: of nsIFrame::CharacterDataChanged to support passing of the full CharacterDataChangeInfo struct. r=bz
--HG--
extra : rebase_source : cdab9444f579d6b93e142ad8681152ecd180f818
2009-08-05 13:38:10 +12:00
Boris Zbarsky b7b105f657 Bug 502942. Make fieldsets use their content's last-line baseline. r=dbaron 2009-08-03 10:42:59 -04:00
Robert O'Callahan cc3fc234ee Bug 506615. XUL decks should not have wididgets. r=dbaron 2009-07-30 14:54:42 +12:00
Boris Zbarsky 811394b5da Bug 281387. Make nsIFrame::Append/InsertFrames use nsFrameList. r=bernd,roc, sr=dbaron 2009-07-30 13:23:32 -04:00
Boris Zbarsky 2a78273130 Relanding bug 496823 in the hopes that it's not causing the XP Txul issue.
--HG--
extra : rebase_source : 593d43b5c229e077e4454d848dba59265dee6b58
2009-07-29 08:53:27 -04:00
Boris Zbarsky 51ea3f4f6e Backed out changeset 622a29736f33 to see whether bug 496823 causes the WinXP Txul regression.
--HG--
extra : rebase_source : 450a2a83442a2326e303f97ad82d8213fbe11490
2009-07-28 14:35:28 -04:00
Boris Zbarsky 4929e54f32 Bug 504972. Remove some redundant code. r=roc 2009-07-28 08:53:20 -04:00
Boris Zbarsky 1ef12b64a7 Bug 504221 part 12. Switch SetInitialChildList to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:53:20 -04:00
Boris Zbarsky cf7d0b6141 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 8d1ea3ae7a Bug 504221 part 1. Introduce framelist slice and enumerator classes and make the framelist versions of nsFrameList::AppendFrames/InsertFrames return a slice for the new frames. r=fantasai, r+sr=roc 2009-07-28 08:51:08 -04:00
Boris Zbarsky 1950f2e7c4 Bug 496823. Blocks can implement GetLastChild() much faster than by just getting first child and iterating its siblings. r=roc 2009-07-26 21:27:32 -04:00
Robert O'Callahan 8bab94a96a Bug 371839. Simplify SetSelected signature and semantics, and reimplement it in nsTextFrame much more efficiently. r=bzbarsky
--HG--
extra : rebase_source : 18c390e3ebd09de82b1a23699c56b741f928ca37
2009-07-27 10:05:41 +12:00
Boris Zbarsky 09eadb9ca6 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
Robert O'Callahan dce2b0d98a Bug 339548. Part 9: Create nsRootPresContext::UpdatePluginGeometry, and use it. Make nsObjectFrame manage its widget directly. 2009-07-22 12:45:00 +12:00
Robert O'Callahan 309225cfa5 Bug 500632. Suppress invalidation caused by parts inside collapsed scrollbars. r=dbaron 2009-07-22 12:44:49 +12:00
Jonathan Kew 68b13a1a71 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 6da50998ea 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
Mats Palmgren 36729e6796 Keep track of the line container and forget the current line if it's for a different container. b=444027 r+sr=roc 2009-02-10 10:23:05 +01:00
Arpad Borsos c0f2dadc80 Bug 474369 - get rid of nsVoidArray; layout part; r+sr=roc 2009-02-03 15:42:18 +01:00
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
Markus Stange 5b8093539a Forgot to add the braces in changeset 58f409bbc149 (bug 391984) 2008-12-15 14:43:31 +01:00
Markus Stange a5dc4569b8 Bug 391984 - [10.5] Add roundness to context menus, r=josh sr=roc 2008-12-11 15:37:38 +01:00
Jeff Walden e5e8a86e73 imported patch nsIFrame.patch 2008-11-19 20:42:55 -08:00
Benjamin Smedberg ae14b3d6aa 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 292d44b1a8 Backed out changeset d4c9a0776667 (deCOM nsILineEnumerator) due to regression from it or bug 461212 2008-10-28 02:49:14 -04:00
Benjamin Smedberg 87c2e7ef23 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
Bernd b80ae60f0a 2 try 2008-10-26 12:21:47 +01:00
Bernd 867fdf2cb0 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 bc51ece93b 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
L. David Baron da3721ca17 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
Robert O'Callahan fa9c29cdcd 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 4fc9cfd0c6 Backing out bug 455984 to see if it fixed Tp crashes 2008-10-01 00:28:20 +13:00
Robert O'Callahan 4fdd181cd0 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 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 b7f3ce1f50 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 87878e68eb Bug 454766 - Add suggested parentheses to layout/; r+sr=roc; (with nits by sgautherie) 2008-09-15 17:40:25 +02:00
Keith Schwarz 48a87265ac Bug 435293. Implement CSS transforms. r=dbaron,r+sr=roc 2008-09-13 21:42:11 +12:00
Graeme McCutcheon bc94c13609 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
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
Boris Zbarsky bd67eb6f6f 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
Robert O'Callahan bb9a3c58d4 Bug 441418. Instead of guessing when frame broke at a first-letter boundary, explicitly record that in a reflow status bit. r+sr=dbaron 2008-08-06 12:31:25 +12:00
Boris Zbarsky e915fa1342 Bug 430356. Don't return negative pref and min intrinsic widths for XUL boxes/ r+sr=dbaron 2008-07-28 23:07:28 -07:00
Robert O'Callahan 7644127121 Bug 444688. Use an IsFrameOfType check instead of a frame state bit to detect whether a frame excludes ignorable whitespace children. r+sr=dbaronlayout 2008-07-14 10:41:18 +12:00
Michael Ventnor 77451fb4e4 Bug 212633 - "Add support for CSS3 box-shadow" (rendering support) [p=ventnor.bugzilla@gmail.com (Michael Ventnor) r+sr=roc] 2008-07-07 19:57:47 -05:00
Benjamin Smedberg 556cf36dc9 Bug 442729 - Annotate stack-only classes in layout, r+sr=roc 2008-07-01 15:16:45 -04:00
Kai Liu 42b61613c3 Bug 422607: avoid unneeded pixel/twip conversions to fix bookmarks menu aligment issues, r=enndeakin, sr=roc 2008-06-15 21:26:41 -04:00
roc+@cs.cmu.edu d8e8b9dda2 Bug 398332. Merge reflow statuses from out-of-flow frames more carefully so that we don't lose information about the primary reflow. r=fantasai,r+sr=dbaron,a=shaver 2008-05-28 06:39:41 -07:00
fantasai.cvs@inkedblade.net c799e1aaed consider relevant overflow when balancing columns (fixes various crashes and hangs) b=404215 r+sr=roc a=beltzner 2008-04-18 00:40:35 -07:00
roc+@cs.cmu.edu f270904496 Bug 392809. Fix word-based caret movement around punctuation and whitespace. r=smontagu,a=beltzner 2008-03-03 00:37:34 -08:00
dbaron@dbaron.org 29a306a18f Prevent margin expansion from interfering with table caption position. Based on patch by Mats Palmgren. b=363248 r+sr=roc a=blocking1.9+ 2008-02-26 18:02:50 -08:00
reed@reedloden.com e59cccedde Bug 391559 - "Incorrect ordered-list numbering within -moz-column-* (and/or numbering changes when clicked)" [p=craig.topper@gmail.com (Craig Topper) r+sr=roc a1.9=beltzner] 2008-02-23 23:31:29 -08:00
fantasai.cvs@inkedblade.net 2f230818c7 switch GetOverflowAreaProperty callers to GetOverflowRect b=417116 r+sr=roc a=roc 2008-02-19 23:08:55 -08:00
bzbarsky@mit.edu 3a6834eaac Fix bug 416073: invalidate more things as needed during table reflow to prevent glitches. r+sr=roc 2008-02-08 01:36:32 -08:00
dbaron@dbaron.org f970a9abc8 Push scrollframes, tables, and other blocks that don't participate in float formatting down when they don't fit next to floats. b=134706,349255 r+sr=roc a=blocking1.9+ 2008-01-28 23:40:05 -08:00
fantasai.cvs@inkedblade.net 3cf5f1aeed handle dynamic insertion with overflow containers properly, b=403369 r=bzbarsky sr=roc 2008-01-27 00:13:19 -08:00
dwitte@stanford.edu 7e454eebf6 get rid of nsStyleStruct base type. b=408933, r+sr=dbaron, a=beltzner 2008-01-10 12:56:49 -08:00
roc+@cs.cmu.edu fcd171df95 Bug 404146. Advancing through nsContainerFrame next-in-flows can make our InlineData->line invalid, so just null it out if it might have become invalid. r+sr=dbaron 2008-01-09 19:18:44 -08:00
roc+@cs.cmu.edu 3327ae5ee9 Bug 405380. Bidi reordering moves frames around so we can't trust pfd->mBounds in nsLineLayout::RelativePositionFrames. r+sr=dbaron 2007-12-11 16:42:20 -08:00
roc+@cs.cmu.edu 350892fb62 Bug 407155. Backing out 392809 to fix regressions. a=schrep 2007-12-07 01:35:44 -08:00
roc+@cs.cmu.edu fed73e9f6a Bug 392809. Break between whitespace and following punctuation even when stop_at_punctuation is false. Don't stop between punctuation and following non-punctuatino if the preceding punctuation follows white-space. r=smontagu 2007-12-04 18:11:17 -08:00
roc+@cs.cmu.edu efa3189859 Bug 399531. Rework TrimTrailingWhitespace so that we recompute the overflow area for trimmed textframes and so that soft hyphens in otherwise-empty textframes are activated. r+sr=dbaron 2007-12-01 01:24:24 -08:00
Olli.Pettay@helsinki.fi a0a74f16e7 Bug 368760, r=mats, sr=roc, a=blocking1.9+ 2007-11-22 12:47:33 -08:00
jwatt@jwatt.org d308285bb4 Fixing bug 294086. <svg> should be a replaced element. r+sr=dbaron@mozilla.com blocking1.9=tor@acm.org 2007-11-18 04:09:03 -08:00
enndeakin@sympatico.ca cb92454492 Bug 394600, address bz's additional popup reworking comments, add tests for removing popups, r+sr=bz,a=beltzner 2007-11-17 07:47:38 -08:00
mats.palmgren@bredband.net e33b99bebb Use async version of Invalidate() to avoid flushing pending notifications. Also, document this aspect of the Invalidate() API. b=402198 r+sr=roc a=mtschrep 2007-11-09 16:51:02 -08:00
reed@reedloden.com e09a2143a3 Bug 391584 - Pass around a context string so we can detect word breaks at the beginning or end of frames [p=roc r=smontagu a=blocking1.9+] 2007-11-07 20:33:28 -08:00
roc+@cs.cmu.edu 036806699a Bug 397518. Wrap inline non-MathML children of MathML frames in anonymous blocks. r+sr=bzbarsky 2007-10-12 01:30:54 -07:00
tglek@mozilla.com 8cf3fb1c90 Clean up prbool misuse in layout. bug 398312, r+sr+a=dbaron 2007-10-09 17:00:05 -07:00
roc+@cs.cmu.edu 9a93a48ef0 Bug 385607. Ensure that whitespace is collapsed across text-run boundaries across incremental updates like adding/removing frames in the middle of the textrun. r+sr+a=dbaron 2007-09-17 20:00:16 -07:00
roc+@cs.cmu.edu bbc848d48f Bug 389421. Rework word selection, in particular so that layout.word_select.stop_at_punctuation is applied to boundaries between punctuation and non-punctuation, and all Unicode punctuation is treated as punctuation. 2007-08-29 20:10:19 -07:00
philringnalda@gmail.com 42675246db Bug 390423 - Simplify the signature of nsIFrame::GetPointFromOffset, patch by Ben Karel <web+moz@eschew.org>, r=aaronlev/elif, sr=roc, a1.9=dbaron 2007-08-16 20:43:00 -07:00
roc+@cs.cmu.edu 25a3f52e56 Backing out fix for bug 385607 due to bustage and Tp regressions 2007-08-09 21:41:00 -07:00
roc+@cs.cmu.edu ad74d94b42 Bug 385607. Force re-evaluation of textruns when block descendants are deleted or added. 2007-08-09 19:49:28 -07:00
aaronleventhal@moonset.net e74bc44b8b bug 348901. Remove extra whitespace from source when exposing accessible text. r+sr=roc, r=surkov. a=dbaron 2007-08-03 18:12:24 -07:00
roc+@cs.cmu.edu a28eeaaafd Bug 379349. Add support for 'overflow containers' --- special frame continuations that do not map any content of their own, but serve only as containers for laying out children that overflowed their parents' content height. patch by fantasai, r+sr=eli,roc 2007-07-25 21:03:29 -07:00
asqueella@gmail.com 2604465594 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
jwalden@mit.edu 804f30a419 Rename one of the bits on frames with a meaningful name, rs/r+sr=dbaron 2007-07-20 17:34:36 -07:00
jwalden@mit.edu aed6f06159 Bug 386142 - fix up some comments on nsIFrame::Init. Patchby fantasai <fantasai.bugs@inkedblade.net>, r+sr=roc 2007-07-20 12:00:36 -07:00
neil@parkwaycc.co.uk 10de8387c8 Followup to bug 348748 to fix the alignment of trailing backslashes in macros
[xxx_cast<foo*>(bar) is three characters shorter than NS_XXX_CAST(foo*, bar)]
2007-07-11 01:46:44 -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
sharparrow1@yahoo.com f8eb726afe Bug 386141: Switch NS_FRAME_IS_BOX to use IsFrameOfType. Patch by fantasai, r+sr=roc. 2007-07-03 15:11:28 -07:00