Title: [89436] trunk/Source/WebKit2
Revision
89436
Author
[email protected]
Date
2011-06-22 09:11:54 -0700 (Wed, 22 Jun 2011)

Log Message

Don't use an alpha channel when drawing the web page on Windows

We never use the alpha channel in the end anyway (because we never render into a layered
window, which is the only kind of window that supports alpha). And using an alpha channel is
tricky to get right since GDI doesn't support alpha (and often writes 0x0 into the alpha
channel).

Fixes <http://webkit.org/b/63075> <rdar://problem/9648113> REGRESSION (r88978): Text inside
form controls looks really awful on Windows XP

Reviewed by Anders Carlsson.

* WebProcess/WebPage/win/DrawingAreaImplWin.cpp:
(WebKit::DrawingAreaImpl::createGraphicsContext): Specify false for the hasAlpha parameter
to the GraphicsContext constructor.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (89435 => 89436)


--- trunk/Source/WebKit2/ChangeLog	2011-06-22 16:03:55 UTC (rev 89435)
+++ trunk/Source/WebKit2/ChangeLog	2011-06-22 16:11:54 UTC (rev 89436)
@@ -1,3 +1,21 @@
+2011-06-22  Adam Roben  <[email protected]>
+
+        Don't use an alpha channel when drawing the web page on Windows
+
+        We never use the alpha channel in the end anyway (because we never render into a layered
+        window, which is the only kind of window that supports alpha). And using an alpha channel is
+        tricky to get right since GDI doesn't support alpha (and often writes 0x0 into the alpha
+        channel).
+
+        Fixes <http://webkit.org/b/63075> <rdar://problem/9648113> REGRESSION (r88978): Text inside
+        form controls looks really awful on Windows XP
+
+        Reviewed by Anders Carlsson.
+
+        * WebProcess/WebPage/win/DrawingAreaImplWin.cpp:
+        (WebKit::DrawingAreaImpl::createGraphicsContext): Specify false for the hasAlpha parameter
+        to the GraphicsContext constructor.
+
 2011-06-22  Carlos Garcia Campos  <[email protected]>
 
         Reviewed by Martin Robinson.

Modified: trunk/Source/WebKit2/WebProcess/WebPage/win/DrawingAreaImplWin.cpp (89435 => 89436)


--- trunk/Source/WebKit2/WebProcess/WebPage/win/DrawingAreaImplWin.cpp	2011-06-22 16:03:55 UTC (rev 89435)
+++ trunk/Source/WebKit2/WebProcess/WebPage/win/DrawingAreaImplWin.cpp	2011-06-22 16:11:54 UTC (rev 89436)
@@ -54,7 +54,10 @@
 PassOwnPtr<GraphicsContext> DrawingAreaImpl::createGraphicsContext(ShareableBitmap* bitmap)
 {
     HDC bitmapDC = bitmap->windowsContext();
-    return adoptPtr(new GraphicsContext(bitmapDC, true));
+    // FIXME: We should really be checking m_webPage->draws[Transparent]Background() to determine
+    // whether to have an alpha channel or not. But currently we always render into a non-layered
+    // window, so the alpha channel doesn't matter anyway.
+    return adoptPtr(new GraphicsContext(bitmapDC, false));
 }
 
 } // namespace WebKit
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to