Commit Graph

185 Commits

Author SHA1 Message Date
Gervase Markham
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Christopher De Cairos
1d388d679e Bug 517363: Make poster frames scale to size of the display frame r=roc 2012-05-11 20:32:29 +12:00
Christopher De Cairos
a51913e89c Bug 726904: Make nsVideoFrame::GetVideoIntrinsicSize return the video size before the poster size. r=cpearce 2012-05-11 20:32:15 +12:00
Andreas Gal
6ced71cf11 Do image scaling on the GPU (bug 650988, r=roc,cjones). 2012-05-03 07:05:55 -07: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
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
Daniel Holbert
2f7a34b75a Bug 538431: Rename nsVideoFrame::GetIntrinsicSize to 'GetVideoIntrinsicSize', so it doesn't hide inherited method. r=roc 2010-01-08 16:37:30 -08:00
fantasai
1ffb0c06ef Bug 508473 part III: Pass destruction root to frame destruction methods r=bz sr=roc 2009-12-24 00:21:15 -05:00
Mike Kristoffersen
2b43cee4a5 Bug 525970 - White spaces at EOL in nsVideoFrame.cpp. r=roc 2009-11-05 14:56:52 +01:00
fantasai
d02f604b92 Strip carriage returns from nsVideoFrame.cpp r=chris.double (bug 386142) 2009-10-06 00:37:46 -07: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
Boris Zbarsky
25c2a2fded Bug 488249 followup. Make some more HTML nodeinfos use the right namespace. 2009-10-01 11:54:10 -04: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
Zack Weinberg
17eb5a6efc Bug 497495 part 3: Add methods to every nsFrame subclass that expose the as-allocated identity of every frame object. Also some cleanups to the QueryFrame implementation. r=dbaron sr=roc 2009-09-12 17:49:24 +01:00
Zack Weinberg
2cd31f70f9 Bug 510651: Fold nsIFrameDebug into nsFrame. r=dbaron sr=mrbkap 2009-08-20 14:52:48 -07:00
Chris Pearce
a5c4a947e8 Bug 501535 - Don't update poster attribute on <audio> elements, only on <video>. r+/sr+ roc. 2009-07-07 14:02:06 +12:00
Chris Pearce
1a65d280a9 Bug 449156 - Implement HTMLVideoElement.poster, with correct reftests. r+=doublec,jst, sr+=roc 2009-06-26 19:25:17 +12:00
Chris Pearce
55076f0d9d Backout bug 449156 due to test-poster-9 failure. 2009-06-26 18:25:03 +12:00
Chris Pearce
7bb427a394 Bug 449156 - Implement HTMLVideoElement.poster r+=doublec,jst sr+=roc 2009-06-26 16:23:14 +12:00
Alexander Surkov
b6fb4536c3 Bug 483573 - Expose HTML5 video and audio elements' embedded controls through accessibility APIs, r=davidb, r=MarcoZ, sr=roc 2009-04-20 09:09:21 +02:00
Robert Longson
b2f8e75361 Bug 486934 - video display should take account of image-rendering CSS property. r+sr=roc 2009-04-06 12:05:29 +01:00
Boris Zbarsky
a733b1435a Removing unused variable. r=shaver, sr=make-gcc-happy 2009-03-31 13:54:27 -04:00
Robert O'Callahan
0e9a1e6846 Bug 479936 - Correctly handle sizing of video elements 2009-02-26 20:04:42 +13:00
Benjamin Smedberg
24e7cb1f78 Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

nsITextControlFrame didn't have an IID the first time around, but this wasn't a compile error because nsITextControlFrame::kFrameIID inherited from nsIFormControlFrame::kFrameIID. I've added a static analysis pass to verify the correct behavior, since I can't figure out a way to make the compiler do it.

--HG--
extra : rebase_source : 4894a2ca0278e2ab92f27459db77165f8348cf41
2009-01-12 14:20:59 -05:00
Benjamin Smedberg
50621e4f9f Backed out changeset 4c4df6ed1b41 - Bug 396185 - Make nsIFrame not inherit from nsISupports due to mochitest failures... these appear to be crashes in nsGenericHTMLElement::GetEditorInternal. 2009-01-09 11:35:24 -05:00
Benjamin Smedberg
d0b948876f Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

This patch locally causes two REFTEST-UNEXPECTED-PASS for Bidi stuff. It's possible that I accidentally fixed a bug, but I'm not sure, so I'm going to wait for the tinderboxes to confirm my local results.
2008-11-05 14:25:30 -05:00
Robert O'Callahan
374cd3a20b Bug 449142. Scale video so that it fits in the content-box of the element and has the same aspect ratio as the video source. Also adds some Ogg video reftests. r=doublec,sr=dbaron 2008-12-29 21:20:27 +13:00
L. David Baron
33efe12a98 Fix placement of video controls when top and right padding are different. (Bug 470596) r+sr=roc 2008-12-27 20:58:14 -05:00
L. David Baron
5a497c7cb3 Fix an off-by-border-and-padding error in nsVideoFrame::BuildDisplayList. (Bug 470596) r+sr=roc 2008-12-27 20:58:14 -05:00
Robert O'Callahan
5b275d79a4 Backed out changeset 8ab5a111e00b to fix orange 2008-12-18 16:01:16 +13:00
Robert O'Callahan
d59821898a Bug 449142. Draw video with the same aspect ratio as the underlying media, centered within the video element's CSS box. r=doublec,sr=dbaron 2008-12-18 14:14:51 +13:00
Robert O'Callahan
ed66190092 Bug 449149. Implement the 'controls' attribute for audio elements. r+sr=bzbarsky,r=dolske,r=enndeakin
--HG--
extra : rebase_source : 4d11b963d3082f98269069c68aae33eef365aacb
2008-12-17 13:27:46 +13:00
Chris Double
b9fbf2e7c2 Bug 449518 - Video autostart after doing Back/Forward history button on browser - r+sr=roc 2008-10-29 07:48:39 +13:00
Taras Glek
390adbe464 bug 455536: s/NS_ERROR_FAILURE/NS_ERROR_OOM/ outparamdelled nsNodeInfoManager::GetNodeInfo r+sr=jsr 2008-09-25 15:46:52 -07:00
Robert O'Callahan
f79290bb0e Bug 450930. Fire a DOM event when painting so that content and chrome can track what's being repainted. r=smaug,sr=dbaron 2008-09-18 21:47:21 +12:00
Taras Glek
c26ce8e1ab bug 450777:deCOMtaminate nsNodeInfoManager::GetNodeInfo r+sr=jst 2008-09-12 15:32:18 -07:00
Chris Double
02ccf2851f Bug 382267. Core implementation of the <video> and <audio> elements. r=jst,r+sr=roc 2008-07-09 20:22:20 +12:00