<?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>148572</bug_id>
          
          <creation_ts>2015-08-28 07:20:14 -0700</creation_ts>
          <short_desc>[Win][HighDPI] Repaint issues after scrolling.</short_desc>
          <delta_ts>2015-09-10 11:51:06 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>peavo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1121677</commentid>
    <comment_count>0</comment_count>
    <who name="">peavo</who>
    <bug_when>2015-08-28 07:20:14 -0700</bug_when>
    <thetext>After scrolling, there are often some repaint artifacts on Windows. This can for example be seen when looking at a bugreport on bugs.webkit.org.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1121816</commentid>
    <comment_count>1</comment_count>
      <attachid>260175</attachid>
    <who name="">peavo</who>
    <bug_when>2015-08-28 13:38:33 -0700</bug_when>
    <thetext>Created attachment 260175
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1121818</commentid>
    <comment_count>2</comment_count>
    <who name="">peavo</who>
    <bug_when>2015-08-28 13:39:42 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created attachment 260175 [details]
&gt; Patch

I&apos;m not sure this is the best solution.
Maybe it is better to fix this without adding another member variable to WebView?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122165</commentid>
    <comment_count>3</comment_count>
    <who name="">peavo</who>
    <bug_when>2015-08-31 08:21:18 -0700</bug_when>
    <thetext>This patch is not correct because the FrameView parameter always is the main frame, giving incorrect results for scrolling frames other than the main frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124887</commentid>
    <comment_count>4</comment_count>
      <attachid>260923</attachid>
    <who name="">peavo</who>
    <bug_when>2015-09-10 06:44:34 -0700</bug_when>
    <thetext>Created attachment 260923
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124900</commentid>
    <comment_count>5</comment_count>
    <who name="">peavo</who>
    <bug_when>2015-09-10 08:29:33 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created attachment 260923 [details]
&gt; Patch

Fixed by repainting entire scroll area, but maybe it would be better to fix this by always rounding the device scale factor off to the nearest integer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124907</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-09-10 09:17:26 -0700</bug_when>
    <thetext>There&apos;s got to be a better way to do this. What about just adding a pixel to each side of the rect?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124940</commentid>
    <comment_count>7</comment_count>
    <who name="">peavo</who>
    <bug_when>2015-09-10 10:43:15 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; There&apos;s got to be a better way to do this. What about just adding a pixel to
&gt; each side of the rect?

Yes, I agree that we should find another way :)
I may not understand you correctly, but I don&apos;t think the problem is that we haven&apos;t invalidated a large enough area. Instead, the problem seems to be that after a few calls to the scroll method, we have blitted the contents to the wrong position, so that when &quot;normal&quot; drawing is performed, there are glitches between the blitted areas and the areas drawn &quot;normally&quot;. The reason for this is that repeated conversions from floating point scroll deltas to integer deltas, is accumulating the error from each conversion. Maybe there exists some WebCore methods which will give us the correct deltas in pixels so the blitted areas end up at the correct position?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124958</commentid>
    <comment_count>8</comment_count>
      <attachid>260923</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-09-10 11:28:48 -0700</bug_when>
    <thetext>Comment on attachment 260923
Patch

I don&apos;t think this is a good idea.  It covers up a bug and hurts performance.  I think this might be specific to WinCairo because scrollNonCompositedContents takes an IntSize.  I think we should actually find what is the problem and fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124967</commentid>
    <comment_count>9</comment_count>
    <who name="">peavo</who>
    <bug_when>2015-09-10 11:51:06 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Comment on attachment 260923 [details]
&gt; Patch
&gt; 
&gt; I don&apos;t think this is a good idea.  It covers up a bug and hurts
&gt; performance.  I think this might be specific to WinCairo because
&gt; scrollNonCompositedContents takes an IntSize.  I think we should actually
&gt; find what is the problem and fix that.

