<?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>157489</bug_id>
          
          <creation_ts>2016-05-09 14:12:21 -0700</creation_ts>
          <short_desc>Clean up iOS text autosizing code</short_desc>
          <delta_ts>2016-05-09 14:57:45 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1191308</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-05-09 14:12:21 -0700</bug_when>
    <thetext>Clean up iOS text autosizing code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191309</commentid>
    <comment_count>1</comment_count>
      <attachid>278438</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-05-09 14:13:07 -0700</bug_when>
    <thetext>Created attachment 278438
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191313</commentid>
    <comment_count>2</comment_count>
      <attachid>278438</attachid>
    <who name="alan">zalan</who>
    <bug_when>2016-05-09 14:32:21 -0700</bug_when>
    <thetext>Comment on attachment 278438
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=278438&amp;action=review

&gt; Source/WebCore/rendering/RenderElement.cpp:2174
&gt; +    const RenderStyle&amp; style = renderer.style();

use auto please.

&gt; Source/WebCore/rendering/TextAutoSizing.cpp:102
&gt; +        RenderText&amp; renderText = downcast&lt;RenderText&gt;(*autoSizingNode-&gt;renderer());

auto.

&gt; Source/WebCore/rendering/TextAutoSizing.cpp:111
&gt; +        RenderText* text = downcast&lt;RenderText&gt;(autoSizingNode-&gt;renderer());

auto.

&gt; Source/WebCore/rendering/TextAutoSizing.cpp:171
&gt; +        RenderText* text = downcast&lt;RenderText&gt;(autoSizingNode-&gt;renderer());

auto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191326</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-05-09 14:57:45 -0700</bug_when>
    <thetext>https://trac.webkit.org/r200593</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278438</attachid>
            <date>2016-05-09 14:13:07 -0700</date>
            <delta_ts>2016-05-09 14:32:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157489-20160509141354.patch</filename>
            <type>text/plain</type>
            <size>12401</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWYzYmNhZjgyNmM1MzU1
