Commit Graph

2342 Commits

Author SHA1 Message Date
Jonathan Kew
85dcd28188 bug 593564 - account for synthetic bold in glyph metrics when constructing textrun. r=jdaggett a=joe 2010-09-16 17:41:40 +01:00
Oleg Romashin
fb56a869f7 Bug 596769 - ShadowLayers not expecting Layer create/destruction during transaction. r=jones.chris.g a=approval2.0 2010-09-15 21:49:31 -07:00
Chris Jones
0a1ec83bc9 Merge m-c --> cedar 2010-09-15 18:28:06 -05:00
Bas Schouten
32d2b7094e Bug 596494 - Part 2: Refactor render mode functionality to allow UpdateRenderMode. r=jrmuizel 2010-09-15 22:16:09 +00:00
Bas Schouten
088d08f18a Bug 596494 - Part 1: Expose method to get the D3D10 device for cairo d2d device. r=jrmuizel 2010-09-15 22:16:06 +00:00
Bas Schouten
3a223b0317 Bug 596489 - Part 3: Recreate the layer manager when a device is removed. r=roc 2010-09-15 22:16:02 +00:00
Bas Schouten
bf697e7d43 Bug 596489 - Part 2: Expose when a device manager is removed. r=jrmuizel 2010-09-15 22:15:59 +00:00
Bas Schouten
a41f88e4e6 Bug 596489 - Part 1: Refactor DeviceManager ownership. r=jrmuizel 2010-09-15 22:15:56 +00:00
Bas Schouten
910c08e31f Bug 596419: Fix up layer destruction scheme. r=jrmuizel 2010-09-15 22:15:49 +00:00
Chris Jones
2bb3bb3e9c Merge m-c --> cedar 2010-09-15 16:44:30 -05:00
Chris Jones
242dbbc943 Bug 596542: Repainting a thebes layer with a non-1.0 resolution shouldn't (always) force buffer reallocs. r=roc 2010-09-15 16:03:13 -05:00
Chris Jones
110d280286 Merge m-c --> cedar 2010-09-14 14:28:39 -05:00
Chris Jones
c8b26707ee Bug 570625, part 9: When updating thebes layers, swap out back/front buffers and invalidate the newly-painted region on the old front buffer. r=roc sr=shaver 2010-09-14 00:23:08 -05:00
Chris Jones
5c7d89b4f0 Bug 570625, part 8: Share Xlib surfaces across processes on X11 platforms. r=karl 2010-09-14 00:23:08 -05:00
Chris Jones
df01b80c7a Bug 570625, part 7: Add gfxXlibSurface::ReleasePixmap() to undo TakePixmap(). sr=roc 2010-09-14 00:23:08 -05:00
Chris Jones
b7034dad64 Bug 570625, part 6: Add gfxXlibSurface::XScreen(). sr=roc 2010-09-14 00:23:08 -05:00
Chris Jones
8d2b6d00c9 Bug 570625, part 5: Mostly mechanically switch BasicShadowable/ShadowThebes over to the new SurfaceDescriptor API. r=roc 2010-09-14 00:23:08 -05:00
Chris Jones
c1ddf7a569 Bug 570625, part 4: Put support in place for allocating platform-specific backing buffers for IPC layers, and synchronizing properly during transactions (i.e. XSync() on X11). The platform-specific interfaces just default to Shmem in this patch. r=karl sr=shaver 2010-09-14 00:23:08 -05:00
Chris Jones
d012cf36a8 Bug 570625, part 3: Add a SurfaceDescriptor IPDL union over all surfaces share-able to another process. r=roc sr=shaver 2010-09-14 00:23:08 -05:00
Chris Jones
00f365ac1f Bug 570625, part 2: Add a SurfaceDescriptorX11 datatype that abstracts what's needed to share an Xlib surface to another process. r=karl sr=shaver 2010-09-14 00:23:08 -05:00
Chris Jones
95660d9348 Bug 570625, part 1: Only use back/front buffers for BasicThebesLayer and update back->front in the compositor process. r=roc sr=shaver 2010-09-14 00:23:08 -05:00
Chris Jones
ab37ed636b Bug 570625, part 0: Don't throw out buffers when scrolling with a resolution applied. r=roc 2010-09-14 00:23:08 -05:00
Chris Jones
737172e9d9 Bug 570625, part -1: ThebesLayerBuffer::SetBuffer needs to hold its ref to the old buffer. r=roc 2010-09-14 00:23:08 -05:00
Chris Jones
ee72f210ea Merge m-c --> cedar 2010-09-13 19:24:09 -05:00
Bas Schouten
e4f9c60a96 Bug 595154 - Part 4: Bail when texture lock fails. r=vlad a=b 2010-09-14 12:57:25 +02:00
Bas Schouten
419fbbb7b3 Bug 595154 - Part 3: Recreate/update CanvasLayerD3D9 texture when needed. r=vlad 2010-09-14 12:57:03 +02:00
Bas Schouten
260c735044 Bug 595154 - Part 2: Clean CanvasLayerD3D9 resources when needed. r=jrmuizel 2010-09-14 12:56:56 +02:00
Bas Schouten
e7f5acb977 Bug 595154 - Part 1: Generalize cleaning layer resources. r=jrmuizel 2010-09-14 12:56:39 +02:00
Oleg Romashin
497f2db326 Merge with mozilla central 2779c55431a4, no conflicts 2010-09-10 22:32:25 -07:00
Joe Drew
8ab2818e4f Bug 595055 - Use the correct context when deleting textures, so we don't accidentally unset some state like the viewport. r=vlad a=b 2010-09-09 23:09:39 -04:00
Vladimir Vukicevic
cfe8913fec b=594892; [gl] force a real call to MakeCurrent after a widget is resized; r*=joe/jeff
* * *
b=594892; merge fail
2010-09-09 16:40:29 -04:00
Matt Woodrow
0a385ec477 b=594642; [gl] use scissor rect when drawing layers; r=vlad 2010-09-09 16:40:15 -04:00
Vladimir Vukicevic
61fb3a126f b=594567; teach EGL backend about ANGLE for Layers; r=jrmuizel 2010-09-09 16:40:11 -04:00
Doug Turner
259afcafb6 Bug 594080 - On mobile, use nearest-neighbor interpolation when drawing BasicThebesLayers with a scale transform. r=roc a=cjones 2010-09-09 12:33:04 -07:00
Chris Jones
4820da2166 Merge m-c --> cedar 2010-09-08 17:25:30 -05:00
Vladimir Vukicevic
0b88b52f6c b=594553; correctly create gl layer manager on android; r=jrmuizel 2010-09-08 18:19:11 -04:00
Vladimir Vukicevic
c9440f4f86 Bug 592462 - fix fullscreen video with OpenGL on Maemo with Qt. r=jmuizelaar. a=blocking-fennec
--HG--
extra : rebase_source : 765979328a5337242c9b7a8bd837b92ed2ed4062
2010-09-09 16:41:02 -07:00
Jeff Muizelaar
8feca90288 Bug 594187. ogl: Handle 0x0 widgets in Render(). r=vlad
OpenGL doesn't like drawing to things without area so just bail.
2010-09-07 19:59:47 -04:00
Benoit Jacob
32eac584aa Bug 595194 - CGL context creation crashes on Mac Tryserver - r=bas.schouten a=blocking2.0
--HG--
extra : rebase_source : b8e2bfde25a0acb33258e77ebd36959c91f73af8
2010-09-10 12:19:09 -04:00
KUROSAWA, Takeshi
caacfe8928 Bug 422179 - Part 2: Honor Cairo version in tree; r=jmuizelaar a=blocking-final+ try: --build do --p linux,linux64 --m none --u all --t all 2010-09-09 16:27:12 -04:00
KUROSAWA, Takeshi
abb6802ff0 Bug 422179 - Implement bilinear filtering of upscaled images for Linux; r=jmuizelaar a=blocking-final+ 2010-09-09 16:27:10 -04:00
Daniel Holbert
ecd6d13497 Bug 594650: Replace static variable in header file with static variable + accessor method, to fix codesighs & Composer.dll bustage. r=roc r=taras a=bustage 2010-09-09 09:41:58 -07:00
Bas Schouten
351e721d3b Bug 594322: Do not assert using CAIRO_HAS_D2D_SURFACE when D2D surfaces are not available. r=jrmuizel a=bustage-fix 2010-09-09 09:50:18 +02:00
Chris Jones
9e23f35349 Merge m-c --> cedar 2010-09-07 17:35:15 -05:00
Vladimir Vukicevic
1ef839a9f7 b=592462; [gl] followup, clear scissor region we're about to repaint; r=jrmuizel 2010-09-07 17:31:40 -04:00
Vladimir Vukicevic
7414352ff2 b=593868; fix OpenGL layers on win32 with d2d content; r=jrmuizel 2010-09-07 12:26:43 -04:00
Bas Schouten
c8c48218d9 Bug 594624: Toss out surfaces on content type changes. r=jrmuizel a=blocking-beta6 2010-09-12 21:38:47 +02:00
L. David Baron
b272e35a61 Change the blur radius for -moz-box-shadow and text-shadow to match what is specified in css3-background, and the blur radius for canvas to follow what is specified in HTML5. (Bug 590039) r=roc a2.0=blocking2.0:beta6
This fixes the multiplication by 1.5 in
gfxAlphaBoxBlur::CalculateBlurRadius (originally added in changeset
ce9f05b57b95 for bug 467518) to work correctly.  It was previously a
multiplication by 1 due to integer division.  CalculateBlurRadius
previously multiplied by 1.880; it now multiplies by 2.820.

