Commit Graph

81 Commits

Author SHA1 Message Date
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
Steven Michaud
da18206624 Bug 730066 - Crash at mozilla::layers::ImageContainer::GetCurrentSize on printing http://www.mozilla.org/projects/firefox/prerelease.html. r=roc 2012-04-09 14:17:19 -05:00
Daniel Holbert
7dcfb057c4 Bug 732610 - Make nsIFrame::ComputeSize take a bitfield 'aFlags' instead of a bool 'aShrinkWrap'. r=dbaron 2012-03-16 11:01:05 -07:00
Nathan Froyd
72e8d1d540 Bug 731615 - Eliminate duplicate headers in layout. rs=smontagu 2012-02-29 10:57:47 -05:00
Bas Schouten
f987b74374 Bug 715785: Make ImageContainers independent of LayerManagers. r=roc 2012-02-01 03:18:30 +01:00
Matthew Gregan
d86fd8e1d2 Bug 697647 - VideoFrame's visible region should use the pre-transform size rather than the raw video buffer size. r=roc 2011-11-02 18:44:49 +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
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
Ms2ger
9414376b01 Bug 677101, part b - Remove nsContentUtils.h includes from headers; r=volkmar 2011-08-11 15:29:50 +02:00
Robert O'Callahan
93793566d0 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
Jonas Sicking
5f95458332 Bug 659539 Part 1: Give nsINodeInfos a nodeType, nodeName and localName. r=bz 2011-06-14 00:56:49 -07:00
Boris Zbarsky
76f757828a Bug 598833 part 12. Add dom::Element::UpdateState and use it in various places where elements update their own state. r=smaug,sdwilsh,mounir 2011-05-31 21:46:57 -04:00
Boris Zbarsky
447ee74d8c Bug 654989 part 1. Allow handing out both an nsIContent and an nsStyleContext from CreateAnonymousContent. r=roc 2011-05-06 16:04:44 -04:00
Robert O'Callahan
73b97e72c4 Bug 641426. Part 2: Remove a bunch of direct gfxRect::pos/size usage. r=joe 2011-04-19 15:07:21 +12:00
Zack Weinberg
f5a0843ac7 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
Jan Küchler
5ef6bf26cf 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
Oleg Romashin
fee82d5cf6 Bug 647462 - Video layer should not be ARGB by default; r=chris.double 2011-04-12 15:39:50 -04:00
Robert O'Callahan
20b9397753 Bug 630835. Make BuildLayer responsible for setting a visible region on the layer, and let FrameLayerBuilder only reduce it. r=tnikkel,a=blocking
This avoids problems with FrameLayerBuilder making the visible region bigger than we expected, invalidating CONTENT_OPAQUE flags set on the layer.
In particular, we had been using TransformBounds to compute the new visible region, and for non-axis-aligned transforms this gives us a visible
region which contains areas not actually painted by the layer contents.
2011-02-23 18:38:09 +13:00
Johnny Stenback
7ed31a41cb Fixing bug 604262. Fix crash in nsImageLoadingContent::OnStartDecode(). r=jonas@sicking.cc, a=blocker 2011-01-31 20:50:01 -08:00
Alexander Surkov
f1d1126c15 Bug 628922 - layout should use cached nsIAccessibilityService, r=davidb, sr=roc, a=roc 2011-01-28 12:38:14 +08:00
Robert O'Callahan
e946441ff1 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
Bas Schouten
a218a71e7c Bug 620665 - Part 4: Also recreate container when types don't match. r=roc a=blocking-beta9 2010-12-29 01:07:09 +00:00
Chris Double
c8b0bb098e Bug 577843 - Scale videos at YCbCr conversion time - r=roc a=blocking2.0
--HG--
extra : rebase_source : ae011843fdd812dbeab7e5de0bf3b6029cccb3e5
2010-10-26 16:11:13 +13:00
Alexander Surkov
8b53f409de Bug 604386 - Prune placeholder from text children, r=davidb, sr=bz, a=blocking 2010-10-16 00:34:35 +09:00
L. David Baron
40d60928c6 Fix miscellaneous reflow methods to use new overflow area APIs. (Bug 542595, patch 19) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:46 -07:00
L. David Baron
d99ac32acf 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
Daniel Holbert
d2bf82c2fc 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
Jonas Sicking
5656569763 Bug 546857 Part 6: Disable XUL for pages, unless user specifically opts in for domain. r=jst a=blocker 2010-08-19 16:12:46 -07: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
Karl Tomlinson
9262413ddf backout dbbb9575aae1 due to build issues in some configurations b=577743 2010-08-23 16:27:49 +12:00
Chris Double
2c4ba817cd Bug 577743 - Scale videos at YCbCr to RGB conversion time - r=roc a=blocking 2010-08-23 13:47:33 +12:00
Jonas Sicking
1efbd766ca Back out bug 546857 Part 6 due to talos failures. a=backout 2010-08-19 18:41:58 -07:00
Jonas Sicking
1a06bd84dd Bug 546857 Part 6: Disable XUL for pages, unless user specifically opts in for domain. r=jst a=blocker 2010-08-19 16:12:46 -07:00
Vladimir Vukicevic
30c2b7b82c b=574481; fix layers lifetime issues; part 6 - fix up some video frame bits; r=roc 2010-08-06 22:09:18 -07:00
Robert O'Callahan
df40488589 Bug 582467. With accelerated layer backends, we should always treat video layers as active to avoid having to read back; no point in saving composition costs on those backends anyway. r=vlad 2010-08-02 15:06:58 +12:00
Olli Pettay
abf43f852b Bug 566466 - speed up createElement(), r=jst, peterv 2010-07-23 12:49:57 +03:00
Robert O'Callahan
e3f0996f5d Bug 564991. Part 24: Make video layer inactive if the video is not playing. r=doublec 2010-07-16 09:08:05 +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
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
Alexander Surkov
1b2bbba526 Bug 573706 - make frame based accessible creation more pellucid, r=davidb, sr=roc 2010-06-28 21:02:03 +09:00
Ms2ger
f243ea03ba Bug 560059 - Correct video dimensions on failed load. r=roc 2010-06-16 09:53:44 +12:00
Chris Pearce
3841ce0fd3 Bug 556889 - Honour video aspect ratio in layers rendering. r=roc 2010-04-27 20:53:44 +12:00
Chris Pearce
bea72dd465 Bug 556889 - Backed out changeset 6f250c9b680b due to reftest failure on Linux. 2010-04-08 21:18:58 +12:00
Chris Pearce
56599ba7fa Bug 556889 - Honour video aspect ratio in layers rendering. r=roc 2010-04-08 20:16:02 +12:00
Robert O'Callahan
59f17b52c3 Bug 538323. Part 2: use ImageLayers to render video. r=kinetik 2010-03-02 12:41:49 +13:00
Jeff Muizelaar
ccc8a476f6 Bug 549331. Use ThebesContext() instead of GetNativeGraphicData() in nsVideoFrame. r=doublec
GetNativeGraphicData() is deprecated and less type safe. This was
also the only user that used nsIRenderingContext::NATIVE_THEBES_CONTEXT.
2010-03-01 17:18:01 -05:00
Alexander Surkov
be2b5e3966 Bug 534527 - Accessibility needs new DOM API part 2, r=smaug, sr=bz 2010-02-20 16:52:50 -08:00
Alexander Surkov
73e251f02b Bug 534527 - Accessibility needs new DOM API, r=olli.pettay, sr=roc 2010-02-12 01:34:01 +08:00