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

339 Коммитов

Автор SHA1 Сообщение Дата
Matt Woodrow 224fe2d2f1 Bug 684759 - Part 3a - Sort preserve-3d layers using their z depth at points where they intersect in 2d space. r=roc 2011-10-07 10:23:18 +13:00
Matt Woodrow e72fafb94c Bug 691106 - Merge sequential nsDisplayTransforms and give them unique frame keys. r=roc 2011-10-03 17:02:25 +13:00
Michael Wu ac54b41b01 Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Justin Lebar 723903c919 Bug 688624 - Use nsAutoTArray in nsDisplayList::HitTest. r=roc 2011-09-22 23:50:57 -04:00
Jonathan Watt b9dc7974db Bug 664130 - Clarify some display list comments and code. r=roc. 2011-09-08 12:15:00 +01:00
Felix Fung 15053fd69e Bug 577266 - Correct misspellings in source code 2011-09-06 17:20:35 -07:00
Matt Woodrow 280afc9d96 Bug 682922 - Disable preserve-3d on scroll frames. r=roc 2011-09-05 10:25:35 +12:00
Matt Woodrow 19a7d127bb Bug 505115 - Part 15 - Add 4D Vectors, Quaternions and gfx3DMatrix functions. r=derf 2011-08-27 12:06:03 +12:00
Matt Woodrow 2f2de41c51 Bug 505115 - Part 14b - Layout support for -moz-transform-style. r=roc 2011-08-27 12:01:46 +12:00
Mats Palmgren e15517b1ab Bug 653649 - New way of getting child lists from frames. (part 4/5) r=roc
Remove the nsIAtom* child list names and use child list ID enum instead.
2011-08-24 22:54:30 +02:00
Matt Woodrow b94fc72bec Bug 677878 - Round untransformed rects outwards. r=roc 2011-08-16 15:44:22 +12:00
Markus Stange af84afa5c3 Bug 676387 - XUL elements with -moz-appearance should ignore clicks in their overflow. r=roc 2011-08-08 20:31:52 +02:00
Matt Woodrow ebceb1ea45 Bug 505115 - Part 12b - Layout changes to use -moz-perspective-origin. r=roc 2011-08-03 15:04:24 +12:00
Matt Woodrow 0c80aaf5d0 Bug 505115 - Part 11b - Layout changes to use a z component for -moz-transform-origin. r=roc 2011-08-03 15:04:23 +12:00
Matt Woodrow 8cb1ef1149 Bug 505115 - Part 10 - Implement the backface-visibility CSS property. r=dbaron 2011-08-03 15:04:22 +12:00
Matt Woodrow 820000a6bf Bug 505115 - Part 9 - Implement the perspective() transform function and the perspective CSS property. r=dbaron 2011-08-03 15:04:22 +12:00
Matt Woodrow 85e14ced8b Bug 505115 - Part 8c - Use ray tracing to untransform 2d points on a 3d plane. r=roc 2011-08-03 15:04:21 +12:00
Matt Woodrow c6d864929e Bug 505115 - Part 7 - Layers support for 3d transforms. r=roc 2011-08-03 15:04:20 +12:00
Matt Woodrow dd8d0bcfa0 Bug 505115 - Part 5 - Use gfx3DMatrix in layout. r=roc 2011-07-23 10:28:51 +12:00
Matt Woodrow 591d36e0a6 Bug 505115 - Part 3 - Convert nsStyleTransformMatrix to be backed by a 4x4 matrix. r=dbaron 2011-07-23 10:28:07 +12:00
Craig Topper 4d70324117 Bug 654369 - Part 11: Remove OOM checks from layout/base r=bz
--HG--
extra : rebase_source : a725d78f3e128d6d4ca1eb48eec1cfc78f7762bf
2011-04-28 22:02:40 -07:00
Mats Palmgren e27374664c Bug 312156 - Implement CSS3 text-overflow. r=roc 2011-06-22 20:11:48 +02:00
Robert O'Callahan 7e9c21543b Bug 637852. Part 26: Ensure that FrameMetrics coordinates are correctly stored as layer coordinates. r=tnikkel 2011-06-23 00:11:28 +12:00
Robert O'Callahan 5204f44c72 Bug 637852. Part 17: Tighten up AreLayersMarkedActive so we track exactly what properties are changing. Also, clamp resolution to power-of-2 only if the frame's transform has a scale. r=tnikkel
This lets us avoid clamping the scale in more situations. We should only clamp the scale when we think
the scale is changing due to a changing transform --- the goal of clamping is to not have to redraw the content
too often when the content is zooming in or out.
2011-06-23 00:11:28 +12:00
Robert O'Callahan a19da03c64 Bug 637852. Part 6: Implement resolution scaling in FrameLayerBuilder. r=tnikkel
FrameLayerBuilder::BuildContainerLayerFor takes responsibility for resolution scaling. The ContainerParameters
passed in are added to any transform requested. Then we extract the scale part of the transform, round the scale
up to the nearest power of two if the transform may be actively animated (so we don't have to redraw layer contents
constantly), pass that scale down to be applied by each child and set the residual transform on the ContainerLayer.