This changes canvas shadow handling to multiply shadowBlur by 2 before
taking its square root, as described in the spec.  This means that
canvas shadow blurs 8px or smaller are 1.5 times larger than they were
previously (due to the CalculateBlurRadius change), and canvas shadow
blurs larger than 8px are 2.121 times larger than they were previously
(due to the CalculateBlurRadius change *and* the additional factor of
sqrt(2)).

This changes text-shadow and -moz-box-shadow handling to use
CalculateBlurRadius on half of the value given instead of passing the
value through directly.  This means that text-shadow and box-shadow
blurs are multiplied by 1.410 relative to their old sizes.  It also
means that we round rather than floor, so that the effect that used to
be drawn by a blur in the range 1px to 1.99px is now drawn by a blur
anywhere in the range 0.36px to 1.05px, the effect that used to be drawn
by a blur in the range 2px to 2.99px is now drawn by a blur anywhere in
the range 1.06px to 1.77px, what used to be a drawn by a blur in the
range 3px to 3.99px is now drawn by a blur anywhere in the range 1.78px
to 2.47px, etc.
2010-09-11 09:27:12 -07:00
Oleg Romashin
a3a0931e4a Bug 589845 - Link error in cairo-qt-surface qt_draw_glyphs. r=jmuizelaar, a=stuart 2010-09-05 08:17:58 -07:00
Chris Jones
29a74cf7e8 Bug 590294, part 8: Implement resolution-scaled drawing for basic layers. r=roc 2010-09-03 15:10:46 -05:00
Chris Jones
041882a123 Bug 590294, part 7: Add APIs for recording the resolution at which ThebesLayers were painted and for requesting resolution-scaled drawing for basic layers. r=roc sr=vlad 2010-09-03 15:10:46 -05:00
Chris Jones
c3e279df85 Bug 590294, part 3: Keep ContainerLayer type info around in a few places. r=roc 2010-09-03 15:10:45 -05:00
Chris Jones
2aaf1a0c12 Bug 590294, part 2: Add a ContainerLayer attribute FrameMetrics that stores relevant information from layout/ on the root layer. r=roc sr=vlad 2010-09-03 15:10:45 -05:00
Chris Jones
6e7a7cd71a Merge m-c --> cedar
--HG--
rename : layout/style/test/hover_helper.html => layout/style/test/chrome/hover_helper.html
rename : layout/style/test/test_hover.html => layout/style/test/chrome/test_hover.html
2010-09-03 14:07:55 -05:00
Matt Woodrow
80b5ce86e3 b=593273, fix d3d9 layer manager crash on reftest shutdown, r=bas a=b 2010-09-03 14:07:59 -04:00
Joe Drew
3ef9ce1660 Bug 590841 - Add the ability for a DOM window to let us know when it's accelerated, and use that value in about:support. r=gavin sr=roc a=blocking2.0:beta6+ 2010-09-03 14:01:05 -04:00
Jonathan Kew
55a866274d bug 593155 - check table length before accessing cmap data. r=jdaggett approval2.0=roc 2010-09-03 11:45:53 +01:00
Robert O'Callahan
ea9f2b9fe9 Fixing bustage, a=me 2010-09-03 16:20:23 +12:00
Chris Jones
88720785f0 Followup to bug 570294: Need to use OPERATOR_SOURCE for copying surface->surface. r=roc 2010-09-02 23:14:12 -05:00
Matt Woodrow
11d93c27a5 Bug 592985 - Free global shared CGL context on shutdown r=vlad, a=blocking2.0 2010-09-03 15:51:15 +12:00
Matt Woodrow
8188c29e37 Bug 590367 - Render RGB d2d layers with a RGBA surface and shader r=Bas, a=blocking2.0 2010-09-03 15:51:04 +12:00
Matt Woodrow
47a1df4aa3 Bug 593224 - ContainerLayerD3D9 can reset the clip rect r=Bas, a=blocking2.0 2010-09-03 15:50:53 +12:00
Matt Woodrow
da3df6842e Bug 590735 - D3D9/OGL Image layers need to round up on uneven sized YCbCr images r=joe, a=blocking2.0 2010-09-03 15:50:42 +12:00
Matt Woodrow
ca68b51b78 Bug 589632 - Fix LayerManagerD3D9 debug output r=Bas, a=blocking2.0 2010-09-03 15:50:29 +12:00
Chris Jones
ffd2e6087e Bug 593248: Release old shmem surfaces on realloc. r=joe 2010-09-02 22:05:01 -05:00
Robert O'Callahan
33df3b813d Bug 579276. Part 13: Use CONTENT_COLOR for temporary surface in nonretained path, if possible. r=cjones 2010-09-03 14:31:42 +12:00
Robert O'Callahan
faf8ba3044 Bug 579276. Part 12: Clip all drawing to the visible region on the nonretained path. r=cjones 2010-09-03 14:31:42 +12:00
Robert O'Callahan
fa118e17df Bug 579276. Part 11: Move ClipToRegion to gfxUtils. r=vlad 2010-09-03 14:31:42 +12:00
Robert O'Callahan
5cc76df7ce Bug 579276. Part 7: Don't retain transparent layers that would hurt text rendering. r=cjones 2010-09-02 21:18:41 +12:00
Robert O'Callahan
ef2339dd29 Bug 579276. Part 6: Add gfxASurface::GetTextQualityInTransparentSurfaces API. r=jrmuizel,sr=vlad 2010-09-02 21:18:41 +12:00
Robert O'Callahan
0356f8659e Bug 579276. Part 3: Change Set/IsOpaqueContent API to a more generic Get/SetContentFlags API. r=cjones,sr=vlad 2010-09-02 21:18:40 +12:00
Robert O'Callahan
a150e0aa96 Bug 579276. Part 1: Change layer/layermanager user data API to use keys and values. r=cjones,sr=vlad 2010-09-02 21:18:39 +12:00
Oleg Romashin
bd3aa71c63 Merged m-c: 51d17027ff45 -> cedar 2010-09-01 09:36:29 -07:00
Bas Schouten
5cbe2d49ec Bug 596152: Clear intermediate textures used with container layers. r=jrmuizel a=blocking-beta7 2010-09-15 17:00:42 +00:00
Oleg Romashin
346c73181d Bug 556487 - Subimage API. r=roc a=blocking2.0 2010-09-15 09:02:42 -07:00
Mike Hommey
45436fd809 Bug 589743 - Use the slow path for ycbcr on unsupported architectures instead of failing to building. r+a=roc
--HG--
extra : rebase_source : 94d945125b193a29551ebdb5c8f52b98b6787e3e
2010-09-06 09:14:48 +02:00
Robert O'Callahan
122b1cde0f Bug 593361. Part 2. Don't bother trying to draw directly to the backbuffer instead of retaining ThebesLayer, if the backbuffer is transparent anyway. r=tnikkel
--HG--
extra : rebase_source : 4a8d5833d6fab79147389a7c2f49f8653e90b9c5
2010-09-06 15:02:43 +12:00
Robert O'Callahan
1e8c57404f Bug 593361. Part 1: Limit the region of a non-retained layer we repaint to the clip region of the destination buffer. r=tnikkel
--HG--
extra : rebase_source : 20bea1e114bffe61bb621e7e99757cccd9fc98a0
2010-09-06 15:00:10 +12:00
Vladimir Vukicevic
38e200272a b=593558; make gl context creation quieter; r=matt.woodrow; a=b 2010-09-05 16:37:52 -04:00
Vladimir Vukicevic
74b5baf759 b=592106; correctly update GL context format; r=jrmuizel 2010-09-05 16:37:51 -04:00
Bas Schouten
06e1af0909 Bug 590695: Don't check mDeviceEx when it doesn't exist. r=vlad a=blocking-beta6 2010-09-05 18:59:57 +02:00
Joe Drew
8678c3e212 Bug 593618 - Because we always paint the whole texture we're drawing to, we need to validate and draw the _bounds_ of the visible region, not just the visible region's subrectangles. r=bas a=blocking2.0:beta6+ 2010-09-05 01:31:19 -04:00
Chris Jones
7b7af2c67c Merge m-c --> cedar
--HG--
rename : layout/generic/nsFrameFrame.cpp => layout/generic/nsSubDocumentFrame.cpp
2010-08-31 02:29:31 -05:00
Vladimir Vukicevic
2933c77738 b=591486 followup for non-d2d-surface win32 builds; a=bbbreakage 2010-08-30 20:02:18 -04:00
Vladimir Vukicevic
c1e7b093a7 b=592105; [gl] clear new FBOs when resizing offscreen FBOs at correct time; r=bas a=b5 2010-08-30 19:56:42 -04:00
Bas Schouten
37b1df3df1 Bug 592024 - Don't clear shared D3D9/D2D surfaces in cairo_d2d_create_for_handle because D3D9 and D2D need a lot of synchronization points. Instead, put a clear in DrawRegion, which already has synchronization points. r=jrmuizel a=blocking 2010-09-02 15:07:26 -04:00
Vladimir Vukicevic
70490d6dea b=591486; implement gfx feature blocklist; r=jrmuizel; a=b5 2010-08-30 17:45:29 -04:00
Matt Woodrow
580d5fa9de Bug 587678 - Implement ImageLayerOGL::GetCurrentAsSurface for YUV surfaces. r=bas a=blocking2.0:beta6+ 2010-09-03 23:27:04 -04:00
Matt Woodrow
3b8fe67d49 Bug 593530 - Don't leak the DeviceManagerD3D9 if initializing it fails. r=joe a=blocking2.0:beta6+ 2010-09-03 23:21:26 -04:00
Timothy Nikkel
1573f4c076 Bug 590403. If we are asked to create a similar surface and our underling surface isn't valid just return null. r=jmuizelaar 2010-08-27 18:15:08 -05:00
Chris Jones
49048c0d61 Merge m-c --> cedar
--HG--
rename : layout/style/test/test_hover.html => layout/style/test/hover_helper.html
2010-08-31 00:35:03 -05:00
Timothy Nikkel
72cb3f4b66 Revert to rev 36a5e2fa01c9 2010-08-28 01:11:22 -05:00
Timothy Nikkel
78f46f0276 Bug 590403. If we are asked to create a similar surface and our underling surface isn't valid just return null. r=jmuizelaar 2010-08-27 18:15:08 -05:00
Bas Schouten
f72e7d2c0d Bug 574976: Follow-up, process one more review comment. r=jrmuizel a=blocking-beta5 2010-08-27 22:24:42 +00:00
Bas Schouten
6684d88514 Bug 574976: Read the system cleartype pref an adhere to the expected behavior. r=jrmuizel a=blocking-beta5 2010-08-27 22:12:06 +00:00
Bas Schouten
a67e91641e Bug 573013: Report more appropriate errors from acquire_source_image. r=jrmuizel a=blocking-beta5 2010-08-27 22:12:03 +00:00
Timothy Nikkel
1a50041f86 imported patch returnnullincreatesimilar 2010-08-26 22:01:43 -05:00
Chris Jones
8992432666 Merge m-c --> cedar 2010-08-26 21:36:43 -05:00
Jonathan Kew
a8bc9dd110 bug 569510 - check validity of mScaledFont before passing to cairo APIs. r=jdaggett a=blocking2.0 2010-08-27 14:16:07 +01:00
Justin Wood
9a1b8c7550 Fix thebes errors in non libXUL and when D3D is not enabled. r+=Bas over irc. a=Bustage Fix 2010-08-26 18:26:47 -04:00