Ok, I&apos;ll have a closer look :) I&apos;m not sure that it is WinCairo only, though, since the bug is present when not in accelerated compositing mode. For me it happens with a device scale factor of 1.25, and e.g. hovering over a button after scrolling (dragging the scroll knob) on bugs.webkit.org.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260175</attachid>
            <date>2015-08-28 13:38:33 -0700</date>
            <delta_ts>2015-09-10 06:44:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148572-20150828223557.patch</filename>
            <type>text/plain</type>
            <size>2518</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4OTEyMSkKKysrIFNvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE1LTA4LTI4
ICBQZXIgQXJuZSBWb2xsYW4gIDxwZWF2b0BvdXRsb29rLmNvbT4KKworICAgICAgICBbV2luXVtI
aWdoRFBJXSBSZXBhaW50IGlzc3VlcyBhZnRlciBzY3JvbGxpbmcuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg1NzIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUbyBhdm9pZCBhY2N1bXVsYXRpbmcgZXJy
b3JzIGZyb20gZmxvYXRpbmcgcG9pbnQgdG8gaW50ZWdlciBjb252ZXJzaW9uLCB3ZSBjb21wdXRl
CisgICAgICAgIHRoZSBzY3JvbGwgZGVsdGEgYnkgc3VidHJhY3RpbmcgdGhlIG5ldyBzY3JvbGwg
cG9zdGlvbiBmcm9tIHRoZSBsYXN0IHNjcm9sbCBwb3NpdGlvbi4KKworICAgICAgICAqIFdlYlZp
ZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6c2Nyb2xsQmFja2luZ1N0b3JlKToKKyAgICAgICAg
KiBXZWJWaWV3Lmg6CisKIDIwMTUtMDgtMjcgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogRnJvbnRlbmRDaGFubmVsIHNob3VsZCBrbm93IGl0
cyBvd24gY29ubmVjdGlvbiB0eXBlCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24g
MTg5MTIxKQorKysgU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTg5OCwxNCArODk4LDE5IEBAIHZvaWQgV2ViVmlldzo6c2Nyb2xsQmFja2luZ1N0b3JlKEZy
YW1lVmkKIAogICAgIC8vIERpbWVuc2lvbnMgcGFzc2VkIHRvIHVzIGZyb20gV2ViQ29yZSBhcmUg
aW4gbG9naWNhbCB1bml0cy4gV2UgbXVzdCBjb252ZXJ0IHRvIHBpeGVsczoKICAgICBmbG9hdCBz
Y2FsZUZhY3RvciA9IGRldmljZVNjYWxlRmFjdG9yKCk7Ci0gICAgaW50IGR4ID0gY2xhbXBUbzxp
bnQ+KHNjYWxlRmFjdG9yICogbG9naWNhbER4KTsKLSAgICBpbnQgZHkgPSBjbGFtcFRvPGludD4o
c2NhbGVGYWN0b3IgKiBsb2dpY2FsRHkpOwogICAgIEZsb2F0UmVjdCBzY3JvbGxWaWV3UmVjdEZs
b2F0KGxvZ2ljYWxTY3JvbGxWaWV3UmVjdCk7CiAgICAgc2Nyb2xsVmlld1JlY3RGbG9hdC5zY2Fs
ZShzY2FsZUZhY3Rvcik7CiAgICAgSW50UmVjdCBzY3JvbGxWaWV3UmVjdChlbmNsb3NpbmdJbnRS
ZWN0KHNjcm9sbFZpZXdSZWN0RmxvYXQpKTsKICAgICBGbG9hdFJlY3QgY2xpcFJlY3QobG9naWNh
bENsaXBSZWN0KTsKICAgICBjbGlwUmVjdC5zY2FsZShzY2FsZUZhY3Rvcik7CiAKKyAgICAvLyBU
byBhdm9pZCBhY2N1bXVsYXRpbmcgZXJyb3JzIGZyb20gZmxvYXRpbmcgcG9pbnQgdG8gaW50ZWdl
ciBjb252ZXJzaW9uLCB3ZSBjb21wdXRlCisgICAgLy8gdGhlIHNjcm9sbCBkZWx0YSBieSBzdWJ0
cmFjdGluZyB0aGUgbmV3IHNjcm9sbCBwb3N0aW9uIGZyb20gdGhlIGxhc3Qgc2Nyb2xsIHBvc2l0
aW9uLgorICAgIGludCBkeCA9IG1fbGFzdFNjcm9sbFBvc2l0aW9uLngoKSAtIGZyYW1lVmlldy0+
c2Nyb2xsWCgpICogc2NhbGVGYWN0b3I7CisgICAgaW50IGR5ID0gbV9sYXN0U2Nyb2xsUG9zaXRp
b24ueSgpIC0gZnJhbWVWaWV3LT5zY3JvbGxZKCkgKiBzY2FsZUZhY3RvcjsKKworICAgIG1fbGFz
dFNjcm9sbFBvc2l0aW9uLm1vdmUoZHgsIGR5KTsKKwogICAgIGlmIChpc0FjY2VsZXJhdGVkQ29t
cG9zaXRpbmcoKSkgewogICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGJlIGRvaW5nIHNvbWV0
aGluZyBzbWFydGVyIGhlcmUsIGxpa2UgbW92aW5nIHRpbGVzIGFyb3VuZCBhbmQgcGFpbnRpbmcK
ICAgICAgICAgLy8gYW55IG5ld2x5LWV4cG9zZWQgdGlsZXMuIDxodHRwOi8vd2Via2l0Lm9yZy9i
LzUyNzE0PgpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuaAkocmV2aXNpb24gMTg5MTIxKQorKysgU291cmNl
L1dlYktpdC93aW4vV2ViVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC03MDEsNiArNzAxLDggQEAg
cHJvdGVjdGVkOgogI2VuZGlmCiAKICAgICBSZWZQdHI8V2ViVmlld0dyb3VwPiBtX3dlYlZpZXdH
cm91cDsKKworICAgIFdlYkNvcmU6OkludFBvaW50IG1fbGFzdFNjcm9sbFBvc2l0aW9uOwogfTsK
IAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260923</attachid>
            <date>2015-09-10 06:44:34 -0700</date>
            <delta_ts>2015-09-10 11:28:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148572-20150910154427.patch</filename>
            <type>text/plain</type>
            <size>2273</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4OTU2NykKKysrIFNvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE1LTA5LTEw
