Robert O'Callahan
4043fb2b03
Bug 735898. Part 8: Speed up SortByZOrder. r=dbaron,a=blocking-fennec
2012-04-19 14:40:43 +12:00
Robert O'Callahan
c47ff166e8
Bug 745934. Update bounds of nsDisplayOpacity after we've mutated its list. r=mattwoodrow,a=blocking-fennec
2012-04-19 14:40:43 +12:00
Robert O'Callahan
dcc4fc6d0f
Bug 735898. Part 7: Remove expensive nsIFrame::HasBorder checks, just check style instead. r=dbaron,a=blocking-fennec
2012-04-18 17:14:31 +12:00
Robert O'Callahan
08d74c5ace
Bug 735898. Part 6: Avoid nsIFrame::GetOffsetTo calls by caching a frame/offset pair in nsDisplayListBuilder, using the cache from nsDisplayListBuilder::ToReferenceFrame, and having BuildDisplayListForChild efficiently update the cached frame from parent to child when possible. Also, use display items' precalculated ToReferenceFrame() instead of calling nsDisplayListBuilder::ToReferenceFrame where possible. r=mattwoodrow,a=blocking-fennec
2012-04-18 17:14:14 +12:00
Robert O'Callahan
e94e05578d
Bug 735898. Part 5.9: Remove nsDisplaySVGEffects::mEffectsFrame since it's always the same as mFrame. r=mattwoodrow,a=blocking-fennec
2012-04-18 17:12:53 +12:00
Robert O'Callahan
e7e04f4dc1
Bug 728983. Part 1: Add nsDisplayItem::GetMergedFrames. r=mattwoodrow
2012-04-17 17:44:32 +12:00
Robert O'Callahan
ec5d3ef73c
Bug 735898. Part 1: Cache bounds (union of all child item bounds) in nsDisplayWrapList. r=mattwoodrow
2012-04-13 23:44:06 +12:00
Robert O'Callahan
d722131e30
Bug 744607. Intersect a display item's layer-pixels draw-rect with the snapped clip rect. r=tnikkel
2012-04-13 23:44:05 +12:00
Mark Capella
1a44f1208f
Bug 740688 - Use uintptr_t instead of PRUword, and intptr_t instead of PRWord. r=jwalden
...
--HG--
extra : rebase_source : 648a581323d2c2893df780f71fe34dadcc4bbaab
2012-04-11 17:17:44 -07:00
Robert O'Callahan
c1fcb8ec46
Backing out changesets ef599d7f3f11, 70ef464f50e3 and 1a204c38918e (bug 735898) due to test failures.
2012-04-12 00:34:23 +12:00
Robert O'Callahan
84a03695da
Bug 735898. Part 1: Cache bounds (union of all child item bounds) in nsDisplayWrapList. r=mattwoodrow
2012-04-11 16:48:47 +12:00
Robert O'Callahan
d0dd680745
Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel
...
Previously we snapped the results of nsDisplayItem::GetBounds and
nsDisplayItem::GetOpaqueRegion internally. By tracking which display items were
inside transforms, we disabled snapping quite conservatively whenever an ancestor
had a transform, which is undesirable.
With this patch, we don't snap inside GetBounds or GetOpaqueRegion, but just return
a boolean flag indicating whether the item will draw with snapping or not. This flag
is conservative so that "true" means we will snap (if the graphics context has a transform
that allows snapping), but "false" means we might or might not snap (so it's always safe
to return false).
FrameLayerBuilder takes over responsibility for snapping item bounds. When it converts
display item bounds to layer pixel coordinates, it checks the snap flag returned from
the display item and checks whether the transform when we draw into the layer will be
a known scale (the ContainerParameters scale factors) plus integer translation. If both
are true, we snap the item bounds when converting to layer pixel coordinates. With
this approach, we can snap item bounds even when the items have ancestors with active
transforms.
2012-04-10 23:24:18 +12:00
Matt Woodrow
49bb21ce6d
Bug 731777 - Correctly recompute overflow areas for frames with transform perspective applied. r=roc
2012-03-12 15:04:25 +13:00
Matt Woodrow
f0d02037a5
Bug 730166 - Mark frames with a hidden backface as transformed. r=roc
2012-03-12 15:03:29 +13:00
Mats Palmgren
9faef84315
Bug 717521 - Limit pre-rendering to max 4096 x 4096 pixels (post-transform) to avoid hang. r=tnikkel
2012-03-01 13:34:20 +01:00
Chris Lord
22c2e93774
Bug 729534 - Semi-fix scroll layer retention. r=mats
...
When flattening the display list, the last child frame in a scroll layer is
used to retain the associated ThebesLayer. Instead, use the first child, which
tends to be more stable. This fixes retaining layers when scrolling through
engadget.com.
Fix by Robert O'Callahan <robert@ocallahan.org>
2012-02-29 16:45:50 +00:00
Jonathan Watt
738cd09b8c
Bug 727805 - Give aFactor in nsDisplayList.cpp a more meaningful name. r=mattwoodrow.
2012-02-17 06:08:33 +00:00
Matt Woodrow
cca8fbcca8
Bug 721082 - Make perspective-origin relative to the parent elements border box. r=roc
2012-02-15 22:28:22 +13:00
Chris Jones
6ab2499104
Bug 724189: Add a little fuzz factor to the max pre-render size for transformed frames, in case the frame has borders or shadows. r=roc
2012-02-05 08:34:10 -08:00
Chris Jones
a0c8543dca
Bug 725580: Fluff out the bounds of pre-rendered nsDisplayTransforms to their visual overflow rect in order to avoid killing their dedicated layer mid-activity, when part of the frame isn't painted. r=roc
2012-02-09 01:39:30 -08:00
Matt Woodrow
77b2ac0b85
Bug 722603 - Part 2: Use cached transform as much as possible (r=roc).
2012-02-14 01:12:49 -08:00
Matt Woodrow
11c4f62cb8
Bug 722603 - Part 1: Use cached transform in nsDisplayTransform::GetBounds() (r=roc)
2012-02-14 01:11:31 -08:00
Matt Woodrow
5fcb12fab0
Bug 704469 - Use style context parent instead of frame parent when looking up perspective for 3d transforms. r=roc
2012-01-04 13:38:57 +13:00
Robert O'Callahan
0fb0f8bbd4
Bug 591718. Part 1: rename some poorly-named methods, rework global-transform methods to avoid computing bounding-boxes more than once when there are are multiple transformed ancestors, make sure nsIFrame::GetTransformMatrix can stop at any desired ancestor. r=mats
2011-12-28 16:24:18 +13:00
Tatiana Meshkova
eddcbf6467
Bug 701190 - position:fixed items disappear due to wrong translation. r=roc
2011-11-09 14:47:23 -08:00
William Chen
1a42df4570
Bug 497995: Part 1 - Implement border-image revisions in latest css3-background spec. r=dbaron
...
--HG--
extra : rebase_source : 5a6cdac6a4b1353170f23f39dd2a209374e72531
2011-12-22 18:34:45 -05:00
Robert O'Callahan
9324e765b3
Bug 702739. When a element has an active transform and the element's content (before being transformed) is no larger than the window, prerender its entire contents into layers when any of it is visible, so we don't have to rerender it and/or resize its layers as it moves into or out of view. r=mats
2011-12-19 10:57:35 +13:00
Matt Brubeck
7d451f6bac
Back out bug 710521, bug 672013, bug 702739 because of Mac reftest failures
2011-12-18 08:15:09 -08:00
Robert O'Callahan
cfa4fb4af5
Bug 702739. When a element has an active transform and the element's content (before being transformed) is no larger than the window, prerender its entire contents into layers when any of it is visible, so we don't have to rerender it and/or resize its layers as it moves into or out of view. r=mats
2011-12-18 21:46:44 +13:00
Matt Woodrow
978e14e77a
Bug 701656 - Include the preserve-3d parent content in preserve-3d sorting. r=roc
2011-11-17 16:45:44 +13:00
Matt Woodrow
0f4f45950d
Bug 700240 - Print nsSVGEffects types. r=roc
2011-11-17 16:44:16 +13:00
Matt Woodrow
857970e2ff
Bug 695832 - Perpsective origin offset should be relative to the transform origin. r=roc
2011-10-31 13:38:46 +13:00
Robert O'Callahan
17ad2dd8a3
Bug 678859. Don't create layers for content less than 16x16 pixels. r=tn
2011-10-27 09:10:48 +13:00
Phil Ringnalda
fa10179bd2
Back out cc6b39f2b512 and f2b1103e5177 (bug 695832) for reftest failures
2011-10-25 23:18:47 -07:00
Matt Woodrow
c9ed70f1ce
Bug 695832 - Perpsective origin offset should be relative to the transform origin. r=roc
2011-10-26 16:20:08 +13:00
Oleg Romashin
21ca0625fc
Bug 693938 - Force mark PuppetWidget root scroll layer as opaque. r=roc
2011-10-23 10:57:47 +02:00
Robert O'Callahan
88740ba6da
Bug 681867. Part 2: remove nsDisplayForcePaintOnScroll. r=mats
2011-10-21 14:41:36 +13:00
Ehsan Akhgari
2a602a5685
Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
...
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Matt Woodrow
911c9a449a
Bug 693520 - Fix backface visibility calculations, and share can-hit checks. r=derf
2011-10-12 16:16:06 +13:00
Matt Woodrow
3345b1be69
Bug 693519 - Don't call GetHitDepthAtPoint if we didn't hit anything. r=roc
2011-10-12 16:16:05 +13:00
Matt Woodrow
165e24528f
Bug 684759 - Part 3b - Add event handling for sorted preserve-3d layers. r=roc
2011-10-07 10:24:02 +13:00
Matt Woodrow
5725b611f5
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
da4a9cda9a
Bug 691106 - Merge sequential nsDisplayTransforms and give them unique frame keys. r=roc
2011-10-03 17:02:25 +13:00
Michael Wu
d8e503c38b
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
ba7be2f99c
Bug 688624 - Use nsAutoTArray in nsDisplayList::HitTest. r=roc
2011-09-22 23:50:57 -04:00
Jonathan Watt
c6f1afaf71
Bug 664130 - Clarify some display list comments and code. r=roc.
2011-09-08 12:15:00 +01:00
Felix Fung
9bb0edf799
Bug 577266 - Correct misspellings in source code
2011-09-06 17:20:35 -07:00
Matt Woodrow
a5e0a1b39b
Bug 682922 - Disable preserve-3d on scroll frames. r=roc
2011-09-05 10:25:35 +12:00
Matt Woodrow
f9d4b0bc4e
Bug 505115 - Part 15 - Add 4D Vectors, Quaternions and gfx3DMatrix functions. r=derf
2011-08-27 12:06:03 +12:00
Matt Woodrow
ec5a391004
Bug 505115 - Part 14b - Layout support for -moz-transform-style. r=roc
2011-08-27 12:01:46 +12:00