<?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>7947</bug_id>
          
          <creation_ts>2006-03-23 16:13:57 -0800</creation_ts>
          <short_desc>Add repaint testing support to run-webkit-tests</short_desc>
          <delta_ts>2006-03-25 14:21:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>37450</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2006-03-23 16:13:57 -0800</bug_when>
    <thetext>[This is different from bug 6905]

By forcing WebCore to paint one line or column of pixels at a time, it is possible to detect objects that do not repaint correctly and to automate tests for repaint bugs. Just by running in this mode over some of the existing tests I spotted two repaint bugs.

I am going to attach a patch to DRT and run-webkit-tests that adds this test mode both as an option to run-webkit-tests (to use on existing tests) and as a layoutTestController option (to be used by repaint regression tests).

Unfortunately, as I have found out today, when sweeping vertically, almost every test fails to repaint correctly, since Times paints one line of faint pixels above the line rect (the problem of fonts painting outside their line bounds is known, see bug 6274). Still, I think the option is useful, at least for automating repaint tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37451</commentid>
    <comment_count>1</comment_count>
      <attachid>7265</attachid>
    <who name="">mitz</who>
    <bug_when>2006-03-23 16:18:22 -0800</bug_when>
    <thetext>Created attachment 7265
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37453</commentid>
    <comment_count>2</comment_count>
      <attachid>7265</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-23 16:49:27 -0800</bug_when>
    <thetext>Comment on attachment 7265
Patch

Looks really cool. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37579</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-03-25 14:21:24 -0800</bug_when>
    <thetext>Landed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>7265</attachid>
            <date>2006-03-23 16:18:22 -0800</date>
            <delta_ts>2006-03-23 16:49:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>7947_r1.patch</filename>
            <type>text/plain</type>
            <size>6161</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDEzNDYxKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDYtMDMtMjQgIE1pdHogUGV0dGVsICA8b3Bl
