Commit Graph

201 Commits

Author SHA1 Message Date
Chris Jones
4820da2166 Merge m-c --> cedar 2010-09-08 17:25:30 -05:00
L. David Baron
a9d5fab154 Add a (wrapping) display item that clips its contents to the curvature of a border-radius. (Bug 459144, patch 13) r=roc a2.0=blocking2.0:beta6 2010-09-09 08:21:46 -07:00
L. David Baron
cec33102e4 Remove unneeded nsDisplayClip::mClippingFrame. (Bug 459144, patch 11) r=roc a2.0=blocking2.0:beta6 2010-09-09 08:21:46 -07:00
Chris Jones
29a74cf7e8 Bug 590294, part 8: Implement resolution-scaled drawing for basic layers. r=roc 2010-09-03 15:10:46 -05:00
Chris Jones
26466ba198 Bug 590294, part 5: Add a setDisplayPort() API to allow the frontend (or whatever else) to set an arbitrary visible region for the purposes of invalidation and layer retaining. r=roc sr=dbaron 2010-09-03 15:10:46 -05:00
Chris Jones
c3e279df85 Bug 590294, part 3: Keep ContainerLayer type info around in a few places. r=roc 2010-09-03 15:10:45 -05:00
L. David Baron
867c202386 Use nsIFrame::GetBorderRadii so that we pick up when it is overridden. (Bug 459144, patch 7) r=roc a2.0=blocking:beta6+ 2010-09-07 15:20:35 -07:00
L. David Baron
fb568df1f4 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
59ce09e952 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
228dbed13a 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
452d0afadd 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
Timothy Nikkel
ada83800d7 Bug 591435. Need to honour paint suppression in subdocuments. r=roc a=blocking beta6+ 2010-09-01 15:44:48 -05:00
Zack Weinberg
38c9db7305 Bug 471643: Evaluate vertical percentages in border-radius relative to box height. r=dbaron a2.0=blocking:beta6+ 2010-08-31 12:05:11 -04:00
Robert O'Callahan
c02234511d Bug 590468. Part 6: Fix setting of nsDisplayList::mOpaque, and return it from nsDisplayWrapList::IsOpaque. r=tnikkel 2010-08-27 18:15:08 -05:00
Robert O'Callahan
4e218eafbb Bug 581222. Ensure that the bounds for opaque native-theme backgrounds are correct. r=tn
--HG--
extra : rebase_source : 0f660f659bf4240713de6e034b4dc8bd88dfb10e
2010-08-23 21:30:08 +12:00
Robert O'Callahan
812e6204ae Bug 584282. Use nsDisplayItem::ToReferenceFrame() instead of calling nsDisplayListBuilder::ToReferenceFrame, wherever possible. r=tnikkel,a=dbaron
--HG--
extra : rebase_source : 730ba8640cb37bd8484ff069b5d6fd46d9bc3e84
2010-08-13 22:01:58 +12:00
Robert O'Callahan
a581cd6197 Bug 584282. Add nsDisplayItem::mToReferenceFrame and initialize it in the constructor. r=tnikkel,a=dbaron
--HG--
extra : rebase_source : 496cbde7c495eb8872c3d0ffc0ca4c57c2a6a777
2010-08-13 22:01:13 +12:00
Mark Banner
32648806db Backed out changeset f600448ae7db / bug 471643 due to reftest failures 2010-08-19 09:27:01 +01:00
Zack Weinberg
531e232c65 Bug 471643: Make vertical percentages in border-radius relative to box height. r=dbaron 2010-08-19 09:45:32 +02:00
Robert O'Callahan
0b542b46ed Bug 579258. Remove the 'before move' region parameter to ComputeVisibility. r=tnikkel,a=joe 2010-08-13 21:55:54 +12:00
Robert O'Callahan
b004c93cb1 Bug 579258. Change IsVaryingRelativeToMovingFrame to take the 'moving frame' as a direct parameter instead of getting it from the builder. r=tnikkel,a=joe 2010-08-13 21:54:37 +12:00
Timothy Nikkel
308d16ff7b Bug 579663. Part 5. Make display zoom items create a container layer. r=roc 2010-08-08 13:49:06 -05:00
Timothy Nikkel
bbc6dff559 Bug 579663. Part 1. Remove unused offset param from GetActiveScrolledRootFor. r=roc 2010-08-08 13:49:06 -05:00
Matt Woodrow
a580694478 Bug 505115. Use layers to render active 2D transforms. r=roc,dbaron 2010-08-02 15:07:04 +12:00
Robert O'Callahan
5eaac34d84 Bug 579250. Revamp unified-titlebar interface so that we can tell nsNativeThemeCocoa about toolbars even if they're not actually painted. r=mstange 2010-07-24 21:35:29 +12:00
Robert O'Callahan
2608584bee Bug 562833. Set proper alignment for display items. r=dbaron 2010-07-20 13:29:25 +12:00
Timothy Nikkel
25663b3497 Bug 563878. Part 13. Implement zoom display list item to handle document hierarchies where zoom is not constant. r=mats sr=roc 2010-07-18 21:23:48 -05:00
Robert O'Callahan
c5cdc8c894 Bug 564991. Part 44: Move IsFixedAndCoveringViewport implementation to nsDisplayBackground so it can work on any frame, not just the canvas background. r=tnikkel 2010-07-16 09:08:12 +12:00
Robert O'Callahan
2b0f4a408a 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
4e94c263b7 Bug 564991. Part 35: Fix text decorations to have a unique GetPerFrameKey. r=tnikkel 2010-07-16 09:08:10 +12:00
Robert O'Callahan
e98a518e3c Bug 564991. Part 34: Make sure that ThebesLayerBuffers are always allocated as similar surfaces to the widget surface, whenever possible. r=cjones 2010-07-16 09:08:10 +12:00
Robert O'Callahan
efa400c1bc Bug 564991. Part 31: Don't cull display items in nsDisplayList::ComputeVisibility. r=mats 2010-07-16 09:08:09 +12:00
Robert O'Callahan
c5362bf642 Bug 564991. Part 26: Put background-attachment:fixed backgrounds that propagated to the canvas in their own layer. r=mats,sr=dbaron 2010-07-16 09:08:06 +12:00
Robert O'Callahan
1cbc86420d 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
d09c39d0a9 Bug 564991. Part 23: Introduce the concept of 'inactive' layers. r=mats,sr=dbaron 2010-07-16 09:08:05 +12:00
Robert O'Callahan
9ac2bf6f05 Bug 564991. Part 16: Improve performance by putting each scrollbar in its own layer. Also note that Mac scrollbars are opaque. r=mats,sr=dbaron 2010-07-16 09:08:03 +12:00
Robert O'Callahan
fa8f373bc3 Bug 564991. Part 14: Scroll using the layer system. r=mats,sr=dbaron 2010-07-16 09:08:02 +12:00
Robert O'Callahan
8e44ae607d Bug 564991. Part 12: Refactor RenderDocument to use nsLayoutUtils::PaintFrame. r=mats 2010-07-16 09:07:52 +12:00
Robert O'Callahan
5bf4f6d915 Bug 564991. Part 11: Start retaining layer trees. r=mats 2010-07-16 09:07:51 +12:00
Robert O'Callahan
cc872e7c9e Bug 564991. Part 9: Retain layer trees. r=tnikkel,sr=mats 2010-07-16 09:07:51 +12:00
Michael Ventnor
8139bee929 Bug 564991. Part 3: Create unique nsDisplayItem types for every single display item. r=tnikkel 2010-07-16 09:07:49 +12:00
Robert O'Callahan
a7c0fe60ac 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
Mats Palmgren
a1c32a5075 Bug 556432 - Dragging a content selection shows non-selectable text in the drag feedback. r=roc 2010-07-12 22:24:33 +02:00
Timothy Nikkel
976046bf62 Bug 563878. Part 5. Rename nsIFrame::GetWindow(Offset) to GetNearestWidget. r=mats 2010-07-02 14:11:04 -05:00
Jesse Ruderman
681b0a4b53 Bug 573209 - stop pretending that nsDisplayListBuilder is only allocated on the stack. r=roc 2010-06-21 09:21:41 -07:00
Rob Arnold ext:(%20%26%20Robert%20O%27Callahan%20%3Crobert%40ocallahan.org%3E)
95f0307543 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
d9f67b344a 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)
b3c3976708 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
Timothy Nikkel
0d8eb620e3 Bug 563878. Part 1c. Misc layout cleanup. r=mats
(transplanted from 2c4a36b7e9ea2125b9daaab242202be4c34e46a5)

