<?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>25082</bug_id>
          
          <creation_ts>2009-04-07 14:26:10 -0700</creation_ts>
          <short_desc>Clean up repaint logic when composited layers come and go</short_desc>
          <delta_ts>2009-04-07 15:41:20 -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>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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 name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>116798</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-04-07 14:26:10 -0700</bug_when>
    <thetext>The current code that tries to repaint when RenderLayers become, and stop being compositing does not get it right. This needs cleaning up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116800</commentid>
    <comment_count>1</comment_count>
      <attachid>29317</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-04-07 14:32:55 -0700</bug_when>
    <thetext>Created attachment 29317
Patch, changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116802</commentid>
    <comment_count>2</comment_count>
      <attachid>29317</attachid>
    <who name="">mitz</who>
    <bug_when>2009-04-07 14:41:34 -0700</bug_when>
    <thetext>Comment on attachment 29317
Patch, changelog

&gt; +    if (!repaintContainer)
&gt; +        repaintContainer= m_renderView;

Missing space before the =.

&gt; +    // Update the compositing state of the given layer. Returns true if that state changed.
&gt; +    bool updateLayerCompositingState(RenderLayer*, bool mustRepaint = true);

I would like to channel Darin Adler and suggest that you use an enum instead of a bool.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116813</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-04-07 15:41:20 -0700</bug_when>
    <thetext>I did the enum.
http://trac.webkit.org/changeset/42291</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29317</attachid>
            <date>2009-04-07 14:32:55 -0700</date>
            <delta_ts>2009-04-07 14:41:34 -0700</delta_ts>
            <desc>Patch, changelog</desc>
            <filename>25082_patch.txt</filename>
            <type>text/plain</type>
            <size>11586</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MzBjOThjNi4uNDUzMjA2YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSw0MCBAQAogMjAwOS0wNC0wNyAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjUwODIKKyAgICAgICAgCisgICAgICAgIENsZWFuIHVwIHJlcGFpbnQgbG9naWMgd2hlbiBS
