<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>63075</bug_id>
          
          <creation_ts>2011-06-21 09:56:55 -0700</creation_ts>
          <short_desc>REGRESSION (r88978): Text inside form controls looks really awful on Windows XP</short_desc>
          <delta_ts>2011-06-22 09:12:27 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>data:text/html,&lt;input value=foo&gt;</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>adachan</cc>
    
    <cc>bweinstein</cc>
    
    <cc>jhoneycutt</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>424506</commentid>
    <comment_count>0</comment_count>
      <attachid>98001</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-06-21 09:56:55 -0700</bug_when>
    <thetext>Created attachment 98001
screenshot

To reproduce:

1. Go to data:text/html,&lt;input value=foo&gt;

The text inside the text field has this horrible black fringing which makes it look too bold and chunky. See screenshot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424517</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-06-21 10:12:45 -0700</bug_when>
    <thetext>Looks like this was caused by r88978: http://trac.webkit.org/changeset/88978</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424520</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-06-21 10:13:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/9648113&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424541</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-06-21 10:37:20 -0700</bug_when>
    <thetext>Other folks at Apple have failed to repro this on Windows 7, even though I can repro on XP. My guess is that there&apos;s a difference in GDI behavior between XP and 7 that&apos;s causing the difference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424652</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-06-21 12:12:48 -0700</bug_when>
    <thetext>The bug only occurs when subpixel antialiasing is enabled. Turning off ClearType, or setting Safari&apos;s font-smoothing preference to &quot;Best for CRT&quot;, makes the bug go away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425189</commentid>
    <comment_count>5</comment_count>
      <attachid>98164</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-06-22 07:02:07 -0700</bug_when>
    <thetext>Created attachment 98164
Testcase

This testcase has the nice property that the upper-left pixel has a different appearance when the bug occurs and when it does not occur. This makes it easy to inspect the memory for the page&apos;s bitmap to see what&apos;s going on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425194</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-06-22 07:09:38 -0700</bug_when>
    <thetext>I&apos;m stepping through the code using the attached testcase.

Before RenderThemeWin::paintTextField is called, the bitmap is filled with 0xffffffff. RenderThemeWin::paintTextField then fills the text field with 0x00ffffff. Note that the alpha channel has been changed to 0.

Soon later, Font::drawGlyphs is called. At this point the first few pixels are:

0x08000808 0xff728080 0xff808080 0xff808080

The first pixel here is nearly-transparent nearly-black. The second pixel is opaque gray with the red channel darkened a little. The third and fourth pixels are opaque gray.

Over on the UI process side, ::BitBlt does preserve the alpha channel, so these same pixels end up written into the page&apos;s BackingStore bitmap. But when the page is displayed on screen, the alpha channel will be ignored, so the nearly-transparent nearly-black pixel will just become a nearly-black pixel, causing the ugly appearance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425200</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-06-22 07:16:57 -0700</bug_when>
    <thetext>One potential fix is to change DrawingAreaImpl::createGraphicsContext to create a GraphicsContext that does not support alpha. I.e., change this:

    return adoptPtr(new GraphicsContext(bitmapDC, true));

to this:

    return adoptPtr(new GraphicsContext(bitmapDC, false));

Doing so gives the following pixel values:

0xffffebbf 0xff918080 0xff808080 0xff808080

You can see that the first two pixels have changed to be opaque nearly-white and opaque nearly-gray, which is much better than opaque nearly-black!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425201</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-06-22 07:17:43 -0700</bug_when>
    <thetext>Making this change also does not reintroduce bug 62690.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425267</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-06-22 08:52:13 -0700</bug_when>
    <thetext>Rolling out r88978 changes the behavior of RenderThemeWin::paintTextField so that the 0xffffffff pixels keep that value. DrawThemeBackground still fills the temporary bitmap inside the LocalWindowsContext with 0x00ffffff as before, but GraphicsContext::releaseWindowsContext ignores the alpha channel when blitting back into the original GraphicsContext, so opaque white is preserved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425277</commentid>
    <comment_count>10</comment_count>
      <attachid>98180</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-06-22 09:05:34 -0700</bug_when>
    <thetext>Created attachment 98180
Don&apos;t use an alpha channel when drawing the web page on Windows</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425280</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-06-22 09:12:27 -0700</bug_when>
    <thetext>Committed r89436: &lt;http://trac.webkit.org/changeset/89436&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>98001</attachid>
            <date>2011-06-21 09:56:55 -0700</date>
            <delta_ts>2011-06-21 09:56:55 -0700</delta_ts>
            <desc>screenshot</desc>
            <filename>screenshot.png</filename>
            <type>image/png</type>
            <size>2152</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAmYAAAAhCAMAAABEMJdFAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
jwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRF
AAAAAABFAABxRQAAcQAARUVFAEWFAEWXAHG7RZe7cZeXf525RZfhcbv/hkUAl0UAu3EA4ZdF4btx
/7txl7uXl+H/u//hu////+GX//+74f/////h////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLtxKAAAABl0RVh0U29mdHdhcmUAUGFpbnQuTkVU
IHYzLjUuODc7gF0AAAS1SURBVHhe7ZuLctMwEEXdBmigLU0IpQXy/9/J6rG7dyWZKI7tiRp5ppPY
euxDR1drMgzHfvUMLJ6BYXEL3UDPwLFj1iFYIQMdsxWS3E10zDoDK2SgY7ZCkruJjllnYIUMrILZ
Y79uNgOB4XUwW2G/dBNXmYHHEma7ga6HP3M7HG3NPW2f7/ozUMDs78vwdDzuh+e5ve+YzZ3RZuYr
YPa+uXsl/w/Pvz8Rb4fh/o3A+/oyDO4BwZfdkfTdvx1p2M/Nl+/DlsbuSAvdn01Dx6wZLOZ2tIgZ
cUN6dkTM7l4PDqZ9gA7uvEN7Qup9407aH9TmBj571Dpmc69Xo/OVarO9K82IJ8TsidSK2DkQRf5Q
lTsnXb53EEHfeCgXdouqmXNiyhpMGZeb4ifFlkl+FWJJJi8EXJsDv8AVbkGvqv6jC1B8BXCwkKBV
YUadtv5k5bN2uP/li7v8IlshvoE/KVL7IG+wPeTOd/R30Y75xm36KabZNht2Dehq9HDiGmbDpq/O
OMtZxOJ/rbVKzHC62qnLpBUwO7jan0DbVmHmCEPMaNC3DT0axUxJcV1yIMKih6gkHRFN7Z9ilvDG
AxXi4I95DrNZb8sprUl0x6weM1fFO21yqPErwOih6UXMlWxRzeh7qOyKtZmhSmhKccsahLy4jCw5
qmYwcVS5FOA4h4CNMKMsgnFvxg+wGod38j1jWLFW2HWkaqhpzfQebKkjmA+M07qLGyuEkpwd5jyA
HWkj1mFlhGqelg7NnbPoBMlX9aHoH6/NHFafATOSM/+mejFmImvxUOMciijFxDA/IIH+IAz9c6zi
89OY6SS8RDGjbDgDhG1a/ONo9QQiQT3357eYUpswHkeqFzwIKBIP/GDJR4Y+lB0q9pwhsYaZrqEq
61OuzSZNFQd5DSxeUptpoRSSoAFqbRYik50k2Pj+sTH2CE9EhXIIRKyyk5hns/7y0qjRrA4E13L3
QRyzleIHHLn5BNdhe2AaoJBM4tTUGXQSWjF5WpNw+JpX2KhLqdklkHkJHPmH3YCZ/LGccGymQeDT
L7CTY4YVswQMrMHkGMJSLCY/sQLZhuVAlcz2RJgd7Uk4vH0EGFlxiMSqzknMornCzoR3nPgVgsMU
G5TCTobpoD7Q1cp5PBeR2dWMxGzsZ6oRzLBisBqenz0xKxlmoGZGZ1QrUOxGSjHJHUArUpW81apI
gLbat5tFMJMwklJQZT9yk6qkeKNHQZhCKROuAmtXjdl/OI+Ymb2RQmGyoz1l/+fh817kBShhhtwo
IMig5lsXsq42SzEzdZAqdFp2iUH1t6o2U9xV+lgvOV94xHPoKZZidgyzmAeTznNFTPrPrmYVmEFp
ZZQMay5DmF0J3WlJDRTFT9MvPaFyA8U5hZkeiHDuibwZ/YjbwBrkqkBXHxTC6IgOF0uSDDm+UYZ4
6iRWcAOKXqvIYYh6CpUCPzRlAvZvBbPJfp4aaNToVGfbfsHQ8wxdX+/VQl9ZzZbL9PSM2V8BlvPw
CmeenrQzg/lImFX8SJdnJxwUt3mtF/qHwew2QWkl6o5ZKyvVtJ+rYnaz/+GiBx42yc2WJ01rRHPO
d8yaW7IWHe6YtbhqzfncMWtuyVp0+B8Bkk8LbizBrAAAAABJRU5ErkJggg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>98164</attachid>
            <date>2011-06-22 07:02:07 -0700</date>
            <delta_ts>2011-06-22 07:02:07 -0700</delta_ts>
            <desc>Testcase</desc>
            <filename>input-text.html</filename>
            <type>text/html</type>
            <size>168</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">PHN0eWxlPgogICAgaW5wdXQgewogICAgICAgIGNvbG9yOiBncmF5OwogICAgICAgIGZvbnQtc2l6
ZTogNTBweDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAtMTdweDsK
ICAgICAgICBsZWZ0OiAtMTBweDsKICAgIH0KPC9zdHlsZT4KPGlucHV0IHZhbHVlPWZvbz4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98180</attachid>
            <date>2011-06-22 09:05:34 -0700</date>
            <delta_ts>2011-06-22 09:07:06 -0700</delta_ts>
            <desc>Don&apos;t use an alpha channel when drawing the web page on Windows</desc>
            <filename>bug-63075-20110622120551.patch</filename>
            <type>text/plain</type>
            <size>2227</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODk0MjUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAwNGZmZTkxMjNmYzI2YmQ2