--HG--
extra : transplant_source : %2CJ6%B7%E9%EA%21%25%B9%DA%AA%B2B%20%2B%E4%C3NF%A5
2010-06-05 15:29:49 -05:00
Robert O'Callahan
5cb6f06477 Bug 564993. Part 5: Change ThebesLayer painting to be callback-based; move layer tree construction to FrameLayerBuilder. r=Bas,mats,sr=vlad 2010-05-21 15:20:48 +12:00
Robert O'Callahan
491e959191 Backed out changeset b37bdb032fe7 2010-05-24 10:53:05 +12:00
Robert O'Callahan
f3c689bd37 Bug 564993. Part 5: Change ThebesLayer painting to be callback-based; move layer tree construction to FrameLayerBuilder. r=Bas,mats,sr=vlad 2010-05-21 15:20:48 +12:00
Robert O'Callahan
6709a65d60 Backed out changeset efa8719a93d2 2010-05-21 16:34:23 +12:00
Robert O'Callahan
ddda37f6c8 Bug 564993. Part 5: Change ThebesLayer painting to be callback-based; move layer tree construction to FrameLayerBuilder. r=Bas,mats,sr=vlad 2010-05-21 15:20:48 +12:00
Robert O'Callahan
ed549b0dfb Bug 561959. Replace solid-color ThebesLayers with ColorLayers. r=dbaron 2010-05-13 12:56:11 +12:00
Robert O'Callahan
9fd70ebbb2 Backed out changeset 054698c2cb8f
--HG--
extra : rebase_source : 82b51116ca334c0853ace7f73b6f019831624d89
2010-05-13 14:21:53 +12:00
Robert O'Callahan
59fca1ba45 Bug 561959. Replace solid-color ThebesLayers with ColorLayers. r=dbaron 2010-05-13 12:56:11 +12:00
Robert O'Callahan
5b63e43695 Bug 564993. Part 3: Split nsDisplayList::Paint into PaintForFrame and PaintRoot. Set the visible rect on the root layer from PaintRoot, let the visible rects of other layers be set when they're placed in their containers. r=mats 2010-03-11 09:55:05 +13:00
Robert O'Callahan
d1e569cf6b Bug 564993. Part 2: Don't flatten the layer tree in layout. r=mats 2010-03-04 14:01:45 +13:00
Robert O'Callahan
e3bea40661 bug 563864. Add mozPaintCount API. r=smaug,sr=vlad 2010-05-13 12:56:08 +12:00
Felipe Gomes
960464193b Bug 489127 - nodesFromRect required for better usability on mobile devices (part 1+2) [r=roc] 2010-04-07 20:31:26 -04:00
Ehren Metcalfe
e0ac5d5547 Bug 556446: Remove dead code in layout. r=roc,bz 2010-04-03 07:36:19 -04:00
L. David Baron
0b57ef51cd Use the appropriate color based on visitedness for 'outline-color'. (Bug 147777) r=zweinberg 2010-04-02 18:58:26 -07:00
L. David Baron
7ff92ec1fa Use the appropriate color based on visitedness for nsCSSRendering::PaintBorder users of the 'border-*-color' properties. (Bug 147777) r=zweinberg 2010-04-02 18:58:26 -07:00
L. David Baron
68d7839f41 Make PaintBackgroundWithSC and related methods operate on nsStyleContext* rather than const nsStyleBackground*. (Bug 147777) r=zweinberg 2010-04-02 18:58:26 -07:00
Boris Zbarsky
2faa95d890 Bug 552334. Deal with z-indices whose difference overflows a 32-bit signed int. r=roc 2010-04-01 22:09:05 -04:00
Jim Mathies
d4cc6d9831 Backout bug 555133 to fix bug 555950. 2010-03-31 12:55:41 -05:00
Rob Arnold
9ffd5134c3 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
9a2ed61b34 Bug 551660. Switch layout code from using nsPropertyTable to FramePropertyTable. r=mats,sr=dbaron 2010-03-29 14:46:55 +13:00
Craig Topper
6c9540a26d Bug 253889: More deCOMtamination of nsIPresShell. r=roc 2010-03-28 19:21:11 -04:00
Robert O'Callahan
b77e4201aa Bug 538266. Part 4: Fix setting of visible region to account for any transforms that have been set on the layer. r=dbaron 2010-03-02 12:08:28 +13:00
Robert O'Callahan
7b7b905989 Bug 550716. Snap layer bounds to nearest bpixels instead of outside pixels, to accurately reflect what we draw. r=mats
--HG--
extra : rebase_source : 08e3f6af4cc46e193593039a5196b0ee82defa60
2010-03-10 13:15:22 +13:00
Robert O'Callahan
11a3d788af Bug 534425. Part 6: Let nsIWidgets expose a LayerManager to be used to render into the widget, instead of nsPaintEvent::renderingContext which is removed since it's no longer needed. Currently all widgets fall back to a default BasicLayerManager implementation. Also change nsPaintEvent::region to be an nsIntRegion, and get rid of nsPaintEvent::rect since it's redundant. 2010-03-01 21:03:49 +13:00
Robert O'Callahan
b69921495b Bug 534425. Part 4: Implement nsDisplayList::Paint using layers. r=mats,sr=dbaron 2010-03-01 20:56:19 +13:00
Robert O'Callahan
8e327b88bf Bug 516885 / Bug 525375: Fix (harmless) assertions due to nsDisplayTransform passing non-null aVisibleRegionBeforeMove. r=dbaron 2009-12-12 13:27:15 -08:00
Robert O'Callahan
6780628363 Bug 530686. Don't redraw box-shadows over the bounding rect of the dirty region; just redraw them over a (somewhat simplified) dirty region. r=dbaron 2009-11-30 18:14:04 -05:00
Robert O'Callahan
5f8b8b6cc8 Bug 523911. Content that's not moving, that's positioned over uniform content that is moving, does not need to be repainted. r=dbaron 2009-11-04 07:39:42 +13:00
Robert O'Callahan
56aad34bd4 Bug 516885. Pass separate visible-before-move and visible-after-move regions into ComputeVisibility, to make code clearer because we don't have to overload a single region, and which also lets us fix ambiguities related to clipping. r=dbaron 2009-10-07 17:28:41 +13:00
Robert O'Callahan
d56dfa741e Bug 513082. Instead of passing aDirtyRect to nsDisplayItem::Paint, have nsDisplayList::OptimizeVisibility (renamed to ComputeVisibility) compute the intersection of the visible region with the bounds of each display item and store the result in the item's mVisibleRect. This lets us do less work to paint display items which have a small intersection with the visible region but a large intersection with the bounding-box of the visible region. r=dbaron
--HG--
extra : rebase_source : 76db4b87ef9e5a6e9de7677edc08c26e2cbc462e
2009-09-07 12:35:14 +12:00
Robert O'Callahan
b45fe9a213 Bug 516740. Never simplify the visible region by increasing its area when we're subtracting opaque areas from the visible region. Instead, just don't subtract the opaque area if it would make the visible region too complex. r=bzbarsky
--HG--
extra : rebase_source : 388dd9229d6d1a50efd409f508aded95f1ec226a
2009-09-20 00:12:48 +12:00
Robert O'Callahan
12b82f1f1d Bug 510856. Round out 'visible area of moving content' to device pixel edges to avoid stray subpixel rectangles needing to be repainted. r=dbaron
--HG--
extra : rebase_source : 83e0e490c4b145fb774ad149c7f7a9e6ff8998c7
2009-09-07 12:35:12 +12:00
Mats Palmgren
948203eb7d Replace PR_MIN/PR_MAX with NS_MIN/NS_MAX. b=512106 r=roc 2009-09-16 17:01:36 +02:00
Bobby Holley
0b02012ed8 Bug 435296 - Sync decode handling for decode-on-draw. r=roc 2009-09-12 16:44:18 -06:00
Bobby Holley
2d5ec55945 Bug 435296 - Decode-On-Draw. r=joe,roc,bz,dolske,peterw sr=vlad 2009-09-12 16:44:18 -06:00
Jonathan Watt
ed42a30cb8 Bug 508179. Implement 'pointer-events:none;' for all elements. r=roc, r=dbaron. 2009-08-26 20:53:35 -07:00
Ryo Kawaguchi
54bb0a0d80 Implement background-image: -moz-image-rect(), which allows a region of an image to be used as a background image. (Bug 113577) r=roc, dbaron 2009-08-21 13:39:25 -07:00
Robert O'Callahan
9f2ae1a715 Bug 507334, part 2: Blit multiple rectangles when scrolling rather than blitting only the largest single rectangle, and avoid repainting opaque content that covers the scrolling content. r=dbaron 2009-08-13 19:09:51 -07:00
Michael Ventnor
8ae6cd75f4 Bug 479220: Implement support for CSS gradients: -moz-linear-gradient() and -moz-radial-gradient(). r=roc, dbaron 2009-08-01 08:53:40 -07:00
Dão Gottwald
bf4108370b Backed out changeset c086fca6fc55 2009-07-31 14:35:48 +02:00
Michael Ventnor
61ed5fe1e2 Bug 479220 - Implement the CSS gradients proposal. r=roc,dbaron sr=roc 2009-07-31 13:32:32 +02:00
Boris Zbarsky
a345d5a408 Bug 504221 part 4. Switch MarkFramesForDisplayList to nsFrameList. r+sr=roc 2009-07-28 08:51:09 -04:00
Michael Kohler
404670f1f3 Bug 106386 - Correct misspellings in source code (old); Part 2; r=timeless 2009-07-27 10:47:02 +02:00
Robert O'Callahan
edefa6fb61 Bug 339548. Part 14: hide windowed plugins in CSS transforms and SVG foreignObject contexts; we can't display them properly, so let's not display them at all. r=dbaron 2009-07-22 12:45:14 +12:00
Robert O'Callahan
d523d1c325 Bug 339548. Part 6: Uninline IsMovingFrame so nsDisplayList.h doesn't have to include nsLayoutUtils.h. r=dbaron 2009-07-22 12:44:57 +12:00
Robert O'Callahan
3e0557fef1 Bug 339548. Part 5: Support an accurate mode for display lists computing visible regions. r=dbaron 2009-07-22 12:44:56 +12:00
Joe Drew
6c441f55f7 Bug 753 - Remove nsIImage, gfxIImageFrame, and their implementations, and expose an equivalent api on imgIContainer. r=roc,josh,bz,longsonr,vlad,karlt,jimm,bsmedberg,mfinkle,peterw,peterv sr=vlad,roc
--HG--
rename : gfx/src/shared/gfxImageFrame.cpp => modules/libpr0n/src/imgFrame.cpp
rename : gfx/src/shared/gfxImageFrame.h => modules/libpr0n/src/imgFrame.h
2009-07-20 18:50:15 -07:00
Timothy Nikkel
b21de22a53 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
L. David Baron
0d06184f97 Remove support for fallback background colors. (Bug 496721) r+sr=bzbarsky 2009-06-16 08:00:20 -07:00
Robert O'Callahan
8c7da0cfb7 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
tn
7afdd11636 Bug 490376 - Crash [@ nsDisplayList::GetBottom]; r=roc 2009-04-30 12:07:18 +02:00