ZW5kZXJMYXllcnMgYmVjb21lIGFuZCBzdG9wIGJlaW5nIGNvbXBvc2l0ZWQuCisKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnJlbmRlcmVyQ29udGVudENo
YW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnJlcGFpbnRJbmNsdWRpbmdO
b25Db21wb3NpdGluZ0Rlc2NlbmRhbnRzKToKKyAgICAgICAgTmV3IGNvbXBvc2l0aW5nLW9ubHkg
bWV0aG9kIHRoYXQgcmVwYWludHMgYSBsYXllciBhbmQgYWxsIGl0cyBub24tY29tcG9zaXRlZCBk
ZXNjZW5kYW50cy4KKyAgICAgICAgVGFrZXMgYSByZXBhaW50Q29udGFpbmVyIGZvciBwZXJmb3Jt
YW5jZTsgYWxsIHRoZSByZXBhaW50cyBuZWNlc3NhcmlseSBzaGFyZSB0aGUgc2FtZQorICAgICAg
ICByZXBhaW50Q29udGFpbmVyLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29t
cG9zaXRvci5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVMYXllckNv
bXBvc2l0aW5nU3RhdGUpOgorICAgICAgICBSYXRoZXIgdGhhbiB1c2UgY2FsY3VsYXRlQ29tcG9z
aXRlZEJvdW5kcygpIHRvIGNvbXB1dGUgdGhlIHJlcGFpbnQgcmVjdCAod2hpY2ggZ2F2ZQorICAg
ICAgICB0aGUgd3JvbmcgYW5zd2VyIHdoZW4gdGhlIGNvbXBvc2l0ZWQgbGF5ZXIgdHJlZSB3YXMg
aW4gZmx1eCksIHVzZSB0aGUgbmV3CisgICAgICAgIHJlcGFpbnRPbkNvbXBvc2l0aW5nQ2hhbmdl
KCkgbWV0aG9kLgorICAgICAgICAKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9z
aXRvcjo6cmVwYWludE9uQ29tcG9zaXRpbmdDaGFuZ2UpOgorICAgICAgICBDYWxsIHJlcGFpbnRJ
bmNsdWRpbmdOb25Db21wb3NpdGluZ0Rlc2NlbmRhbnRzKCksIGFuZCBpZiBuZWNlc3NhcnkgbWFr
ZSBzdXJlCisgICAgICAgIHRoYXQgdGhlIHZpZXcvbGF5ZXIgZHJhd2luZyBzeW5jaHJvbml6YXRp
b24gaGFwcGVucy4KKyAgICAgICAgCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBv
c2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyk6CisgICAgICAgIERvIGEgcmVw
YWludE9uQ29tcG9zaXRpbmdDaGFuZ2UoKSB3aGVuIGEgbGF5ZXIgaXMgZ29pbmcgdG8gYmUgY29t
cG9zaXRlZC4gVGhpcyBpcworICAgICAgICBhIGdvb2QgcGxhY2UgYmVjYXVzZSB3ZSBoYXZlbid0
IHN0YXJ0ZWQgdG8gY2hhbmdlIHRoZSBjb21wb3NpdGluZyB0cmVlLgorICAgICAgICAKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVidWlsZENvbXBvc2l0aW5nTGF5
ZXJUcmVlKToKKyAgICAgICAgQWZ0ZXIgd2UndmUgZmluaXNoZWQgdXBkYXRpbmcgYWxsIHRoZSBk
ZXNjZW5kYW50IGxheWVycywgd2UgY2FuIGRvIGEgcmVwYWludCBmb3IKKyAgICAgICAgbGF5ZXJz
IHRoYXQgY2Vhc2VkIGNvbXBvc2l0aW5nLgorCisyMDA5LTA0LTA3ICBTaW1vbiBGcmFzZXIgIDxz
aW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmUgSHlhdHQK
ICAgICAgICAgCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yNTA2OQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDA4ZjE2OWQuLmU1YjMwMmMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTIyNSwxMiArMjI1LDEyIEBAIFJlbmRl
ckxheWVyQ29tcG9zaXRvciogUmVuZGVyTGF5ZXI6OmNvbXBvc2l0b3IoKSBjb25zdAogICAgIEFT
U0VSVChyZW5kZXJlcigpLT52aWV3KCkpOwogICAgIHJldHVybiByZW5kZXJlcigpLT52aWV3KCkt
PmNvbXBvc2l0b3IoKTsKIH0KLSAgICAKKwogdm9pZCBSZW5kZXJMYXllcjo6cmVuZGVyZXJDb250
ZW50Q2hhbmdlZCgpCiB7CiAgICAgaWYgKG1fYmFja2luZykKICAgICAgICAgbV9iYWNraW5nLT5y
ZW5kZXJlckNvbnRlbnRDaGFuZ2VkKCk7Ci19ICAgIAorfQogI2VuZGlmIC8vIFVTRShBQ0NFTEVS
QVRFRF9DT01QT1NJVElORykKIAogdm9pZCBSZW5kZXJMYXllcjo6c2V0U3RhdGljWShpbnQgc3Rh
dGljWSkKQEAgLTMwMDgsNiArMzAwOCwxNyBAQCB2b2lkIFJlbmRlckxheWVyOjpzZXRCYWNraW5n
TmVlZHNSZXBhaW50SW5SZWN0KGNvbnN0IEludFJlY3QmIHIpCiAgICAgfSBlbHNlCiAgICAgICAg
IGJhY2tpbmcoKS0+c2V0Q29udGVudHNOZWVkRGlzcGxheUluUmVjdChyKTsKIH0KKworLy8gU2lu
Y2Ugd2UncmUgb25seSBwYWludGluZyBub24tY29tcG9zaXRlZCBsYXllcnMsIHdlIGtub3cgdGhh
dCB0aGV5IGFsbCBzaGFyZSB0aGUgc2FtZSByZXBhaW50Q29udGFpbmVyLgordm9pZCBSZW5kZXJM
YXllcjo6cmVwYWludEluY2x1ZGluZ05vbkNvbXBvc2l0aW5nRGVzY2VuZGFudHMoUmVuZGVyQm94
TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpCit7CisgICAgcmVuZGVyZXIoKS0+cmVwYWlu
dFVzaW5nQ29udGFpbmVyKHJlcGFpbnRDb250YWluZXIsIHJlbmRlcmVyKCktPmNsaXBwZWRPdmVy
Zmxvd1JlY3RGb3JSZXBhaW50KHJlcGFpbnRDb250YWluZXIpKTsKKworICAgIGZvciAoUmVuZGVy
TGF5ZXIqIGN1cnIgPSBmaXJzdENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0U2libGlu
ZygpKSB7CisgICAgICAgIGlmICghY3Vyci0+aXNDb21wb3NpdGVkKCkpCisgICAgICAgICAgICBj
dXJyLT5yZXBhaW50SW5jbHVkaW5nTm9uQ29tcG9zaXRpbmdEZXNjZW5kYW50cyhyZXBhaW50Q29u
dGFpbmVyKTsKKyAgICB9Cit9CiAjZW5kaWYKIAogYm9vbCBSZW5kZXJMYXllcjo6c2hvdWxkQmVO
b3JtYWxGbG93T25seSgpIGNvbnN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCBmMTNlZGJi
Li4yNWNhYmIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTE4OCw2ICsxODgsNyBAQCBw
dWJsaWM6CiAgICAgLy8gaWYgbGF5ZXIgY29tcG9zaXRpbmcgaXMgYmVpbmcgdXNlZCwKICAgICB2
b2lkIHNldEJhY2tpbmdOZWVkc1JlcGFpbnQoKTsKICAgICB2b2lkIHNldEJhY2tpbmdOZWVkc1Jl
cGFpbnRJblJlY3QoY29uc3QgSW50UmVjdCYgcik7IC8vIHIgaXMgaW4gdGhlIGNvb3JkaW5hdGUg
c3BhY2Ugb2YgdGhlIGxheWVyJ3MgcmVuZGVyIG9iamVjdAorICAgIHZvaWQgcmVwYWludEluY2x1
ZGluZ05vbkNvbXBvc2l0aW5nRGVzY2VuZGFudHMoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFp
bnRDb250YWluZXIpOwogI2VuZGlmCiAKICAgICB2b2lkIHN0eWxlQ2hhbmdlZChTdHlsZURpZmZl
cmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmNwcAppbmRleCAwOWQ0MzVlLi44N2YxYTQ2IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTE3NCwyMCArMTc0LDE4IEBAIHZv
aWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVycyhSZW5kZXJM
YXllciogdXBkYXRlUm9vdCkKICAgICBBU1NFUlQodXBkYXRlUm9vdCB8fCAhbV9jb21wb3NpdGlu
Z0xheWVyc05lZWRVcGRhdGUpOwogfQogCi1ib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBk
YXRlTGF5ZXJDb21wb3NpdGluZ1N0YXRlKFJlbmRlckxheWVyKiBsYXllcikKK2Jvb2wgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVMYXllckNvbXBvc2l0aW5nU3RhdGUoUmVuZGVyTGF5ZXIq
IGxheWVyLCBib29sIG11c3RSZXBhaW50KQogewogICAgIGJvb2wgbmVlZHNMYXllciA9IG5lZWRz
VG9CZUNvbXBvc2l0ZWQobGF5ZXIpOwogICAgIGJvb2wgbGF5ZXJDaGFuZ2VkID0gZmFsc2U7CiAK
LSAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciA9IDA7Ci0gICAgSW50
UmVjdCByZXBhaW50UmVjdDsKLQogICAgIGlmIChuZWVkc0xheWVyKSB7CiAgICAgICAgIGVuYWJs
ZUNvbXBvc2l0aW5nTW9kZSgpOwogICAgICAgICBpZiAoIWxheWVyLT5iYWNraW5nKCkpIHsKLSAg
ICAgICAgICAgIC8vIEdldCB0aGUgcmVwYWludCBjb250YWluZXIgYmVmb3JlIHdlIG1ha2UgYmFj
a2luZyBmb3IgdGhpcyBsYXllcgotICAgICAgICAgICAgcmVwYWludENvbnRhaW5lciA9IGxheWVy
LT5yZW5kZXJlcigpLT5jb250YWluZXJGb3JSZXBhaW50KCk7Ci0gICAgICAgICAgICByZXBhaW50
UmVjdCA9IGNhbGN1bGF0ZUNvbXBvc2l0ZWRCb3VuZHMobGF5ZXIsIHJlcGFpbnRDb250YWluZXIg
PyByZXBhaW50Q29udGFpbmVyLT5sYXllcigpIDogbGF5ZXItPnJvb3QoKSk7CisKKyAgICAgICAg
ICAgIC8vIElmIHdlIG5lZWQgdG8gcmVwYWludCwgZG8gc28gYmVmb3JlIG1ha2luZyBiYWNraW5n
CisgICAgICAgICAgICBpZiAobXVzdFJlcGFpbnQpCisgICAgICAgICAgICAgICAgcmVwYWludE9u
Q29tcG9zaXRpbmdDaGFuZ2UobGF5ZXIpOwogCiAgICAgICAgICAgICBsYXllci0+ZW5zdXJlQmFj
a2luZygpOwogICAgICAgICAgICAgbGF5ZXJDaGFuZ2VkID0gdHJ1ZTsKQEAgLTE5NSwyNSArMTkz
LDE0IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVMYXllckNvbXBvc2l0aW5n
U3RhdGUoUmVuZGVyTGF5ZXIqIGxheWVyKQogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmIChsYXll
ci0+YmFja2luZygpKSB7CiAgICAgICAgICAgICBsYXllci0+Y2xlYXJCYWNraW5nKCk7Ci0gICAg
ICAgICAgICAvLyBHZXQgdGhlIHJlcGFpbnQgY29udGFpbmVyIG5vdyB0aGF0IHdlJ3ZlIGNsZWFy
ZWQgdGhlIGJhY2tpbmcKLSAgICAgICAgICAgIHJlcGFpbnRDb250YWluZXIgPSBsYXllci0+cmVu
ZGVyZXIoKS0+Y29udGFpbmVyRm9yUmVwYWludCgpOwotICAgICAgICAgICAgcmVwYWludFJlY3Qg
PSBjYWxjdWxhdGVDb21wb3NpdGVkQm91bmRzKGxheWVyLCByZXBhaW50Q29udGFpbmVyID8gcmVw
YWludENvbnRhaW5lci0+bGF5ZXIoKSA6IGxheWVyLT5yb290KCkpOwogICAgICAgICAgICAgbGF5
ZXJDaGFuZ2VkID0gdHJ1ZTsKKworICAgICAgICAgICAgLy8gSWYgd2UgbmVlZCB0byByZXBhaW50
LCBkbyBzbyBub3cgdGhhdCB3ZSd2ZSByZW1vdmVkIHRoZSBiYWNraW5nCisgICAgICAgICAgICBp
ZiAobXVzdFJlcGFpbnQpCisgICAgICAgICAgICAgICAgcmVwYWludE9uQ29tcG9zaXRpbmdDaGFu
Z2UobGF5ZXIpOwogICAgICAgICB9CiAgICAgfQogICAgIAotICAgIGlmIChsYXllckNoYW5nZWQp
IHsKLSAgICAgICAgLy8gSW52YWxpZGF0ZSB0aGUgZGVzdGluYXRpb24gaW50byB3aGljaCB0aGlz
IGxheWVyIHVzZWQgdG8gcmVuZGVyLgotICAgICAgICBsYXllci0+cmVuZGVyZXIoKS0+cmVwYWlu
dFVzaW5nQ29udGFpbmVyKHJlcGFpbnRDb250YWluZXIsIHJlcGFpbnRSZWN0KTsKLQotICAgICAg
ICBpZiAoIXJlcGFpbnRDb250YWluZXIgfHwgcmVwYWludENvbnRhaW5lciA9PSBtX3JlbmRlclZp
ZXcpIHsKLSAgICAgICAgICAgIC8vIFRoZSBjb250ZW50cyBvZiB0aGlzIGxheWVyIG1heSBiZSBt
b3ZpbmcgYmV0d2VlbiB0aGUgd2luZG93Ci0gICAgICAgICAgICAvLyBhbmQgYSBHcmFwaGljc0xh
eWVyLCBzbyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUgd2luZG93IHN5c3RlbQotICAgICAgICAg
ICAgLy8gc3luY2hyb25pemVzIHRob3NlIGNoYW5nZXMgb24gdGhlIHNjcmVlbi4KLSAgICAgICAg
ICAgIG1fcmVuZGVyVmlldy0+ZnJhbWVWaWV3KCktPnNldE5lZWRzT25lU2hvdERyYXdpbmdTeW5j
aHJvbml6YXRpb24oKTsKLSAgICAgICAgfQotICAgIH0KLQogICAgIC8vIFNlZSBpZiB3ZSBuZWVk
IGNvbnRlbnQgb3IgY2xpcHBpbmcgbGF5ZXJzLiBNZXRob2RzIGNhbGxlZCBoZXJlIHNob3VsZCBh
c3N1bWUKICAgICAvLyB0aGF0IHRoZSBjb21wb3NpdGluZyBzdGF0ZSBvZiBkZXNjZW5kYW50IGxh
eWVycyBoYXMgbm90IGJlZW4gdXBkYXRlZCB5ZXQuCiAgICAgaWYgKGxheWVyLT5iYWNraW5nKCkg
JiYgbGF5ZXItPmJhY2tpbmcoKS0+dXBkYXRlR3JhcGhpY3NMYXllckNvbmZpZ3VyYXRpb24oKSkK
QEAgLTIyMiw2ICsyMDksMjEgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUxh
eWVyQ29tcG9zaXRpbmdTdGF0ZShSZW5kZXJMYXllciogbGF5ZXIpCiAgICAgcmV0dXJuIGxheWVy
Q2hhbmdlZDsKIH0KIAordm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcGFpbnRPbkNvbXBv
c2l0aW5nQ2hhbmdlKFJlbmRlckxheWVyKiBsYXllcikKK3sKKyAgICBSZW5kZXJCb3hNb2RlbE9i
amVjdCogcmVwYWludENvbnRhaW5lciA9IGxheWVyLT5yZW5kZXJlcigpLT5jb250YWluZXJGb3JS
ZXBhaW50KCk7CisgICAgaWYgKCFyZXBhaW50Q29udGFpbmVyKQorICAgICAgICByZXBhaW50Q29u
dGFpbmVyPSBtX3JlbmRlclZpZXc7CisKKyAgICBsYXllci0+cmVwYWludEluY2x1ZGluZ05vbkNv
bXBvc2l0aW5nRGVzY2VuZGFudHMocmVwYWludENvbnRhaW5lcik7CisgICAgaWYgKHJlcGFpbnRD
b250YWluZXIgPT0gbV9yZW5kZXJWaWV3KSB7CisgICAgICAgIC8vIFRoZSBjb250ZW50cyBvZiB0
aGlzIGxheWVyIG1heSBiZSBtb3ZpbmcgYmV0d2VlbiB0aGUgd2luZG93CisgICAgICAgIC8vIGFu
ZCBhIEdyYXBoaWNzTGF5ZXIsIHNvIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSB3aW5kb3cgc3lz
dGVtCisgICAgICAgIC8vIHN5bmNocm9uaXplcyB0aG9zZSBjaGFuZ2VzIG9uIHRoZSBzY3JlZW4u
CisgICAgICAgIG1fcmVuZGVyVmlldy0+ZnJhbWVWaWV3KCktPnNldE5lZWRzT25lU2hvdERyYXdp
bmdTeW5jaHJvbml6YXRpb24oKTsKKyAgICB9Cit9CisKIC8vIFRoZSBib3VuZHMgb2YgdGhlIEdy
YXBoaWNzTGF5ZXIgY3JlYXRlZCBmb3IgYSBjb21wb3NpdGluZyBsYXllciBpcyB0aGUgdW5pb24g
b2YgdGhlIGJvdW5kcyBvZiBhbGwgdGhlIGRlc2NlbmRhbnQKIC8vIFJlbmRlckxheWVycyB0aGF0
IGFyZSByZW5kZXJlZCBieSB0aGUgY29tcG9zaXRlZCBSZW5kZXJMYXllci4KIEludFJlY3QgUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpjYWxjdWxhdGVDb21wb3NpdGVkQm91bmRzKGNvbnN0IFJlbmRl
ckxheWVyKiBsYXllciwgY29uc3QgUmVuZGVyTGF5ZXIqIGFuY2VzdG9yTGF5ZXIsIEludFJlY3Qq
IGxheWVyQm91bmRpbmdCb3gpCkBAIC0zNDAsMTEgKzM0MiwxNSBAQCB2b2lkIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRlckxheWVyKiBs
YXllciwgcwogICAgIGxheWVyLT5zZXRIYXNDb21wb3NpdGluZ0Rlc2NlbmRhbnQoZmFsc2UpOwog
ICAgIGxheWVyLT5zZXRNdXN0T3ZlcmxheUNvbXBvc2l0ZWRMYXllcnMoaW9Db21wU3RhdGUubV9z
dWJ0cmVlSXNDb21wb3NpdGluZyk7CiAgICAgCi0gICAgY29uc3QgYm9vbCBpc0NvbXBvc2l0aW5n
TGF5ZXIgPSBuZWVkc1RvQmVDb21wb3NpdGVkKGxheWVyKTsKLSAgICBpb0NvbXBTdGF0ZS5tX3N1
YnRyZWVJc0NvbXBvc2l0aW5nID0gaXNDb21wb3NpdGluZ0xheWVyOworICAgIGNvbnN0IGJvb2wg
d2lsbEJlQ29tcG9zaXRlZCA9IG5lZWRzVG9CZUNvbXBvc2l0ZWQobGF5ZXIpOworICAgIC8vIElm
IHdlIGFyZSBnb2luZyB0byBiZWNvbWUgY29tcG9zaXRlZCwgcmVwYWludCB0aGUgb2xkIHJlbmRl
cmluZyBkZXN0aW5hdGlvbgorICAgIGlmICghbGF5ZXItPmlzQ29tcG9zaXRlZCgpICYmIHdpbGxC
ZUNvbXBvc2l0ZWQpCisgICAgICAgIHJlcGFpbnRPbkNvbXBvc2l0aW5nQ2hhbmdlKGxheWVyKTsK
KworICAgIGlvQ29tcFN0YXRlLm1fc3VidHJlZUlzQ29tcG9zaXRpbmcgPSB3aWxsQmVDb21wb3Np
dGVkOwogCiAgICAgQ29tcG9zaXRpbmdTdGF0ZSBjaGlsZFN0YXRlID0gaW9Db21wU3RhdGU7Ci0g
ICAgaWYgKGlzQ29tcG9zaXRpbmdMYXllcikKKyAgICBpZiAod2lsbEJlQ29tcG9zaXRlZCkKICAg
ICAgICAgY2hpbGRTdGF0ZS5tX2NvbXBvc2l0aW5nQW5jZXN0b3IgPSBsYXllcjsKIAogICAgIC8v
IFRoZSBjaGlsZHJlbiBvZiB0aGlzIHN0YWNraW5nIGNvbnRleHQgZG9uJ3QgbmVlZCB0byBjb21w
b3NpdGUsIHVubGVzcyB0aGVyZSBpcwpAQCAtNDQ3LDEwICs0NTMsMTIgQEAgdm9pZCBSZW5kZXJM
YXllckNvbXBvc2l0b3I6OnBhcmVudEluUm9vdExheWVyKFJlbmRlckxheWVyKiBsYXllcikKIAog
dm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYnVpbGRDb21wb3NpdGluZ0xheWVyVHJlZShS
ZW5kZXJMYXllciogbGF5ZXIsIHN0cnVjdCBDb21wb3NpdGluZ1N0YXRlJiBpb0NvbXBTdGF0ZSkK
IHsKKyAgICBib29sIHdhc0NvbXBvc2l0ZWQgPSBsYXllci0+aXNDb21wb3NpdGVkKCk7CisKICAg
ICAvLyBNYWtlIHRoZSBsYXllciBjb21wb3NpdGluZyBpZiBuZWNlc3NhcnksIGFuZCBzZXQgdXAg
Y2xpcHBpbmcgYW5kIGNvbnRlbnQgbGF5ZXJzLgogICAgIC8vIE5vdGUgdGhhdCB3ZSBjYW4gb25s
eSBkbyB3b3JrIGhlcmUgdGhhdCBpcyBpbmRlcGVuZGVudCBvZiB3aGV0aGVyIHRoZSBkZXNjZW5k
YW50IGxheWVycwotICAgIC8vIGhhdmUgYmVlbiBwcm9jZXNzZWQuCi0gICAgdXBkYXRlTGF5ZXJD
b21wb3NpdGluZ1N0YXRlKGxheWVyKTsKKyAgICAvLyBoYXZlIGJlZW4gcHJvY2Vzc2VkLiBjb21w
dXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMoKSB3aWxsIGFscmVhZHkgaGF2ZSBkb25lIHRoZSBy
ZXBhaW50IGlmIG5lY2Vzc2FyeS4KKyAgICB1cGRhdGVMYXllckNvbXBvc2l0aW5nU3RhdGUobGF5
ZXIsIGZhbHNlKTsKIAogICAgIC8vIGhvc3QgdGhlIGRvY3VtZW50IGxheWVyIGluIHRoZSBSZW5k
ZXJWaWV3J3Mgcm9vdCBsYXllcgogICAgIGlmIChsYXllci0+aXNSb290TGF5ZXIoKSkKQEAgLTUy
NCw2ICs1MzIsMTAgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYnVpbGRDb21wb3Np
dGluZ0xheWVyVHJlZShSZW5kZXJMYXllciogbGF5ZXIsIHN0cnUKICAgICBpZiAobGF5ZXJCYWNr
aW5nKSB7CiAgICAgICAgIC8vIERvIHdvcmsgaGVyZSB0aGF0IHJlcXVpcmVzIHRoYXQgd2UndmUg
cHJvY2Vzc2VkIGFsbCBvZiB0aGUgZGVzY2VuZGFudCBsYXllcnMKICAgICAgICAgbGF5ZXJCYWNr
aW5nLT51cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkoKTsKKyAgICB9IGVsc2UgaWYgKHdhc0Nv
bXBvc2l0ZWQpIHsKKyAgICAgICAgLy8gV2Ugc3RvcHBlZCBiZWluZyBhIGNvbXBvc2l0aW5nIGxh
eWVyLiBOb3cgdGhhdCBvdXIgZGVzY2VuZGFudHMgaGF2ZSBiZWVuIHVkYXRlZCwgd2UgY2FuCisg
ICAgICAgIC8vIHJlcGFpbnQgb3VyIG5ldyByZW5kZXJpbmcgZGVzdGluYXRpb24uCisgICAgICAg
IHJlcGFpbnRPbkNvbXBvc2l0aW5nQ2hhbmdlKGxheWVyKTsKICAgICB9CiB9CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKaW5kZXggZDkyNmQwMS4uYjIwZWVkNyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKQEAgLTYyLDggKzYy
LDggQEAgcHVibGljOgogICAgIC8vIFJlYnVpbGQgdGhlIHRyZWUgb2YgY29tcG9zaXRpbmcgbGF5
ZXJzCiAgICAgdm9pZCB1cGRhdGVDb21wb3NpdGluZ0xheWVycyhSZW5kZXJMYXllciogdXBkYXRl
Um9vdCA9IDApOwogCi0gICAgLy8gVXBkYXRlIHRoZSBjb21wb3NpdGluZyBzdGF0ZSBvZiB0aGUg
Z2l2ZW4gbGF5ZXIuIFJldHVybnMgdHJ1ZSBpZiB0aGF0IHN0YXRlIGNoYW5nZWQKLSAgICBib29s
IHVwZGF0ZUxheWVyQ29tcG9zaXRpbmdTdGF0ZShSZW5kZXJMYXllciopOworICAgIC8vIFVwZGF0
ZSB0aGUgY29tcG9zaXRpbmcgc3RhdGUgb2YgdGhlIGdpdmVuIGxheWVyLiBSZXR1cm5zIHRydWUg
aWYgdGhhdCBzdGF0ZSBjaGFuZ2VkLgorICAgIGJvb2wgdXBkYXRlTGF5ZXJDb21wb3NpdGluZ1N0
YXRlKFJlbmRlckxheWVyKiwgYm9vbCBtdXN0UmVwYWludCA9IHRydWUpOwogCiAgICAgLy8gV2hl
dGhlciBsYXllcidzIGJhY2tpbmcgbmVlZHMgYSBncmFwaGljcyBsYXllciB0byBkbyBjbGlwcGlu
ZyBieSBhbiBhbmNlc3RvciAobm9uLXN0YWNraW5nLWNvbnRleHQgcGFyZW50IHdpdGggb3ZlcmZs
b3cpLgogICAgIGJvb2wgY2xpcHBlZEJ5QW5jZXN0b3IoUmVuZGVyTGF5ZXIqKSBjb25zdDsKQEAg
LTc1LDYgKzc1LDkgQEAgcHVibGljOgogICAgIC8vIFJldHVybiB0aGUgYm91bmRpbmcgYm94IHJl
cXVpcmVkIGZvciBjb21wb3NpdGluZyBsYXllciBhbmQgaXRzIGNoaWxkZXJuLCByZWxhdGl2ZSB0
byBhbmNlc3RvckxheWVyLgogICAgIC8vIElmIGxheWVyQm91bmRpbmdCb3ggaXMgbm90IDAsIG9u
IHJldHVybiBpdCBjb250YWlucyB0aGUgYm91bmRpbmcgYm94IG9mIHRoaXMgbGF5ZXIgb25seS4K
ICAgICBJbnRSZWN0IGNhbGN1bGF0ZUNvbXBvc2l0ZWRCb3VuZHMoY29uc3QgUmVuZGVyTGF5ZXIq
IGxheWVyLCBjb25zdCBSZW5kZXJMYXllciogYW5jZXN0b3JMYXllciwgSW50UmVjdCogbGF5ZXJC
b3VuZGluZ0JveCA9IDApOworCisgICAgLy8gUmVwYWludCB0aGUgYXBwcm9wcmlhdGUgbGF5ZXJz
IHdoZW4gdGhlIGdpdmVuIFJlbmRlckxheWVyIHN0YXJ0cyBvciBzdG9wcyBiZWluZyBjb21wb3Np
dGVkLgorICAgIHZvaWQgcmVwYWludE9uQ29tcG9zaXRpbmdDaGFuZ2UoUmVuZGVyTGF5ZXIqKTsK
ICAgICAKICAgICAvLyBOb3RpZnkgdXMgdGhhdCBhIGxheWVyIGhhcyBiZWVuIGFkZGVkIG9yIHJl
bW92ZWQKICAgICB2b2lkIGxheWVyV2FzQWRkZWQoUmVuZGVyTGF5ZXIqIHBhcmVudCwgUmVuZGVy
TGF5ZXIqIGNoaWxkKTsK
</data>
<flag name="review"
          id="14563"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>