2009-03-13 Stephen White <senorblanco@chromium.org>
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 13 Mar 2009 22:47:20 +0000 (22:47 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 13 Mar 2009 22:47:20 +0000 (22:47 +0000)
commit7dd3aaf167ef24c63801169b544b6a06a9b19679
treebc7aca5ea423d9bb51adc37de13d74c8ffd5f0bc
parentbf27258bf8f94d56d9291e3487ecdd0c529f514a
2009-03-13  Stephen White  <senorblanco@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=24584

        Fix transparent text rendering on Chromium.  FontChromiumWin
        was calling beginTransparencyLayer()/endTransparencyLayer(), with
        a TransparencyWin inside to do GDI ClearType rendering over an
        opaque background.  TransparencyWin does its special sauce
        in the destructor, but it was being called too late to be used
        correctly in the layer.  Put the special sauce into a new function,
        composite(), and call that explicitly instead.

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::~TransparencyWin):
        (WebCore::TransparencyWin::composite):
        (WebCore::TransparencyWin::init):
        * platform/graphics/chromium/TransparencyWin.h:
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41692 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog
WebCore/platform/graphics/chromium/FontChromiumWin.cpp
WebCore/platform/graphics/chromium/TransparencyWin.cpp
WebCore/platform/graphics/chromium/TransparencyWin.h
WebCore/rendering/RenderThemeChromiumWin.cpp