For child layers built via BuildLayer, we just pass the requested scale factor in via the ContainerParameters.
If the returned layer is a ContainerLayer then BuildLayer is guaranteed to have already done necessary scaling.
If the returned layer is not a ContainerLayer then we apply the scale ourselves by adding the scale to the
child layer's transform.

For child ThebesLayers containing non-layer display items, we scale the drawing of those display items so that
the child ThebesLayers are simply larger or smaller (larger or smaller visible regions).

We have to scale all visible rects, clip rects etc that are in the coordinates of ThebesLayers or the parent
ContainerLayer. To keep things simple we do this whenever we convert from appunits to integer layer coordinates.

When a ThebesLayer's resolution changes we need to rerender the whole thing.

nsDisplayList::PaintForFrame needs to respect the presshell's resolution setting. We do that by building a layer tree
with a ContainerParameters requesting a scale up by the presshell resolution; once that layer tree is built, we
adjust the root layer transform to scale back down by the resolution.
2011-06-23 00:11:27 +12:00
Robert O'Callahan a53cdb5b40 Bug 637852: Part 5: Create ContainerParameters structure to carry resolution scale factors through layer creation. r=tnikkel
This patch shouldn't change any behavior. It just passes the ContainerParameters around, which will contain scale factors that should have been
applied when BuildLayer returns a ContainerLayer.