NzI0MTIzZGE3ZmYxMDE1ZDAyYzgxYjQwLi45MDVkMDRmYzdmNDc4MmRlZjU2NDQ3ZmYzY2UxOTIz
ODEyMGU0YmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDYtMjIgIEFkYW0g
Um9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgorCisgICAgICAgIERvbid0IHVzZSBhbiBhbHBoYSBj
aGFubmVsIHdoZW4gZHJhd2luZyB0aGUgd2ViIHBhZ2Ugb24gV2luZG93cworCisgICAgICAgIFdl
IG5ldmVyIHVzZSB0aGUgYWxwaGEgY2hhbm5lbCBpbiB0aGUgZW5kIGFueXdheSAoYmVjYXVzZSB3
ZSBuZXZlciByZW5kZXIgaW50byBhIGxheWVyZWQKKyAgICAgICAgd2luZG93LCB3aGljaCBpcyB0
aGUgb25seSBraW5kIG9mIHdpbmRvdyB0aGF0IHN1cHBvcnRzIGFscGhhKS4gQW5kIHVzaW5nIGFu
IGFscGhhIGNoYW5uZWwgaXMKKyAgICAgICAgdHJpY2t5IHRvIGdldCByaWdodCBzaW5jZSBHREkg
ZG9lc24ndCBzdXBwb3J0IGFscGhhIChhbmQgb2Z0ZW4gd3JpdGVzIDB4MCBpbnRvIHRoZSBhbHBo
YQorICAgICAgICBjaGFubmVsKS4KKworICAgICAgICBGaXhlcyA8aHR0cDovL3dlYmtpdC5vcmcv
Yi82MzA3NT4gPHJkYXI6Ly9wcm9ibGVtLzk2NDgxMTM+IFJFR1JFU1NJT04gKHI4ODk3OCk6IFRl
eHQgaW5zaWRlCisgICAgICAgIGZvcm0gY29udHJvbHMgbG9va3MgcmVhbGx5IGF3ZnVsIG9uIFdp
bmRvd3MgWFAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS93aW4vRHJhd2luZ0FyZWFJbXBsV2luLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6RHJhd2luZ0FyZWFJbXBsOjpjcmVhdGVHcmFwaGljc0NvbnRleHQpOiBTcGVj
aWZ5IGZhbHNlIGZvciB0aGUgaGFzQWxwaGEgcGFyYW1ldGVyCisgICAgICAgIHRvIHRoZSBHcmFw
aGljc0NvbnRleHQgY29uc3RydWN0b3IuCisKIDIwMTEtMDYtMjEgIE1PUklUQSBIYWppbWUgIDxt
b3JyaXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjg5
NDAxIGFuZCByODk0MDMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2Uvd2luL0RyYXdpbmdBcmVhSW1wbFdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2Uvd2luL0RyYXdpbmdBcmVhSW1wbFdpbi5jcHAKaW5kZXggYjM1NWI3OGE3M2I1
Y2VjNWY3NGUyODU0MDljMGUyOWI0YzkzMGM4Yi4uNGZlYjAwMWZhNGFiMzA2ZDA0ZWEyYzcyY2M4
OTUyY2RiMGZmMzg2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL3dpbi9EcmF3aW5nQXJlYUltcGxXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS93aW4vRHJhd2luZ0FyZWFJbXBsV2luLmNwcApAQCAtNTQsNyArNTQsMTAg
QEAgdm9pZCBEcmF3aW5nQXJlYUltcGw6OnNjaGVkdWxlQ2hpbGRXaW5kb3dHZW9tZXRyeVVwZGF0
ZShjb25zdCBXaW5kb3dHZW9tZXRyeSYgZ2UKIFBhc3NPd25QdHI8R3JhcGhpY3NDb250ZXh0PiBE
cmF3aW5nQXJlYUltcGw6OmNyZWF0ZUdyYXBoaWNzQ29udGV4dChTaGFyZWFibGVCaXRtYXAqIGJp
dG1hcCkKIHsKICAgICBIREMgYml0bWFwREMgPSBiaXRtYXAtPndpbmRvd3NDb250ZXh0KCk7Ci0g
ICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBHcmFwaGljc0NvbnRleHQoYml0bWFwREMsIHRydWUpKTsK
KyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHJlYWxseSBiZSBjaGVja2luZyBtX3dlYlBhZ2UtPmRy
YXdzW1RyYW5zcGFyZW50XUJhY2tncm91bmQoKSB0byBkZXRlcm1pbmUKKyAgICAvLyB3aGV0aGVy
IHRvIGhhdmUgYW4gYWxwaGEgY2hhbm5lbCBvciBub3QuIEJ1dCBjdXJyZW50bHkgd2UgYWx3YXlz
IHJlbmRlciBpbnRvIGEgbm9uLWxheWVyZWQKKyAgICAvLyB3aW5kb3csIHNvIHRoZSBhbHBoYSBj
aGFubmVsIGRvZXNuJ3QgbWF0dGVyIGFueXdheS4KKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IEdy
YXBoaWNzQ29udGV4dChiaXRtYXBEQywgZmFsc2UpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0Cg==
</data>
<flag name="review"
          id="92331"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>