Nzk1OTA1NjYwM2M3YmY4ODBmYzhlYjdmMC4uYmE2MTZjYzhlMTNkNTQ2MGViN2EwZjNlYzU0OTNm
YjkzMmEzNmNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE2LTA1LTA5ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIGlP
UyB0ZXh0IGF1dG9zaXppbmcgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU3NDg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQ2hhbmdlIHRoZSBUcmF2ZXJzZU5leHRJbmNsdXNpb25GdW5jdGlvbiBh
bmQgSGVpZ2h0VHlwZVRyYXZlcnNlTmV4dEluY2x1c2lvbkZ1bmN0aW9uCisgICAgICAgIHRvIHRh
a2UgcmVmZXJlbmNlcy4KKyAgICAgICAgCisgICAgICAgIFVzZSBkb3duY2FzdDw+IG1vcmUuCisg
ICAgICAgIAorICAgICAgICBXaGl0ZXNwYWNlIGNsZWFudXAuCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzTm9uQmxvY2tzT3JO
b25GaXhlZEhlaWdodExpc3RJdGVtcyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aW5jbHVkZU5vbkZpeGVkSGVpZ2h0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck9iamVjdDo6dHJhdmVyc2VOZXh0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1RleHRBdXRvU2l6aW5nLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlRleHRBdXRvU2l6aW5nVmFsdWU6OmFkanVzdE5vZGVTaXplcyk6CisgICAgICAgIChX
ZWJDb3JlOjpUZXh0QXV0b1NpemluZ1ZhbHVlOjpyZXNldCk6CisKIDIwMTYtMDUtMDYgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPUyBXSzJdIEZv
bnQgc2l6ZSBpbmNyZWFzZXMgb24gc29tZSBwYWdlcyBhZnRlciBuYXZpZ2F0aW5nIHRoZW4gZ29p
bmcgYmFjawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcApp
bmRleCAwZTZlM2E4NjE2MTNmNzc2MzY0NmE5M2JkMjE0OTJmNGY5ODk2YzhjLi5kZjFhMTc4YmQ0
OTU5ZjQzY2M5M2FmMTJmYjE5MDg4Y2Y2MzQxZDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcApAQCAtMzczOSwxMiArMzczOSwxMiBAQCBpbnQgUmVu
ZGVyQmxvY2tGbG93OjpsaW5lQ291bnRGb3JUZXh0QXV0b3NpemluZygpCiAgICAgcmV0dXJuIGNv
dW50OwogfQogCi1zdGF0aWMgYm9vbCBpc05vbkJsb2Nrc09yTm9uRml4ZWRIZWlnaHRMaXN0SXRl
bXMoY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXIpCitzdGF0aWMgYm9vbCBpc05vbkJsb2Nrc09y
Tm9uRml4ZWRIZWlnaHRMaXN0SXRlbXMoY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXIpCiB7Ci0g
ICAgaWYgKCFyZW5kZXItPmlzUmVuZGVyQmxvY2soKSkKKyAgICBpZiAoIXJlbmRlci5pc1JlbmRl
ckJsb2NrKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIGlmIChyZW5kZXItPmlzTGlzdEl0
ZW0oKSkKLSAgICAgICAgcmV0dXJuIHJlbmRlci0+c3R5bGUoKS5oZWlnaHQoKS50eXBlKCkgIT0g
Rml4ZWQ7CisgICAgaWYgKHJlbmRlci5pc0xpc3RJdGVtKCkpCisgICAgICAgIHJldHVybiByZW5k
ZXIuc3R5bGUoKS5oZWlnaHQoKS50eXBlKCkgIT0gRml4ZWQ7CiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKaW5kZXggZjNl
OGI0ZjhmMGMzNTY5N2FmMGZhM2MyZWE0MDE2MTQwMTYzYjBmMS4uNDQ0MGU1NDMzYjk5MDAyOGJi
NzQyMGJmZjE3YTJkNmExNDE0OTk4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJFbGVtZW50LmNwcApAQCAtMjE2OSwxNSArMjE2OSwxNSBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6
OnVwZGF0ZU91dGxpbmVBdXRvQW5jZXN0b3IoYm9vbCBoYXNPdXRsaW5lQXV0bykgY29uc3QKIH0K
IAogI2lmIEVOQUJMRShJT1NfVEVYVF9BVVRPU0laSU5HKQotc3RhdGljIFJlbmRlck9iamVjdDo6
QmxvY2tDb250ZW50SGVpZ2h0VHlwZSBpbmNsdWRlTm9uRml4ZWRIZWlnaHQoY29uc3QgUmVuZGVy
T2JqZWN0KiByZW5kZXJlcikKK3N0YXRpYyBSZW5kZXJPYmplY3Q6OkJsb2NrQ29udGVudEhlaWdo
dFR5cGUgaW5jbHVkZU5vbkZpeGVkSGVpZ2h0KGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIp
CiB7Ci0gICAgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlID0gcmVuZGVyZXItPnN0eWxlKCk7Cisg
ICAgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlID0gcmVuZGVyZXIuc3R5bGUoKTsKICAgICBpZiAo
c3R5bGUuaGVpZ2h0KCkudHlwZSgpID09IEZpeGVkKSB7Ci0gICAgICAgIGlmIChpczxSZW5kZXJC
bG9jaz4oKnJlbmRlcmVyKSkgeworICAgICAgICBpZiAoaXM8UmVuZGVyQmxvY2s+KHJlbmRlcmVy
KSkgewogICAgICAgICAgICAgLy8gRm9yIGZpeGVkIGhlaWdodCBzdHlsZXMsIGlmIHRoZSBvdmVy
ZmxvdyBzaXplIG9mIHRoZSBlbGVtZW50IHNwaWxscyBvdXQgb2YgdGhlIHNwZWNpZmllZAogICAg
ICAgICAgICAgLy8gaGVpZ2h0LCBhc3N1bWUgd2UgY2FuIGFwcGx5IHRleHQgYXV0by1zaXppbmcu
CiAgICAgICAgICAgICBpZiAoc3R5bGUub3ZlcmZsb3dZKCkgPT0gT1ZJU0lCTEUKLSAgICAgICAg
ICAgICAgICAmJiBzdHlsZS5oZWlnaHQoKS52YWx1ZSgpIDwgZG93bmNhc3Q8UmVuZGVyQmxvY2s+
KHJlbmRlcmVyKS0+bGF5b3V0T3ZlcmZsb3dSZWN0KCkubWF4WSgpKQorICAgICAgICAgICAgICAg
ICYmIHN0eWxlLmhlaWdodCgpLnZhbHVlKCkgPCBkb3duY2FzdDxSZW5kZXJCbG9jaz4ocmVuZGVy
ZXIpLmxheW91dE92ZXJmbG93UmVjdCgpLm1heFkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4g
UmVuZGVyT2JqZWN0OjpPdmVyZmxvd0hlaWdodDsKICAgICAgICAgfQogICAgICAgICByZXR1cm4g
UmVuZGVyT2JqZWN0OjpGaXhlZEhlaWdodDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHAKaW5kZXggNGQ3YTczMzM0OWRmMGE3OTc4NTkxMWM5YjY2ZGRlMjFiZDc1MTFj
My4uMWE2YTFkNDU2ODk0ZDE4N2FjZjcyYTE2NWNmZGJjYTFjNTlkNjk3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTMyNSw3ICszMjUsNyBAQCBSZW5k
ZXJPYmplY3QqIFJlbmRlck9iamVjdDo6dHJhdmVyc2VOZXh0KGNvbnN0IFJlbmRlck9iamVjdCog
c3RheVdpdGhpbiwgSGVpZ2h0VAogCiAgICAgLy8gQ2hlY2sgZm9yIHN1aXRhYmxlIGNoaWxkcmVu
LgogICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjaGlsZCA9IGZpcnN0Q2hpbGRTbG93KCk7IGNoaWxk
OyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgIG92ZXJmbG93VHlwZSA9
IGluY2x1c2lvbkZ1bmN0aW9uKGNoaWxkKTsKKyAgICAgICAgb3ZlcmZsb3dUeXBlID0gaW5jbHVz
aW9uRnVuY3Rpb24oKmNoaWxkKTsKICAgICAgICAgaWYgKG92ZXJmbG93VHlwZSAhPSBGaXhlZEhl
aWdodCkgewogICAgICAgICAgICAgY3VycmVudERlcHRoKys7CiAgICAgICAgICAgICBpZiAob3Zl
cmZsb3dUeXBlID09IE92ZXJmbG93SGVpZ2h0KQpAQCAtMzQ5LDcgKzM0OSw3IEBAIFJlbmRlck9i
amVjdCogUmVuZGVyT2JqZWN0Ojp0cmF2ZXJzZU5leHQoY29uc3QgUmVuZGVyT2JqZWN0KiBzdGF5
V2l0aGluLCBIZWlnaHRUCiAgICAgICAgIGlmICghbikKICAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogc2libGluZyA9IG4tPm5leHRTaWJsaW5n
KCk7IHNpYmxpbmc7IHNpYmxpbmcgPSBzaWJsaW5nLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAg
ICAgICBvdmVyZmxvd1R5cGUgPSBpbmNsdXNpb25GdW5jdGlvbihzaWJsaW5nKTsKKyAgICAgICAg
ICAgIG92ZXJmbG93VHlwZSA9IGluY2x1c2lvbkZ1bmN0aW9uKCpzaWJsaW5nKTsKICAgICAgICAg
ICAgIGlmIChvdmVyZmxvd1R5cGUgIT0gRml4ZWRIZWlnaHQpIHsKICAgICAgICAgICAgICAgICBp
ZiAob3ZlcmZsb3dUeXBlID09IE92ZXJmbG93SGVpZ2h0KQogICAgICAgICAgICAgICAgICAgICBu
ZXdGaXhlZERlcHRoID0gY3VycmVudERlcHRoOwpAQCAtMzY5LDcgKzM2OSw3IEBAIFJlbmRlck9i
amVjdCogUmVuZGVyT2JqZWN0Ojp0cmF2ZXJzZU5leHQoY29uc3QgUmVuZGVyT2JqZWN0KiBzdGF5
V2l0aGluLCBIZWlnaHRUCiBSZW5kZXJPYmplY3QqIFJlbmRlck9iamVjdDo6dHJhdmVyc2VOZXh0
KGNvbnN0IFJlbmRlck9iamVjdCogc3RheVdpdGhpbiwgVHJhdmVyc2VOZXh0SW5jbHVzaW9uRnVu
Y3Rpb24gaW5jbHVzaW9uRnVuY3Rpb24pIGNvbnN0CiB7CiAgICAgZm9yIChSZW5kZXJPYmplY3Qq
IGNoaWxkID0gZmlyc3RDaGlsZFNsb3coKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJs
aW5nKCkpIHsKLSAgICAgICAgaWYgKGluY2x1c2lvbkZ1bmN0aW9uKGNoaWxkKSkgeworICAgICAg
ICBpZiAoaW5jbHVzaW9uRnVuY3Rpb24oKmNoaWxkKSkgewogICAgICAgICAgICAgQVNTRVJUKCFz
dGF5V2l0aGluIHx8IGNoaWxkLT5pc0Rlc2NlbmRhbnRPZihzdGF5V2l0aGluKSk7CiAgICAgICAg
ICAgICByZXR1cm4gY2hpbGQ7CiAgICAgICAgIH0KQEAgLTM3OSw3ICszNzksNyBAQCBSZW5kZXJP
YmplY3QqIFJlbmRlck9iamVjdDo6dHJhdmVyc2VOZXh0KGNvbnN0IFJlbmRlck9iamVjdCogc3Rh
eVdpdGhpbiwgVHJhdmVycwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGZvciAoUmVu
ZGVyT2JqZWN0KiBzaWJsaW5nID0gbmV4dFNpYmxpbmcoKTsgc2libGluZzsgc2libGluZyA9IHNp
YmxpbmctPm5leHRTaWJsaW5nKCkpIHsKLSAgICAgICAgaWYgKGluY2x1c2lvbkZ1bmN0aW9uKHNp
YmxpbmcpKSB7CisgICAgICAgIGlmIChpbmNsdXNpb25GdW5jdGlvbigqc2libGluZykpIHsKICAg
ICAgICAgICAgIEFTU0VSVCghc3RheVdpdGhpbiB8fCBzaWJsaW5nLT5pc0Rlc2NlbmRhbnRPZihz
dGF5V2l0aGluKSk7CiAgICAgICAgICAgICByZXR1cm4gc2libGluZzsKICAgICAgICAgfQpAQCAt
MzkxLDcgKzM5MSw3IEBAIFJlbmRlck9iamVjdCogUmVuZGVyT2JqZWN0Ojp0cmF2ZXJzZU5leHQo
Y29uc3QgUmVuZGVyT2JqZWN0KiBzdGF5V2l0aGluLCBUcmF2ZXJzCiAgICAgICAgICAgICBuID0g
bi0+cGFyZW50KCk7CiAgICAgICAgIGlmIChuKSB7CiAgICAgICAgICAgICBmb3IgKFJlbmRlck9i
amVjdCogc2libGluZyA9IG4tPm5leHRTaWJsaW5nKCk7IHNpYmxpbmc7IHNpYmxpbmcgPSBzaWJs
aW5nLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGluY2x1c2lvbkZ1bmN0
aW9uKHNpYmxpbmcpKSB7CisgICAgICAgICAgICAgICAgaWYgKGluY2x1c2lvbkZ1bmN0aW9uKCpz
aWJsaW5nKSkgewogICAgICAgICAgICAgICAgICAgICBBU1NFUlQoIXN0YXlXaXRoaW4gfHwgIW4t
Pm5leHRTaWJsaW5nKCkgfHwgbi0+bmV4dFNpYmxpbmcoKS0+aXNEZXNjZW5kYW50T2Yoc3RheVdp
dGhpbikpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2libGluZzsKICAgICAgICAgICAg
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggZDE0NGI3
MjNkNzE0Yjg0YmVjMDZlZDA1OTljZWNhNjY2NmQ0YzI2Zi4uYjliYjZlZmE2MGQ1MWQ3NTY1MmZk
YjNlM2I3MmMxNTBjN2FmYWMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuaApAQCAtMTkwLDggKzE5MCw4IEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAgUmVuZGVyT2Jq
ZWN0KiB0cmF2ZXJzZU5leHQoY29uc3QgUmVuZGVyT2JqZWN0KiBzdGF5V2l0aGluKSBjb25zdDsK
LSAgICB0eXBlZGVmIGJvb2wgKCpUcmF2ZXJzZU5leHRJbmNsdXNpb25GdW5jdGlvbikoY29uc3Qg
UmVuZGVyT2JqZWN0Kik7Ci0gICAgdHlwZWRlZiBCbG9ja0NvbnRlbnRIZWlnaHRUeXBlICgqSGVp
Z2h0VHlwZVRyYXZlcnNlTmV4dEluY2x1c2lvbkZ1bmN0aW9uKShjb25zdCBSZW5kZXJPYmplY3Qq
KTsKKyAgICB0eXBlZGVmIGJvb2wgKCpUcmF2ZXJzZU5leHRJbmNsdXNpb25GdW5jdGlvbikoY29u
c3QgUmVuZGVyT2JqZWN0Jik7CisgICAgdHlwZWRlZiBCbG9ja0NvbnRlbnRIZWlnaHRUeXBlICgq
SGVpZ2h0VHlwZVRyYXZlcnNlTmV4dEluY2x1c2lvbkZ1bmN0aW9uKShjb25zdCBSZW5kZXJPYmpl
Y3QmKTsKIAogICAgIFJlbmRlck9iamVjdCogdHJhdmVyc2VOZXh0KGNvbnN0IFJlbmRlck9iamVj
dCogc3RheVdpdGhpbiwgVHJhdmVyc2VOZXh0SW5jbHVzaW9uRnVuY3Rpb24pIGNvbnN0OwogICAg
IFJlbmRlck9iamVjdCogdHJhdmVyc2VOZXh0KGNvbnN0IFJlbmRlck9iamVjdCogc3RheVdpdGhp
biwgSGVpZ2h0VHlwZVRyYXZlcnNlTmV4dEluY2x1c2lvbkZ1bmN0aW9uLCBpbnQmIGN1cnJlbnRE
ZXB0aCwgIGludCYgbmV3Rml4ZWREZXB0aCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvVGV4dEF1dG9TaXppbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1RleHRBdXRvU2l6aW5nLmNwcAppbmRleCAxNTllMGEwM2VjNzMxNTRmZjEyOTUwZDQwMjRj
ZDVkNGNiYWE1ZThjLi44NWQyOTg0ZWE4ZjI2NmE3MTgxNGE3MDZkNDI4OWFjYjYzNjc0ZGZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9TaXppbmcuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b1NpemluZy5jcHAKQEAgLTc0LDQx
ICs3NCw0MSBAQCB2b2lkIFRleHRBdXRvU2l6aW5nVmFsdWU6OmFkZE5vZGUoTm9kZSogbm9kZSwg
ZmxvYXQgc2l6ZSkKIGJvb2wgVGV4dEF1dG9TaXppbmdWYWx1ZTo6YWRqdXN0Tm9kZVNpemVzKCkK
IHsKICAgICBib29sIG9iamVjdHNSZW1vdmVkID0gZmFsc2U7Ci0gICAgCisKICAgICAvLyBSZW1v
dmUgc3RhbGUgbm9kZXMuICBOb2RlcyBtYXkgaGF2ZSBoYWQgdGhlaXIgcmVuZGVyZXJzIGRldGFj
aGVkLiAgV2UnbGwKICAgICAvLyBhbHNvIG5lZWQgdG8gcmVtb3ZlIHRoZSBzdHlsZSBmcm9tIHRo
ZSBkb2N1bWVudHMgbV90ZXh0QXV0b1NpemVkTm9kZXMKICAgICAvLyBjb2xsZWN0aW9uLiAgUmV0
dXJuIHRydWUgaW5kaWNhdGVzIHdlIG5lZWQgdG8gZG8gdGhhdCByZW1vdmFsLgogICAgIFZlY3Rv
cjxSZWZQdHI8Tm9kZT4gPiBub2Rlc0ZvclJlbW92YWw7CiAgICAgZm9yIChhdXRvJiBhdXRvU2l6
aW5nTm9kZSA6IG1fYXV0b1NpemVkTm9kZXMpIHsKLSAgICAgICAgUmVuZGVyVGV4dCogdGV4dCA9
IHN0YXRpY19jYXN0PFJlbmRlclRleHQqPihhdXRvU2l6aW5nTm9kZS0+cmVuZGVyZXIoKSk7Cisg
ICAgICAgIFJlbmRlclRleHQqIHRleHQgPSBkb3duY2FzdDxSZW5kZXJUZXh0PihhdXRvU2l6aW5n
Tm9kZS0+cmVuZGVyZXIoKSk7CiAgICAgICAgIGlmICghdGV4dCB8fCAhdGV4dC0+c3R5bGUoKS50
ZXh0U2l6ZUFkanVzdCgpLmlzQXV0bygpIHx8ICF0ZXh0LT5jYW5kaWRhdGVDb21wdXRlZFRleHRT
aXplKCkpIHsKICAgICAgICAgICAgIC8vIHJlbW92ZSBub2RlLgogICAgICAgICAgICAgbm9kZXNG
b3JSZW1vdmFsLmFwcGVuZChhdXRvU2l6aW5nTm9kZSk7CiAgICAgICAgICAgICBvYmplY3RzUmVt
b3ZlZCA9IHRydWU7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICBmb3IgKGF1dG8mIG5v
ZGUgOiBub2Rlc0ZvclJlbW92YWwpCiAgICAgICAgIG1fYXV0b1NpemVkTm9kZXMucmVtb3ZlKG5v
ZGUpOwotICAgIAorCiAgICAgLy8gSWYgd2Ugb25seSBoYXZlIG9uZSBwaWVjZSBvZiB0ZXh0IHdp
dGggdGhlIHN0eWxlIG9uIHRoZSBwYWdlIGRvbid0CiAgICAgLy8gYWRqdXN0IGl0J3Mgc2l6ZS4K
ICAgICBpZiAobV9hdXRvU2l6ZWROb2Rlcy5zaXplKCkgPD0gMSkKICAgICAgICAgcmV0dXJuIG9i
amVjdHNSZW1vdmVkOwotICAgIAorCiAgICAgLy8gQ29tcHV0ZSBhdmVyYWdlIHNpemUKICAgICBm
bG9hdCBjdW11bGF0aXZlU2l6ZSA9IDA7CiAgICAgZm9yIChhdXRvJiBhdXRvU2l6aW5nTm9kZSA6
IG1fYXV0b1NpemVkTm9kZXMpIHsKLSAgICAgICAgUmVuZGVyVGV4dCogcmVuZGVyVGV4dCA9IHN0
YXRpY19jYXN0PFJlbmRlclRleHQqPihhdXRvU2l6aW5nTm9kZS0+cmVuZGVyZXIoKSk7Ci0gICAg
ICAgIGN1bXVsYXRpdmVTaXplICs9IHJlbmRlclRleHQtPmNhbmRpZGF0ZUNvbXB1dGVkVGV4dFNp
emUoKTsKKyAgICAgICAgUmVuZGVyVGV4dCYgcmVuZGVyVGV4dCA9IGRvd25jYXN0PFJlbmRlclRl
eHQ+KCphdXRvU2l6aW5nTm9kZS0+cmVuZGVyZXIoKSk7CisgICAgICAgIGN1bXVsYXRpdmVTaXpl
ICs9IHJlbmRlclRleHQuY2FuZGlkYXRlQ29tcHV0ZWRUZXh0U2l6ZSgpOwogICAgIH0KLSAgICAK
KwogICAgIGZsb2F0IGF2ZXJhZ2VTaXplID0gcm91bmRmKGN1bXVsYXRpdmVTaXplIC8gbV9hdXRv
U2l6ZWROb2Rlcy5zaXplKCkpOwotICAgIAorCiAgICAgLy8gQWRqdXN0IHNpemVzCiAgICAgYm9v
bCBmaXJzdFBhc3MgPSB0cnVlOwogICAgIGZvciAoYXV0byYgYXV0b1NpemluZ05vZGUgOiBtX2F1
dG9TaXplZE5vZGVzKSB7Ci0gICAgICAgIFJlbmRlclRleHQqIHRleHQgPSBzdGF0aWNfY2FzdDxS
ZW5kZXJUZXh0Kj4oYXV0b1NpemluZ05vZGUtPnJlbmRlcmVyKCkpOworICAgICAgICBSZW5kZXJU
ZXh0KiB0ZXh0ID0gZG93bmNhc3Q8UmVuZGVyVGV4dD4oYXV0b1NpemluZ05vZGUtPnJlbmRlcmVy
KCkpOwogICAgICAgICBpZiAodGV4dCAmJiB0ZXh0LT5zdHlsZSgpLmZvbnREZXNjcmlwdGlvbigp
LmNvbXB1dGVkU2l6ZSgpICE9IGF2ZXJhZ2VTaXplKSB7CiAgICAgICAgICAgICBmbG9hdCBzcGVj
aWZpZWRTaXplID0gdGV4dC0+c3R5bGUoKS5mb250RGVzY3JpcHRpb24oKS5zcGVjaWZpZWRTaXpl
KCk7CiAgICAgICAgICAgICBmbG9hdCBzY2FsZUNoYW5nZSA9IGF2ZXJhZ2VTaXplIC8gc3BlY2lm
aWVkU2l6ZTsKQEAgLTEyNiwxMSArMTI2LDExIEBAIGJvb2wgVGV4dEF1dG9TaXppbmdWYWx1ZTo6
YWRqdXN0Tm9kZVNpemVzKCkKICAgICAgICAgICAgIHN0eWxlLnNldEZvbnREZXNjcmlwdGlvbihm
b250RGVzY3JpcHRpb24pOwogICAgICAgICAgICAgc3R5bGUuZm9udENhc2NhZGUoKS51cGRhdGUo
JmF1dG9TaXppbmdOb2RlLT5kb2N1bWVudCgpLmZvbnRTZWxlY3RvcigpKTsKICAgICAgICAgICAg
IHRleHQtPnBhcmVudCgpLT5zZXRTdHlsZShXVEZNb3ZlKHN0eWxlKSk7Ci0gICAgICAgICAgICAK
KwogICAgICAgICAgICAgUmVuZGVyRWxlbWVudCogcGFyZW50UmVuZGVyZXIgPSB0ZXh0LT5wYXJl
bnQoKTsKICAgICAgICAgICAgIGlmIChwYXJlbnRSZW5kZXJlci0+aXNBbm9ueW1vdXNCbG9jaygp
KQogICAgICAgICAgICAgICAgIHBhcmVudFJlbmRlcmVyID0gcGFyZW50UmVuZGVyZXItPnBhcmVu
dCgpOwotICAgICAgICAgICAgCisKICAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgYSBsaXN0IHdl
IHNob3VsZCByZXNpemUgTGlzdE1hcmtlcnMgc2VwYXJhdGVseS4KICAgICAgICAgICAgIFJlbmRl
ck9iamVjdCogbGlzdE1hcmtlclJlbmRlcmVyID0gcGFyZW50UmVuZGVyZXItPmZpcnN0Q2hpbGQo
KTsKICAgICAgICAgICAgIGlmIChsaXN0TWFya2VyUmVuZGVyZXItPmlzTGlzdE1hcmtlcigpKSB7
CkBAIC0xMzksMTcgKzEzOSwxNyBAQCBib29sIFRleHRBdXRvU2l6aW5nVmFsdWU6OmFkanVzdE5v
ZGVTaXplcygpCiAgICAgICAgICAgICAgICAgc3R5bGUuZm9udENhc2NhZGUoKS51cGRhdGUoJmF1
dG9TaXppbmdOb2RlLT5kb2N1bWVudCgpLmZvbnRTZWxlY3RvcigpKTsKICAgICAgICAgICAgICAg
ICBkb3duY2FzdDxSZW5kZXJMaXN0TWFya2VyPigqbGlzdE1hcmtlclJlbmRlcmVyKS5zZXRTdHls
ZShXVEZNb3ZlKHN0eWxlKSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAKKwogICAgICAg
ICAgICAgLy8gUmVzaXplIHRoZSBsaW5lIGhlaWdodCBvZiB0aGUgcGFyZW50LgogICAgICAgICAg
ICAgY29uc3QgUmVuZGVyU3R5bGUmIHBhcmVudFN0eWxlID0gcGFyZW50UmVuZGVyZXItPnN0eWxl
KCk7CiAgICAgICAgICAgICBMZW5ndGggbGluZUhlaWdodExlbmd0aCA9IHBhcmVudFN0eWxlLnNw
ZWNpZmllZExpbmVIZWlnaHQoKTsKLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBpbnQgc3Bl
Y2lmaWVkTGluZUhlaWdodCA9IDA7CiAgICAgICAgICAgICBpZiAobGluZUhlaWdodExlbmd0aC5p
c1BlcmNlbnQoKSkKICAgICAgICAgICAgICAgICBzcGVjaWZpZWRMaW5lSGVpZ2h0ID0gbWluaW11
bVZhbHVlRm9yTGVuZ3RoKGxpbmVIZWlnaHRMZW5ndGgsIGZvbnREZXNjcmlwdGlvbi5zcGVjaWZp
ZWRTaXplKCkpOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHNwZWNpZmllZExp
bmVIZWlnaHQgPSBsaW5lSGVpZ2h0TGVuZ3RoLnZhbHVlKCk7Ci0gICAgICAgICAgICAKKwogICAg
ICAgICAgICAgaW50IGxpbmVIZWlnaHQgPSBzcGVjaWZpZWRMaW5lSGVpZ2h0ICogc2NhbGVDaGFu
Z2U7CiAgICAgICAgICAgICBpZiAoIWxpbmVIZWlnaHRMZW5ndGguaXNGaXhlZCgpIHx8IGxpbmVI
ZWlnaHRMZW5ndGgudmFsdWUoKSAhPSBsaW5lSGVpZ2h0KSB7CiAgICAgICAgICAgICAgICAgYXV0
byBuZXdQYXJlbnRTdHlsZSA9IGNsb25lUmVuZGVyU3R5bGVXaXRoU3RhdGUocGFyZW50U3R5bGUp
OwpAQCAtMTYxLDE0ICsxNjEsMTQgQEAgYm9vbCBUZXh0QXV0b1NpemluZ1ZhbHVlOjphZGp1c3RO
b2RlU2l6ZXMoKQogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQotICAgIAorCiAgICAg
cmV0dXJuIG9iamVjdHNSZW1vdmVkOwogfQogCiB2b2lkIFRleHRBdXRvU2l6aW5nVmFsdWU6OnJl
c2V0KCkKIHsKICAgICBmb3IgKGF1dG8mIGF1dG9TaXppbmdOb2RlIDogbV9hdXRvU2l6ZWROb2Rl
cykgewotICAgICAgICBSZW5kZXJUZXh0KiB0ZXh0ID0gc3RhdGljX2Nhc3Q8UmVuZGVyVGV4dCo+
KGF1dG9TaXppbmdOb2RlLT5yZW5kZXJlcigpKTsKKyAgICAgICAgUmVuZGVyVGV4dCogdGV4dCA9
IGRvd25jYXN0PFJlbmRlclRleHQ+KGF1dG9TaXppbmdOb2RlLT5yZW5kZXJlcigpKTsKICAgICAg
ICAgaWYgKCF0ZXh0KQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIC8vIFJlc2V0IHRo
ZSBmb250IHNpemUgYmFjayB0byB0aGUgb3JpZ2luYWwgc3BlY2lmaWVkIHNpemUKQEAgLTE4NSwx
MCArMTg1LDEwIEBAIHZvaWQgVGV4dEF1dG9TaXppbmdWYWx1ZTo6cmVzZXQoKQogICAgICAgICBS
ZW5kZXJFbGVtZW50KiBwYXJlbnRSZW5kZXJlciA9IHRleHQtPnBhcmVudCgpOwogICAgICAgICBp
ZiAoIXBhcmVudFJlbmRlcmVyKQogICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIAorCiAg
ICAgICAgIGlmIChwYXJlbnRSZW5kZXJlci0+aXNBbm9ueW1vdXNCbG9jaygpKQogICAgICAgICAg
ICAgcGFyZW50UmVuZGVyZXIgPSBwYXJlbnRSZW5kZXJlci0+cGFyZW50KCk7Ci0gICAgICAgIAor
CiAgICAgICAgIGNvbnN0IFJlbmRlclN0eWxlJiBwYXJlbnRTdHlsZSA9IHBhcmVudFJlbmRlcmVy
LT5zdHlsZSgpOwogICAgICAgICBMZW5ndGggb3JpZ2luYWxMaW5lSGVpZ2h0ID0gcGFyZW50U3R5
bGUuc3BlY2lmaWVkTGluZUhlaWdodCgpOwogICAgICAgICBpZiAob3JpZ2luYWxMaW5lSGVpZ2h0
ICE9IHBhcmVudFN0eWxlLmxpbmVIZWlnaHQoKSkgewo=
</data>
<flag name="review"
          id="302522"
          type_id="1"
          status="+"
          setter="zalan"
    />
    <flag name="commit-queue"
          id="302523"
          type_id="3"
          status="-"
          setter="zalan"
    />
          </attachment>
      

    </bug>

</bugzilla>