This patch also adds an aTransform parameter to BuildContainerLayerFor, which nsDisplayTransform uses to set the
transform for the ContainerLayer. This way BuildContainerLayerFor knows what the container's transform is going to be
before constructing the children, which in the next patch will let us construct the children with the right resolution.
2011-06-23 00:11:27 +12:00
Robert O'Callahan 57bc8f8afa Bug 646757. Don't snap display item bounds during hit-testing. r=tnikkel 2011-05-31 09:44:10 +12:00
Ed Morley b15b8760c6 Bug 614515 - Remove MOZ_SVG conditions. r=roc 2011-05-30 09:34:50 +02:00
Robert O'Callahan ddcc788a2b Bug 656749. Only optimize away zero-opacity elements when we're painting, not for any other kind of display list construction such as plugin geometry. r=tnikkel 2011-05-23 12:28:47 +12:00
Tatiana Meshkova a790b3389e Bug 656167 - Temporarily disable or back out fixed layers. Visibility part. r=roc 2011-05-13 16:21:59 +03:00
Jim Mathies e430619314 Bug 633282 - manual backout of 'fixup UpdatePossiblyTransparentRegion v.3' in bug 622328 due to merge conflicts. r=tn 2011-05-13 11:40:46 -05:00
Mounir Lamouri 5e26ddf354 Merging cedar with mozilla-central. 2011-05-13 10:59:05 +02:00
Robert O'Callahan ef656549ac Bug 654641. Make nsDisplaySolidColor::GetBounds reflect any snapping that's going on. r=tnikkel 2011-05-13 02:59:09 +12:00
Tatiana Meshkova 556c7893f0 Bug 653133 - Fennec crashes when loading a page with huge background-attachment:fixed background r=roc 2011-05-09 11:40:09 +03:00
Benjamin Stover a0db0df68e Bug 640048 Fix edge case for z-ordering for async scrollable elements r=roc 2011-05-01 18:53:01 -07:00
Mark Finkle ab6ba796c7 Backed out changeset c7f62d818af2. Causes content crashes Bug 653889 2011-04-30 00:01:29 -04:00
Benjamin Stover f0af9fff3e 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 1ed92bdb3e Bug 641426. Part 6: Rename Empty to SetEmpty. r=cjones 2011-04-19 15:07:23 +12:00
Robert O'Callahan 10ed771425 Bug 641426. Part 5: Avoid operator== where possible to distinguish between 'equal edges' and 'equal areas' for rectangles. r=dbaron,sr=cjones 2011-04-19 15:07:23 +12:00
Zack Weinberg 2c36a76906 Bug 266236 part 9: Move nsBoundingMetrics to its own header and prune inclusions of nsRenderingContext.h.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
rename : gfx/src/nsThebesRenderingContext.h => gfx/src/nsRenderingContext.h
extra : rebase_source : 92660748436f03475e011184e2828f1db0ad63e0
2011-04-07 18:04:40 -07:00
Zack Weinberg 8d0e3c1244 Bug 266236 part 7: Simplify calling convention of SetClipRect and SetClipRegion.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
rename : gfx/src/nsThebesRenderingContext.h => gfx/src/nsRenderingContext.h
extra : rebase_source : b1c68e23a4fa67cdc09b151ad39d7560cdd8baf7
2011-04-07 18:04:40 -07:00
Jan Küchler 23271beb1d 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
Benjamin Stover 82295a5a9c Bug 642246 Don't build ThebesLayers for elements with no displayports r=roc 2011-04-11 13:53:01 -07:00
L. David Baron 8fa0e899ac Back out 1edfae12015b (Bug 642246) due to mobile unittest orange. 2011-04-09 18:21:27 -07:00
Benjamin Stover 885567bc0f Bug 642246 Don't build ThebesLayers for elements with no displayports r=roc 2011-04-09 12:38:28 -07:00
Tatiana Meshkova a985c968e0 Bug 607417 - Part 3: Visibility tricks for fixed items r=roc
--HG--
extra : rebase_source : 7545070d6af5ef10dd4d1504f0d456ece4fd8edb
2011-04-08 09:35:16 -07:00
Oleg Romashin 7739083216 Bug 607417 - Part1: position:fixed frames mark layers r=roc
--HG--
extra : rebase_source : dbbff8810bafd165a48c34924d98f5c87702ef3f
2011-04-05 23:00:25 -06:00
Matheus Kerschbaum 08c43219e7 Bug 639754 - Remove MOZ_IPC checks since IPC is always built now; r=bsmedberg 2011-04-02 19:14:00 -07:00
Benjamin Stover 81facc43d5 Bug 618975 Follow-up: Fix for non-IPC builds and remove warning r=blassey a=fix-comm-builds 2011-03-15 18:58:28 -07:00
Benjamin Stover 30e537ff1a Bug 618975 Followup: bitrot and remove mDisplayport from nsDisplayScrollLayer r=cjones r=tn a=blocking-fennec 2011-03-09 13:35:27 -08:00
Benjamin Stover 1a0ae63ebf Bug 618975 Pan overflow elements in parent process r=cjones r=tn sr=roc a=blocking-fennec 2011-03-15 16:20:19 -07:00
Doug Turner 2489f1f6e9 Backing out 99f6b3acc464 (bug 618975). Bug This caused a reftest crash. a=bustage 2011-03-08 22:02:50 -08:00
Benjamin Stover b5c53718a9 Bug 618975 Pan overflow elements in parent process r=cjones r=tn sr=roc a=blocking-fennec 2011-03-08 21:28:18 -08:00
Matt Woodrow 40a217d8b6 Bug 629857 - When invalidating transformed items, round the original area out to the nearest pixel. r=roc a=roc 2011-02-25 11:55:23 +13:00
Robert O'Callahan 61ef3671f5 Bug 626602. Part 4: Make the display items behind a plugin that needs readback be as visible as we can. r=tnikkel 2011-02-16 16:43:30 -06:00
Kevin Gadd c03dd4fc21 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
Timothy Nikkel fdbdf2dc4c Bug 622328 - Always make sure the area of the root content document is considered opaque. r=roc, a=blocking. 2011-01-27 16:58:50 -06:00
Benjamin Stover b32d55f237 Bug 626855 Crash: trying to scroll HTML page with frameset r=cjones a=blocking-fennec 2011-01-19 08:56:22 -08:00
Robert O'Callahan f2aeae7716 Bug 621601. Part 1: Change empty transaction API to EndEmptyTransaction. r=bas,tnikkel,a=joe 2011-01-19 21:27:54 +13:00
Robert O'Callahan f38fcb10df Bug 625288. Part 2: Report that -moz-win-glass and -moz-win-borderless-glass are uniform with opacity 0, i.e. they don't paint anything. Skip such display items when accumulating the visible region of a layer. r=tnikkel,a=blocking 2011-01-16 23:38:45 +13:00
Robert O'Callahan c31d163c2e Bug 625247. Don't use nsAutoTArray inside an nsAutoTArray. r=tnikkel,a=blocking 2011-01-15 22:40:33 +13:00
Benjamin Stover 69972c38c4 Bug 605618 Follow-up: Fix refcnt issue r=cjones a=blocking-fennec 2011-01-13 14:17:40 -08:00
Mark Banner 4932a7e333 Bustage fix for non-IPC and for shared builds following bug 605618. a=bustage fix 2011-01-13 20:01:45 +00:00
Benjamin Stover 659f3174ec Bug 605618 Part 8: Content process map from view IDs to content elements r=cjones sr=roc 2011-01-13 09:45:14 -08:00
Benjamin Stover 826ab38edc Bug 605618 Part 7: Include viewport and content size in API r=cjones sr=roc 2011-01-13 09:45:14 -08:00
Benjamin Stover f13cafb204 Bug 605618 Part 5: Support displayport for iframes r=tn sr=roc 2011-01-13 09:45:14 -08:00
Benjamin Stover 738e97fa33 Bug 605618 Part 1: Tag layers with scrollable information r=cjones sr=roc a=blocking-fennec 2011-01-13 09:45:14 -08:00
Markus Stange fbe9f58257 Bug 621762 - Change the way native windows are notified about toolbars. r=roc, a=betaN 2011-01-11 14:03:16 +01:00
Robert O'Callahan 3845051832 Bug 579808. Fix bounds for nsDisplayTransform and nsDisplayPlugin. r=tnikkel a=blocking-betaN+ 2011-01-06 19:38:22 -06:00
Robert O'Callahan 91a7d5165e Bug 615794. Part 5: Don't abort in RoundedRectIntersectsRect, just check whether we intersect the frame border-box. r=dbaron a=blocking 2011-01-04 23:40:02 +13:00
Robert O'Callahan de7c0764ec Bug 615794. Part 3: Snap bounds of border and background display items to pixels if we're sure they will be snapped. r=tnikkel a=blocking 2011-01-04 23:39:47 +13:00
Robert O'Callahan 35e702ddb4 Bug 585258. Part 1: Don't make visible region arbitrarily complex in RecomputeVisibility. r=dbaron,a=blocking 2011-01-04 21:45:24 +13:00
Robert O'Callahan 6ee5bb8a90 Bug 622733. Allow any area to be added to the visible region if it decreases the area of the visible region by at least half. r=tnikkel,a=blocking 2011-01-04 21:43:47 +13:00
Robert O'Callahan aa9639fc5a Bug 602757. Part 5: Change HasText to GetComponentAlphaBounds. r=tnikkel,sr=dbaron,a=blocking 2011-01-03 14:48:09 +13:00
Robert O'Callahan 7561f77a23 Bug 602757. Part 4: Let nsDisplayBackground::GetOpaqueRegion return opaque regions for arbitrary repeat modes, background-clip, border-radius, etc. r=tnikkel,sr=dbaron,a=blocking 2011-01-03 14:48:09 +13:00
Robert O'Callahan e7ff7b3a5f Bug 602757. Part 3: Change IsOpaque to GetOpaqueRegion so we can get useful opaque regions for content that uses border-radius. r=tnikkel,sr=dbaron,a=blocking 2011-01-03 14:48:09 +13:00
Robert O'Callahan 360d34a263 Bug 602757. Part 2: Detect display items over the transparent part of a window, and disable usage of component alpha (i.e., subpixel antialiasing) for those items. r=tnikkel,a=blocking 2011-01-03 14:48:09 +13:00
Mats Palmgren 59b78b4b7c Bug 618996. Correctly compare rounded rect clip items for sameness. r=dbaron a=dbaron 2010-12-24 14:37:03 -06:00
Timothy Nikkel 451c55368a Bug 615714. When computing visibility of display lists we don't need a underlying frame to consider items opaque. r=roc a=bzbarsky 2010-12-09 22:33:34 -06:00
Boris Zbarsky 24a5e6ad59 Bug 614397. Always descend through all placeholders while doing any sort of selection display list. r=roc, a=roc 2010-12-07 08:54:50 -05:00
timeless@mozdev.org e44d2f524b Bug 615840 - mBuildCaret/mMode initialized out of order in nsDisplayListBuilder::nsDisplayListBuilder. r+a=roc 2010-12-04 10:58:39 +01:00
Oleg Romashin 514e2c37a7 Bug 615536 - nsIFrame::GetMouseThrough need to be optimized r=roc a=approval2.0 2010-11-30 16:59:46 +02:00
Markus Stange eaf12f8574 Bug 601894 - Compare covered rects when computing whether a transform display list item is opaque / uniform. r=roc, a=betaN 2010-11-27 00:31:08 +01:00
Mats Palmgren 2593d8101b Bug 536061 - Broken rendering of box-shadow and outline when used with -moz-transform. r=roc a=blocking2.0:final 2010-11-17 03:20:25 +01:00
Robert O'Callahan 5c93d12d42 Bug 598470. Treat all chrome display items as opaque when we're computing plugin visibility regions; this ensures translucent chrome content is visible above windowed plugins. r=tnikkel,a=blocker 2010-11-08 22:06:14 +13:00
Robert O'Callahan 97e3e9a4c9 Bug 593839. Part 1: Use nsDisplayListBuilder::IsPaintingToWindow instead of gfxContext::DESTINED_FOR_SCREEN. r=tnikkel 2010-10-25 16:38:09 +02:00
Felipe Gomes 53e27e6671 Bug 601603. Part 5 - Ensure that the layer that holds the window background is never opaque for glass windows. r=roc a=beta8 2010-10-19 15:02:25 -02:00
Markus Stange 0bd99a8fe0 Bug 595156 - Always use BasicLayerManager when drawing in the titlebar. r=roc a=blocking2.0:betaN
--HG--
extra : rebase_source : 9183b1a0d74f3b0538508048b98f41188c6f6ac8
2010-10-15 12:34:29 +02:00
L. David Baron 746c8b7ebd Make hit testing for border-radius follow the curvature of the border. (Bug 595652) r=roc a2.0=blocking2.0:betaN 2010-10-11 11:03:12 -07:00
Matt Woodrow 08f29337ec Bug 594983. Look inside display sublists to determine whether there is text for the layer. r=roc,a=blocking 2010-10-11 13:58:20 +13:00
L. David Baron 4bb3a24d67 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
Robert O'Callahan 01ab75cd9f Bug 594774. Detect DOM changes during painting, and abort painting ASAP when that happens. r=dbaron a=blocking 2010-09-17 12:09:08 -07:00
Chris Jones 1a711748ba Merge m-c --> cedar 2010-09-15 12:33:59 -05:00
L. David Baron 1275c97830 Support calc() on background-position, background-size, -moz-transform-origin, and background-image gradient stop positions. (Bug 594934) r=bzbarsky a=blocking2.0:betaN
(Note:  this also depends on the change to nsStyleAnimation.cpp's StyleCoordToValue in bug 520234 and on other changes in that bug.)
2010-09-15 08:11:26 -07:00
Oleg Romashin 97c15514a0 Merge with mozilla central 2779c55431a4, no conflicts 2010-09-10 22:32:25 -07:00
Chris Jones c81a4e20fd Merge m-c --> cedar 2010-09-08 17:25:30 -05:00
L. David Baron 9d05c9cb26 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 f2ec321e61 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 e62e25be23 Bug 590294, part 8: Implement resolution-scaled drawing for basic layers. r=roc 2010-09-03 15:10:46 -05:00
Chris Jones d93b30498d 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