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