bmRhcndpbi5vcmdAbWl0enBldHRlbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgLSBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hv
d19idWcuY2dpP2lkPTc5NDcKKyAgICAgICAgICBBZGQgcmVwYWludCB0ZXN0aW5nIHN1cHBvcnQg
dG8gcnVuLXdlYmtpdC10ZXN0cworCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRl
clRyZWUubToKKyAgICAgICAgKG1haW4pOiBBZGRlZCAtLXJlcGFpbnQgYW5kIC0taG9yaXpvbnRh
bC1zd2VlcCBvcHRpb25zLgorICAgICAgICAoZHVtcCk6IFJlcGFpbnQgbGluZS1ieS1saW5lIG9y
IGNvbHVtbi1ieS1jb2x1bW4gd2hlbiB0aGUgYXBwcm9wcmlhdGUgb3B0aW9uCisgICAgICAgIGlz
IHNlbGVjdGVkLgorICAgICAgICAoK1tMYXlvdXRUZXN0Q29udHJvbGxlciBpc1NlbGVjdG9yRXhj
bHVkZWRGcm9tV2ViU2NyaXB0Ol0pOiBBZGRlZCB0ZXN0UmVwYWludCgpCisgICAgICAgIGFuZCBy
ZXBhaW50U3dlZXBIb3Jpem9udGFsbHkoKSBtZXRob2RzIHRvIGxheW91dFRlc3RDb250cm9sbGVy
LgorICAgICAgICAoLVtMYXlvdXRUZXN0Q29udHJvbGxlciB0ZXN0UmVwYWludF0pOgorICAgICAg
ICAoLVtMYXlvdXRUZXN0Q29udHJvbGxlciByZXBhaW50U3dlZXBIb3Jpem9udGFsbHldKToKKyAg
ICAgICAgKGR1bXBSZW5kZXJUcmVlKToKKyAgICAgICAgKiBTY3JpcHRzL3J1bi13ZWJraXQtdGVz
dHM6IEFkZGVkIC0tcmVwYWludCBhbmQgLS1ob3Jpem9udGFsLXN3ZWVwIG9wdGlvbnMKKyAgICAg
ICAgdG8gZm9yY2UgdGhlc2Ugc2V0dGluZ3Mgb24gdGVzdHMgdGhhdCBkbyBub3QgYXNrIGZvciB0
aGVtLgorCiAyMDA2LTAzLTIxICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBNYWNpZWoKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0R1bXBSZW5kZXJUcmVlLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvRHVtcFJlbmRlclRyZWUubQkocmV2aXNpb24gMTM0NjEpCisrKyBXZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5tCSh3b3JraW5nIGNvcHkpCkBAIC04MCw2ICs4MCwx
MCBAQCBzdGF0aWMgQk9PTCB3YWl0VG9EdW1wOwogc3RhdGljIEJPT0wgZHVtcEFzVGV4dDsKIHN0
YXRpYyBCT09MIGR1bXBUaXRsZUNoYW5nZXM7CiBzdGF0aWMgaW50IGR1bXBQaXhlbHMgPSBOTzsK
K3N0YXRpYyBpbnQgdGVzdFJlcGFpbnREZWZhdWx0ID0gTk87CitzdGF0aWMgQk9PTCB0ZXN0UmVw
YWludCA9IE5POworc3RhdGljIGludCByZXBhaW50U3dlZXBIb3Jpem9udGFsbHlEZWZhdWx0ID0g
Tk87CitzdGF0aWMgQk9PTCByZXBhaW50U3dlZXBIb3Jpem9udGFsbHkgPSBOTzsKIHN0YXRpYyBp
bnQgZHVtcFRyZWUgPSBZRVM7CiBzdGF0aWMgQk9PTCBwcmludFNlcGFyYXRvcnM7CiBzdGF0aWMg
TlNTdHJpbmcgKmN1cnJlbnRUZXN0ID0gbmlsOwpAQCAtMTgxLDYgKzE4NSw4IEBAIGludCBtYWlu
KGludCBhcmdjLCBjb25zdCBjaGFyICphcmd2W10pCiAgICAgICAgIHsicGl4ZWwtdGVzdHMiLCBu
b19hcmd1bWVudCwgJmR1bXBQaXhlbHMsIFlFU30sCiAgICAgICAgIHsidHJlZSIsIG5vX2FyZ3Vt
ZW50LCAmZHVtcFRyZWUsIFlFU30sCiAgICAgICAgIHsibm90cmVlIiwgbm9fYXJndW1lbnQsICZk
dW1wVHJlZSwgTk99LAorICAgICAgICB7InJlcGFpbnQiLCBub19hcmd1bWVudCwgJnRlc3RSZXBh
aW50RGVmYXVsdCwgWUVTfSwKKyAgICAgICAgeyJob3Jpem9udGFsLXN3ZWVwIiwgbm9fYXJndW1l
bnQsICZyZXBhaW50U3dlZXBIb3Jpem9udGFsbHlEZWZhdWx0LCBZRVN9LAogICAgICAgICB7TlVM
TCwgMCwgTlVMTCwgMH0KICAgICB9OwogCkBAIC0zNjQsNyArMzcwLDIxIEBAIHN0YXRpYyB2b2lk
IGR1bXAodm9pZCkKICAgICAgICAgICAgIE5TR3JhcGhpY3NDb250ZXh0ICpuc0NvbnRleHQgPSBb
TlNHcmFwaGljc0NvbnRleHQgZ3JhcGhpY3NDb250ZXh0V2l0aEdyYXBoaWNzUG9ydDpjZ0NvbnRl
eHQgZmxpcHBlZDpOT107CiAgICAgICAgICAgICBbTlNHcmFwaGljc0NvbnRleHQgc2F2ZUdyYXBo
aWNzU3RhdGVdOwogICAgICAgICAgICAgW05TR3JhcGhpY3NDb250ZXh0IHNldEN1cnJlbnRDb250
ZXh0Om5zQ29udGV4dF07Ci0gICAgICAgICAgICBbdmlldyBkaXNwbGF5UmVjdElnbm9yaW5nT3Bh
Y2l0eTpOU01ha2VSZWN0KDAsIDAsIHdlYlZpZXdTaXplLndpZHRoLCB3ZWJWaWV3U2l6ZS5oZWln
aHQpIGluQ29udGV4dDpuc0NvbnRleHRdOworICAgICAgICAgICAgaWYgKCF0ZXN0UmVwYWludCkK
KyAgICAgICAgICAgICAgICBbdmlldyBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTpOU01ha2VS
ZWN0KDAsIDAsIHdlYlZpZXdTaXplLndpZHRoLCB3ZWJWaWV3U2l6ZS5oZWlnaHQpIGluQ29udGV4
dDpuc0NvbnRleHRdOworICAgICAgICAgICAgZWxzZSBpZiAoIXJlcGFpbnRTd2VlcEhvcml6b250
YWxseSkgeworICAgICAgICAgICAgICAgIE5TUmVjdCBsaW5lID0gTlNNYWtlUmVjdCgwLCAwLCB3
ZWJWaWV3U2l6ZS53aWR0aCwgMSk7CisgICAgICAgICAgICAgICAgd2hpbGUgKGxpbmUub3JpZ2lu
LnkgPCB3ZWJWaWV3U2l6ZS5oZWlnaHQpIHsKKyAgICAgICAgICAgICAgICAgICAgW3ZpZXcgZGlz
cGxheVJlY3RJZ25vcmluZ09wYWNpdHk6bGluZSBpbkNvbnRleHQ6bnNDb250ZXh0XTsKKyAgICAg
ICAgICAgICAgICAgICAgbGluZS5vcmlnaW4ueSsrOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgTlNSZWN0IGNvbHVtbiA9IE5TTWFrZVJl
Y3QoMCwgMCwgMSwgd2ViVmlld1NpemUuaGVpZ2h0KTsKKyAgICAgICAgICAgICAgICB3aGlsZSAo
Y29sdW1uLm9yaWdpbi54IDwgd2ViVmlld1NpemUud2lkdGgpIHsKKyAgICAgICAgICAgICAgICAg
ICAgW3ZpZXcgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6Y29sdW1uIGluQ29udGV4dDpuc0Nv
bnRleHRdOworICAgICAgICAgICAgICAgICAgICBjb2x1bW4ub3JpZ2luLngrKzsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBbTlNHcmFwaGljc0NvbnRleHQg
cmVzdG9yZUdyYXBoaWNzU3RhdGVdOwogICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBoYXMg
dGhlIGFjdHVhbCBoYXNoIHRvIGNvbXBhcmUgdG8gdGhlIGV4cGVjdGVkIGltYWdlJ3MgaGFzaApA
QCAtNDkxLDcgKzUxMSw5IEBAIHN0YXRpYyB2b2lkIGR1bXAodm9pZCkKICAgICAgICAgICAgIHx8
IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IoZHVtcEFzVGV4dCkKICAgICAgICAgICAgIHx8IGFTZWxl
Y3RvciA9PSBAc2VsZWN0b3IoZHVtcFRpdGxlQ2hhbmdlcykKICAgICAgICAgICAgIHx8IGFTZWxl
Y3RvciA9PSBAc2VsZWN0b3Ioc2V0V2luZG93SXNLZXk6KQotICAgICAgICAgICAgfHwgYVNlbGVj
dG9yID09IEBzZWxlY3RvcihzZXRNYWluRnJhbWVJc0ZpcnN0UmVzcG9uZGVyOikpCisgICAgICAg
ICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKHNldE1haW5GcmFtZUlzRmlyc3RSZXNwb25k
ZXI6KQorICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3Rvcih0ZXN0UmVwYWludCkK
KyAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IocmVwYWludFN3ZWVwSG9yaXpv
bnRhbGx5KSkKICAgICAgICAgcmV0dXJuIE5POwogICAgIHJldHVybiBZRVM7CiB9CkBAIC01NDYs
NiArNTY4LDE2IEBAIHN0YXRpYyB2b2lkIGR1bXAodm9pZCkKICAgICAgICAgWyhXZWJIVE1MVmll
dyAqKWRvY3VtZW50VmlldyBfdXBkYXRlRm9jdXNTdGF0ZV07CiB9CiAKKy0gKHZvaWQpdGVzdFJl
cGFpbnQKK3sKKyAgICB0ZXN0UmVwYWludCA9IFlFUzsKK30KKworLSAodm9pZClyZXBhaW50U3dl
ZXBIb3Jpem9udGFsbHkKK3sKKyAgICByZXBhaW50U3dlZXBIb3Jpem9udGFsbHkgPSBZRVM7Cit9
CisKIC0gKGlkKWludm9rZVVuZGVmaW5lZE1ldGhvZEZyb21XZWJTY3JpcHQ6KE5TU3RyaW5nICop
bmFtZSB3aXRoQXJndW1lbnRzOihOU0FycmF5ICopYXJncwogewogICAgIHJldHVybiBuaWw7CkBA
IC01NzgsNiArNjEwLDggQEAgc3RhdGljIHZvaWQgZHVtcFJlbmRlclRyZWUoY29uc3QgY2hhciAq
cAogICAgIHdhaXRUb0R1bXAgPSBOTzsKICAgICBkdW1wQXNUZXh0ID0gTk87CiAgICAgZHVtcFRp
dGxlQ2hhbmdlcyA9IE5POworICAgIHRlc3RSZXBhaW50ID0gdGVzdFJlcGFpbnREZWZhdWx0Owor
ICAgIHJlcGFpbnRTd2VlcEhvcml6b250YWxseSA9IHJlcGFpbnRTd2VlcEhvcml6b250YWxseURl
ZmF1bHQ7CiAgICAgaWYgKGN1cnJlbnRUZXN0ICE9IG5pbCkKICAgICAgICAgQ0ZSZWxlYXNlKGN1
cnJlbnRUZXN0KTsKICAgICBjdXJyZW50VGVzdCA9IChOU1N0cmluZyAqKXBhdGhPclVSTFN0cmlu
ZzsKSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMJKHJldmlzaW9uIDEzNDYx
KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzCSh3b3JraW5nIGNvcHkp
CkBAIC02MSw2ICs2MSw4IEBAIGNoZGlyV2ViS2l0KCk7CiAjIEFyZ3VtZW50IGhhbmRsaW5nCiBt
eSAkdGVzdE9ubHlTVkdzID0gJyc7CiBteSAkcGl4ZWxUZXN0cyA9ICcnOworbXkgJHJlcGFpbnRU
ZXN0cyA9ICcnOworbXkgJHJlcGFpbnRTd2VlcEhvcml6b250YWxseSA9ICcnOwogbXkgJGNoZWNr
TGVha3MgPSAnJzsKIG15ICRndWFyZE1hbGxvYyA9ICcnOwogbXkgJHZlcmJvc2UgPSAwOwpAQCAt
NzQsNiArNzYsOCBAQCBteSAkdGVzdFJlc3VsdHNEaXJlY3RvcnkgPSAiL3RtcC9sYXlvdXQtCiAK
IEdldE9wdGlvbnMoJ3N2ZycgPT4gXCR0ZXN0T25seVNWR3MsIAogICAgICdwaXhlbC10ZXN0c3xw
JyA9PiBcJHBpeGVsVGVzdHMsCisgICAgJ3JlcGFpbnQtdGVzdHN8cicgPT4gXCRyZXBhaW50VGVz
dHMsCisgICAgJ2hvcml6b250YWwtc3dlZXB8aCcgPT4gXCRyZXBhaW50U3dlZXBIb3Jpem9udGFs
bHksCiAgICAgJ2xlYWtzfGwnID0+IFwkY2hlY2tMZWFrcywKICAgICAnZ3VhcmQtbWFsbG9jfGcn
ID0+IFwkZ3VhcmRNYWxsb2MsCiAgICAgJ3ZlcmJvc2V8dicgPT4gXCR2ZXJib3NlLApAQCAtODgs
NyArOTIsMTEgQEAgR2V0T3B0aW9ucygnc3ZnJyA9PiBcJHRlc3RPbmx5U1ZHcywgCiBteSAkZHVt
cFRvb2xOYW1lID0gIkR1bXBSZW5kZXJUcmVlIjsKIG15ICRyZXN1bHQgPSBzeXN0ZW0gIldlYktp
dFRvb2xzL1NjcmlwdHMvYnVpbGQtZHVtcHJlbmRlcnRyZWUiLCBAQVJHVjsKIGV4aXQgJHJlc3Vs
dCBpZiAkcmVzdWx0OwotaWYgKCR0ZXN0T25seVNWR3MpIHsKK2lmICgkcmVwYWludFN3ZWVwSG9y
aXpvbnRhbGx5KSB7CisgICAgJHJlcGFpbnRUZXN0cyA9IDE7Cit9CisKK2lmICgkdGVzdE9ubHlT
VkdzIHx8ICRyZXBhaW50VGVzdHMpIHsKICAgICAkcGl4ZWxUZXN0cyA9IDE7ICMgUGl4ZWwgdGVz
dHMgYXJlIGFsd2F5cyBvbiBmb3IgU1ZHLgogfQogCkBAIC0xNjYsNiArMTc0LDE0IEBAIGlmICgk
cGl4ZWxUZXN0cykgewogICAgIHB1c2ggQHRvb2xBcmdzLCAiLS1waXhlbC10ZXN0cyI7CiB9CiAK
K2lmICgkcmVwYWludFRlc3RzKSB7CisgICAgcHVzaCBAdG9vbEFyZ3MsICItLXJlcGFpbnQiOwor
fQorCitpZiAoJHJlcGFpbnRTd2VlcEhvcml6b250YWxseSkgeworICAgIHB1c2ggQHRvb2xBcmdz
LCAiLS1ob3Jpem9udGFsLXN3ZWVwIjsKK30KKwogcHVzaCBAdG9vbEFyZ3MsICItIjsKIAogJHwg
PSAxOwo=
</data>
<flag name="review"
          id="1933"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>