ICBQZXIgQXJuZSBWb2xsYW4gIDxwZWF2b0BvdXRsb29rLmNvbT4KKworICAgICAgICBbV2luXVtI
aWdoRFBJXSBSZXBhaW50IGlzc3VlcyBhZnRlciBzY3JvbGxpbmcuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg1NzIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUbyBhdm9pZCByZXBhaW50IGdsaXRjaGVz
IGNhdXNlZCBieSBhY2N1bXVsYXRpbmcgZXJyb3JzIHdoZW4gY29udmVydGluZworICAgICAgICBm
bG9hdGluZyBwb2ludHMgdG8gaW50ZWdlcnMsIHdlIHJlcGFpbnQgdGhlIGVudGlyZSByZWdpb24g
YWZmZWN0ZWQgYnkKKyAgICAgICAgc2Nyb2xsaW5nLiBUaGlzIGlzIHN1Ym9wdGltYWwsIHNpbmNl
IHdlIHNob3VsZCBiZSBhYmxlIHRvIGJsaXQgdGhlIHNjcm9sbAorICAgICAgICByZWN0YW5nbGUg
aW4gaGlnaCBEUEkgY2FzZXMgYXMgd2VsbC4gVGhpcyBzaG91bGQgYmUgZml4ZWQuCisKKyAgICAg
ICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OnNjcm9sbEJhY2tpbmdTdG9yZSk6
CisKIDIwMTUtMDktMDggIFBlciBBcm5lIFZvbGxhbiAgPHBlYXZvQG91dGxvb2suY29tPgogCiAg
ICAgICAgIFtXaW5dIEltcGxlbWVudCBET01Ob2RlOjphdHRyaWJ1dGVzLgpJbmRleDogU291cmNl
L1dlYktpdC93aW4vV2ViVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4v
V2ViVmlldy5jcHAJKHJldmlzaW9uIDE4OTU2NykKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYlZp
ZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04OTQsMTAgKzg5NCwyMSBAQCB2b2lkIFdlYlZpZXc6
OmFkZFRvRGlydHlSZWdpb24oR0RJT2JqZWN0CiAKIHZvaWQgV2ViVmlldzo6c2Nyb2xsQmFja2lu
Z1N0b3JlKEZyYW1lVmlldyogZnJhbWVWaWV3LCBpbnQgbG9naWNhbER4LCBpbnQgbG9naWNhbER5
LCBjb25zdCBJbnRSZWN0JiBsb2dpY2FsU2Nyb2xsVmlld1JlY3QsIGNvbnN0IEludFJlY3QmIGxv
Z2ljYWxDbGlwUmVjdCkKIHsKKyAgICBjb25zdCBmbG9hdCBzY2FsZUZhY3RvciA9IGRldmljZVNj
YWxlRmFjdG9yKCk7CisgICAgaWYgKHNjYWxlRmFjdG9yICE9IDEuMGYpIHsKKyAgICAgICAgLy8g
VG8gYXZvaWQgcmVwYWludCBnbGl0Y2hlcyBjYXVzZWQgYnkgYWNjdW11bGF0aW5nIGVycm9ycyB3
aGVuIGNvbnZlcnRpbmcgZmxvYXRpbmcgcG9pbnRzIHRvIGludGVnZXJzLAorICAgICAgICAvLyB3
ZSByZXBhaW50IHRoZSBlbnRpcmUgcmVnaW9uIGFmZmVjdGVkIGJ5IHNjcm9sbGluZy4gVGhpcyBp
cyBzdWJvcHRpbWFsLCBzaW5jZSB3ZSBzaG91bGQgYmUgYWJsZSB0byBibGl0CisgICAgICAgIC8v
IHRoZSBzY3JvbGwgcmVjdGFuZ2xlIGluIHRoaXMgY2FzZSBhcyB3ZWxsLiBUaGlzIHNob3VsZCBi
ZSBmaXhlZCA6KQorICAgICAgICBJbnRSZWN0IHJlcGFpbnRSZWN0ID0gbG9naWNhbFNjcm9sbFZp
ZXdSZWN0OworICAgICAgICByZXBhaW50UmVjdC5tb3ZlKGxvZ2ljYWxEeCwgbG9naWNhbER5KTsK
KyAgICAgICAgcmVwYWludFJlY3QudW5pdGUobG9naWNhbFNjcm9sbFZpZXdSZWN0KTsKKyAgICAg
ICAgcmVwYWludChyZXBhaW50UmVjdCwgdHJ1ZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
ICAgICBtX25lZWRzRGlzcGxheSA9IHRydWU7CiAKICAgICAvLyBEaW1lbnNpb25zIHBhc3NlZCB0
byB1cyBmcm9tIFdlYkNvcmUgYXJlIGluIGxvZ2ljYWwgdW5pdHMuIFdlIG11c3QgY29udmVydCB0
byBwaXhlbHM6Ci0gICAgZmxvYXQgc2NhbGVGYWN0b3IgPSBkZXZpY2VTY2FsZUZhY3RvcigpOwog
ICAgIGludCBkeCA9IGNsYW1wVG88aW50PihzY2FsZUZhY3RvciAqIGxvZ2ljYWxEeCk7CiAgICAg
aW50IGR5ID0gY2xhbXBUbzxpbnQ+KHNjYWxlRmFjdG9yICogbG9naWNhbER5KTsKICAgICBGbG9h
dFJlY3Qgc2Nyb2xsVmlld1JlY3RGbG9hdChsb2dpY2FsU2Nyb2xsVmlld1JlY3QpOwo=
</data>
<flag name="review"
          id="286122"
          type_id="1"
          status="-"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>