<?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>161980</bug_id>
          
          <creation_ts>2016-09-14 11:53:38 -0700</creation_ts>
          <short_desc>Move more code out from RenderObject</short_desc>
          <delta_ts>2016-09-14 13:54:22 -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>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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</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>1229666</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-09-14 11:53:38 -0700</bug_when>
    <thetext>There is still plenty of code there that should be in RenderElement or other more specific classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229686</commentid>
    <comment_count>1</comment_count>
      <attachid>288846</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-09-14 13:12:40 -0700</bug_when>
    <thetext>Created attachment 288846
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229688</commentid>
    <comment_count>2</comment_count>
      <attachid>288846</attachid>
    <who name="alan">zalan</who>
    <bug_when>2016-09-14 13:16:02 -0700</bug_when>
    <thetext>Comment on attachment 288846
patch

It&apos;s a bit odd that a table row now can collapse sibling rows, but I guess that&apos;s not a big deal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229713</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-09-14 13:54:22 -0700</bug_when>
    <thetext>https://trac.webkit.org/r205927</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288846</attachid>
            <date>2016-09-14 13:12:40 -0700</date>
            <delta_ts>2016-09-14 13:16:02 -0700</delta_ts>
            <desc>patch</desc>
            <filename>renderobject-cleanups.patch</filename>
            <type>text/plain</type>
            <size>14046</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNTkyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDE2LTA5LTE0ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIG1vcmUgY29kZSBvdXQg
ZnJvbSBSZW5kZXJPYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2MTk4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE1vdmUgc29tZSBmdW5jdGlvbnMgdGhhdCBhcmUgb25seSBuZWVkZWQgZm9yIFJl
bmRlckVsZW1lbnQgdGhlcmUuCisgICAgICAgIE1vdmUgY29sbGFwc2luZyBhbm9ueW1vdXMgdGFi
bGUgcm93cyB0byBSZW5kZXJUYWJsZVJvdy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6Omhhc091dGxpbmVB
bm5vdGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6Omhhc1NlbGZQYWlu
dGluZ0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmNoZWNrRm9yUmVw
YWludER1cmluZ0xheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6Omhhc091dGxpbmUpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aGFzSGlkZGVuQmFja2ZhY2UpOiBEZWxldGVkLgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyb290T3JCb2R5U3R5bGVDaGFuZ2VkKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlck9iamVjdDo6cGl4ZWxTbmFwcGVkQWJzb2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6ZGVzdHJveUFuZENsZWFudXBBbm9ueW1vdXNX
cmFwcGVycyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6Omhhc1NlbGZQYWludGlu
Z0xheWVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6Y2hlY2tG
b3JSZXBhaW50RHVyaW5nTGF5b3V0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck9iamVjdDo6aGFzT3V0bGluZUFubm90YXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyT2JqZWN0OjpoYXNFbnRpcmVseUZpeGVkQmFja2dyb3VuZCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpjb2xsYXBzZUFub255bW91c1RhYmxlUm93c0lmTmVlZGVkKTogRGVs
ZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJPYmplY3Q6Omhhc0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9i
amVjdDo6Y2FuQmVTZWxlY3Rpb25MZWFmKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVj
dDo6aGFzT3V0bGluZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6
Omhhc1NlbGVjdGVkQ2hpbGRyZW4pOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUYWJsZVJvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVJvdzo6ZGVzdHJv
eUFuZENvbGxhcHNlQW5vbnltb3VzU2libGluZ1Jvd3MpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUYWJsZVJvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnJvb3RCYWNrZ3JvdW5kSXNFbnRpcmVseUZpeGVk
KToKKwogMjAxNi0wOS0xNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIEFkZCBzdXBwb3J0IGhyLmNvbG9yIElETCBhdHRyaWJ1dGUKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAJKHJldmlzaW9uIDIwNTc4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjE3Myw2ICsyMTczLDI0IEBAIHZvaWQgUmVuZGVyRWxlbWVudDo6dXBkYXRlT3V0bGluZUF1
dG9BbmMKICAgICAgICAgZG93bmNhc3Q8UmVuZGVyQm94TW9kZWxPYmplY3Q+KCp0aGlzKS5jb250
aW51YXRpb24oKS0+dXBkYXRlT3V0bGluZUF1dG9BbmNlc3RvcihoYXNPdXRsaW5lQXV0byk7CiB9
CiAKK2Jvb2wgUmVuZGVyRWxlbWVudDo6aGFzT3V0bGluZUFubm90YXRpb24oKSBjb25zdAorewor
ICAgIHJldHVybiBlbGVtZW50KCkgJiYgZWxlbWVudCgpLT5pc0xpbmsoKSAmJiBkb2N1bWVudCgp
LnByaW50aW5nKCk7Cit9CisKK2Jvb2wgUmVuZGVyRWxlbWVudDo6aGFzU2VsZlBhaW50aW5nTGF5
ZXIoKSBjb25zdAoreworICAgIGlmICghaGFzTGF5ZXIoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIGF1dG8mIGxheWVyTW9kZWxPYmplY3QgPSBkb3duY2FzdDxSZW5kZXJMYXllck1vZGVs
T2JqZWN0PigqdGhpcyk7CisgICAgcmV0dXJuIGxheWVyTW9kZWxPYmplY3QuaGFzU2VsZlBhaW50
aW5nTGF5ZXIoKTsKK30KKworYm9vbCBSZW5kZXJFbGVtZW50OjpjaGVja0ZvclJlcGFpbnREdXJp
bmdMYXlvdXQoKSBjb25zdAoreworICAgIHJldHVybiAhZG9jdW1lbnQoKS52aWV3KCktPm5lZWRz
RnVsbFJlcGFpbnQoKSAmJiBldmVySGFkTGF5b3V0KCkgJiYgIWhhc1NlbGZQYWludGluZ0xheWVy
KCk7Cit9CisKICNpZiBFTkFCTEUoSU9TX1RFWFRfQVVUT1NJWklORykKIHN0YXRpYyBSZW5kZXJP
YmplY3Q6OkJsb2NrQ29udGVudEhlaWdodFR5cGUgaW5jbHVkZU5vbkZpeGVkSGVpZ2h0KGNvbnN0
IFJlbmRlck9iamVjdCYgcmVuZGVyZXIpCiB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbGVtZW50LmgJKHJldmlzaW9uIDIwNTc4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTE2MSw2ICsxNjEsMTEg
QEAgcHVibGljOgogICAgIGJvb2wgaGFzQ2xpcE9yT3ZlcmZsb3dDbGlwKCkgY29uc3QgeyByZXR1
cm4gaGFzQ2xpcCgpIHx8IGhhc092ZXJmbG93Q2xpcCgpOyB9CiAgICAgYm9vbCBoYXNDbGlwUGF0
aCgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuY2xpcFBhdGgoKTsgfQogICAgIGJvb2wgaGFzSGlk
ZGVuQmFja2ZhY2UoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLmJhY2tmYWNlVmlzaWJpbGl0eSgp
ID09IEJhY2tmYWNlVmlzaWJpbGl0eUhpZGRlbjsgfQorICAgIGJvb2wgaGFzT3V0bGluZUFubm90
YXRpb24oKSBjb25zdDsKKyAgICBib29sIGhhc091dGxpbmUoKSBjb25zdCB7IHJldHVybiBzdHls
ZSgpLmhhc091dGxpbmUoKSB8fCBoYXNPdXRsaW5lQW5ub3RhdGlvbigpOyB9CisgICAgYm9vbCBo
YXNTZWxmUGFpbnRpbmdMYXllcigpIGNvbnN0OworCisgICAgYm9vbCBjaGVja0ZvclJlcGFpbnRE
dXJpbmdMYXlvdXQoKSBjb25zdDsKIAogICAgIC8vIGFuY2hvclJlY3QoKSBpcyBjb25jZXB0dWFs
bHkgc2ltaWxhciB0byBhYnNvbHV0ZUJvdW5kaW5nQm94UmVjdCgpLCBidXQgaXMgaW50ZW5kZWQg
Zm9yIHNjcm9sbGluZyB0byBhbiBhbmNob3IuCiAgICAgLy8gRm9yIGlubGluZSByZW5kZXJlcnMs
IHRoaXMgZ2V0cyB0aGUgbG9naWNhbCB0b3AgbGVmdCBvZiB0aGUgZmlyc3QgbGVhZiBjaGlsZCBh
bmQgdGhlIGxvZ2ljYWwgYm90dG9tIHJpZ2h0IG9mIHRoZQpAQCAtMTc3LDYgKzE4Miw3IEBAIHB1
YmxpYzoKICNlbmRpZgogICAgIH0KIAorCiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAg
ICBib29sIGhhc0JsZW5kTW9kZSgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaGFzQmxlbmRNb2Rl
KCk7IH0KICNlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJD
b21wb3NpdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAkocmV2aXNpb24gMjA1Nzg0KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMyMzMsNyArMzIzMyw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyb290T3JCb2R5
U3QKICAgICAgICAgcm9vdEJhY2tncm91bmRUcmFuc3BhcmVuY3lDaGFuZ2VkKCk7CiAKICAgICBi
b29sIGhhZEZpeGVkQmFja2dyb3VuZCA9IG9sZFN0eWxlICYmIG9sZFN0eWxlLT5oYXNFbnRpcmVs
eUZpeGVkQmFja2dyb3VuZCgpOwotICAgIGlmIChoYWRGaXhlZEJhY2tncm91bmQgIT0gcmVuZGVy
ZXIuaGFzRW50aXJlbHlGaXhlZEJhY2tncm91bmQoKSkgeworICAgIGlmIChoYWRGaXhlZEJhY2tn
cm91bmQgIT0gcmVuZGVyZXIuc3R5bGUoKS5oYXNFbnRpcmVseUZpeGVkQmFja2dyb3VuZCgpKSB7
CiAgICAgICAgIHNldENvbXBvc2l0aW5nTGF5ZXJzTmVlZFJlYnVpbGQoKTsKICAgICAgICAgc2No
ZWR1bGVDb21wb3NpdGluZ0xheWVyVXBkYXRlKCk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAJKHJldmlzaW9uIDIwNTc4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05
MDcsMjIgKzkwNyw3IEBAIEludFJlY3QgUmVuZGVyT2JqZWN0OjpwaXhlbFNuYXBwZWRBYnNvbHUK
IHsKICAgICByZXR1cm4gc25hcHBlZEludFJlY3QoYWJzb2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0
KCkpOwogfQotCi1ib29sIFJlbmRlck9iamVjdDo6aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSBjb25z
dAotewotICAgIGlmICghaGFzTGF5ZXIoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGF1
dG8qIGxheWVyID0gZG93bmNhc3Q8UmVuZGVyTGF5ZXJNb2RlbE9iamVjdD4oKnRoaXMpLmxheWVy
KCk7Ci0gICAgaWYgKCFsYXllcikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBs
YXllci0+aXNTZWxmUGFpbnRpbmdMYXllcigpOwotfQogICAgIAotYm9vbCBSZW5kZXJPYmplY3Q6
OmNoZWNrRm9yUmVwYWludER1cmluZ0xheW91dCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuICFkb2N1
bWVudCgpLnZpZXcoKS0+bmVlZHNGdWxsUmVwYWludCgpICYmIGV2ZXJIYWRMYXlvdXQoKSAmJiAh
aGFzU2VsZlBhaW50aW5nTGF5ZXIoKTsKLX0KLQogTGF5b3V0UmVjdCBSZW5kZXJPYmplY3Q6OnJl
Y3RXaXRoT3V0bGluZUZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVw
YWludENvbnRhaW5lciwgTGF5b3V0VW5pdCBvdXRsaW5lV2lkdGgpIGNvbnN0CiB7CiAgICAgTGF5
b3V0UmVjdCByKGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KHJlcGFpbnRDb250YWluZXIp
KTsKQEAgLTEzNzEsMTYgKzEzNTYsNiBAQCBSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbkVudW0gUmVu
ZGVyT2JqZWN0CiAgICAgcmV0dXJuIChmcmFtZSgpLnNldHRpbmdzKCkuc2hvdWxkUmVzcGVjdElt
YWdlT3JpZW50YXRpb24oKSAmJiBpczxIVE1MSW1hZ2VFbGVtZW50Pihub2RlKCkpKSA/IFJlc3Bl
Y3RJbWFnZU9yaWVudGF0aW9uIDogRG9Ob3RSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbjsKIH0KIAot
Ym9vbCBSZW5kZXJPYmplY3Q6Omhhc091dGxpbmVBbm5vdGF0aW9uKCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gbm9kZSgpICYmIG5vZGUoKS0+aXNMaW5rKCkgJiYgZG9jdW1lbnQoKS5wcmludGluZygp
OwotfQotCi1ib29sIFJlbmRlck9iamVjdDo6aGFzRW50aXJlbHlGaXhlZEJhY2tncm91bmQoKSBj
b25zdAotewotICAgIHJldHVybiBzdHlsZSgpLmhhc0VudGlyZWx5Rml4ZWRCYWNrZ3JvdW5kKCk7
Ci19Ci0KIHN0YXRpYyBpbmxpbmUgUmVuZGVyRWxlbWVudCogY29udGFpbmVyRm9yRWxlbWVudChj
b25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVyLCBjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0
KiByZXBhaW50Q29udGFpbmVyLCBib29sKiByZXBhaW50Q29udGFpbmVyU2tpcHBlZCkKIHsKICAg
ICAvLyBUaGlzIG1ldGhvZCBpcyBleHRyZW1lbHkgc2ltaWxhciB0byBjb250YWluaW5nQmxvY2so
KSwgYnV0IHdpdGggYSBmZXcgbm90YWJsZQpAQCAtMTUzNSw0NSArMTUxMCw2IEBAIHZvaWQgUmVu
ZGVyT2JqZWN0OjppbnZhbGlkYXRlRmxvd1RocmVhZEMKICAgICAgICAgY2hpbGQuaW52YWxpZGF0
ZUZsb3dUaHJlYWRDb250YWluaW5nQmxvY2tJbmNsdWRpbmdEZXNjZW5kYW50cyhmbG93VGhyZWFk
KTsKIH0KIAotc3RhdGljIHZvaWQgY29sbGFwc2VBbm9ueW1vdXNUYWJsZVJvd3NJZk5lZWRlZChj
b25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVyVG9CZURlc3Ryb3llZCkKLXsKLSAgICBpZiAoIWlz
PFJlbmRlclRhYmxlUm93PihyZW5kZXJlclRvQmVEZXN0cm95ZWQpKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBhdXRvJiByb3dUb0JlRGVzdHJveWVkID0gZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+
KHJlbmRlcmVyVG9CZURlc3Ryb3llZCk7Ci0gICAgYXV0byogc2VjdGlvbiA9IGRvd25jYXN0PFJl
bmRlclRhYmxlU2VjdGlvbj4ocm93VG9CZURlc3Ryb3llZC5wYXJlbnQoKSk7Ci0gICAgaWYgKCFz
ZWN0aW9uKQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBBbGwgc2libGluZ3MgZ2VuZXJhdGVk
PwotICAgIGZvciAoYXV0byogY3VycmVudCA9IHNlY3Rpb24tPmZpcnN0Um93KCk7IGN1cnJlbnQ7
IGN1cnJlbnQgPSBjdXJyZW50LT5uZXh0Um93KCkpIHsKLSAgICAgICAgaWYgKGN1cnJlbnQgPT0g
JnJlbmRlcmVyVG9CZURlc3Ryb3llZCkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBp
ZiAoIWN1cnJlbnQtPmlzQW5vbnltb3VzKCkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgUmVuZGVyVGFibGVSb3cqIHJvd1RvSW5zZXJ0SW50byA9IG51bGxwdHI7Ci0gICAgYXV0
byogY3VycmVudFJvdyA9IHNlY3Rpb24tPmZpcnN0Um93KCk7Ci0gICAgd2hpbGUgKGN1cnJlbnRS
b3cpIHsKLSAgICAgICAgaWYgKGN1cnJlbnRSb3cgPT0gJnJlbmRlcmVyVG9CZURlc3Ryb3llZCkg
ewotICAgICAgICAgICAgY3VycmVudFJvdyA9IGN1cnJlbnRSb3ctPm5leHRSb3coKTsKLSAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0gICAgICAgIGlmICghcm93VG9JbnNlcnRJbnRv
KSB7Ci0gICAgICAgICAgICByb3dUb0luc2VydEludG8gPSBjdXJyZW50Um93OwotICAgICAgICAg
ICAgY3VycmVudFJvdyA9IGN1cnJlbnRSb3ctPm5leHRSb3coKTsKLSAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICB9Ci0gICAgICAgIGN1cnJlbnRSb3ctPm1vdmVBbGxDaGlsZHJlblRvKHJv
d1RvSW5zZXJ0SW50byk7Ci0gICAgICAgIGF1dG8qIGRlc3Ryb3lUaGlzID0gY3VycmVudFJvdzsK
LSAgICAgICAgY3VycmVudFJvdyA9IGN1cnJlbnRSb3ctPm5leHRSb3coKTsKLSAgICAgICAgZGVz
dHJveVRoaXMtPmRlc3Ryb3koKTsKLSAgICB9Ci0gICAgaWYgKHJvd1RvSW5zZXJ0SW50bykKLSAg
ICAgICAgcm93VG9JbnNlcnRJbnRvLT5zZXROZWVkc0xheW91dCgpOwotfQotCiB2b2lkIFJlbmRl
ck9iamVjdDo6ZGVzdHJveUFuZENsZWFudXBBbm9ueW1vdXNXcmFwcGVycygpCiB7CiAgICAgLy8g
SWYgdGhlIHRyZWUgaXMgZGVzdHJveWVkLCB0aGVyZSBpcyBubyBuZWVkIGZvciBhIGNsZWFuLXVw
IHBoYXNlLgpAQCAtMTU5NCw3ICsxNTMwLDEyIEBAIHZvaWQgUmVuZGVyT2JqZWN0OjpkZXN0cm95
QW5kQ2xlYW51cEFub24KICAgICAgICAgZGVzdHJveVJvb3QgPSBkZXN0cm95Um9vdFBhcmVudDsK
ICAgICAgICAgZGVzdHJveVJvb3RQYXJlbnQgPSBkZXN0cm95Um9vdFBhcmVudC0+cGFyZW50KCk7
CiAgICAgfQotICAgIGNvbGxhcHNlQW5vbnltb3VzVGFibGVSb3dzSWZOZWVkZWQoKmRlc3Ryb3lS
b290KTsKKworICAgIGlmIChpczxSZW5kZXJUYWJsZVJvdz4oKmRlc3Ryb3lSb290KSkgeworICAg
ICAgICBkb3duY2FzdDxSZW5kZXJUYWJsZVJvdz4oKmRlc3Ryb3lSb290KS5kZXN0cm95QW5kQ29s
bGFwc2VBbm9ueW1vdXNTaWJsaW5nUm93cygpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAg
ICAgZGVzdHJveVJvb3QtPmRlc3Ryb3koKTsKICAgICAvLyBXQVJOSU5HOiB8dGhpc3wgaXMgZGVs
ZXRlZCBoZXJlLgogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
aAkocmV2aXNpb24gMjA1Nzg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NjEsNyArNDYxLDYgQEAgcHVibGljOgogICAgIFZp
c2libGVJblZpZXdwb3J0U3RhdGUgdmlzaWJsZUluVmlld3BvcnRTdGF0ZSgpIHsgcmV0dXJuIG1f
Yml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgPyByYXJlRGF0YSgpLnZpc2libGVJblZpZXdwb3J0U3Rh
dGUoKSA6IFZpc2liaWxpdHlVbmtub3duOyB9CiAKICAgICBib29sIGhhc0xheWVyKCkgY29uc3Qg
eyByZXR1cm4gbV9iaXRmaWVsZHMuaGFzTGF5ZXIoKTsgfQotICAgIGJvb2wgaGFzU2VsZlBhaW50
aW5nTGF5ZXIoKSBjb25zdDsKIAogICAgIGVudW0gQm94RGVjb3JhdGlvblN0YXRlIHsKICAgICAg
ICAgTm9Cb3hEZWNvcmF0aW9ucywKQEAgLTQ3MSw3ICs0NzAsNiBAQCBwdWJsaWM6CiAgICAgfTsK
ICAgICBib29sIGhhc1Zpc2libGVCb3hEZWNvcmF0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fYml0
ZmllbGRzLmJveERlY29yYXRpb25TdGF0ZSgpICE9IE5vQm94RGVjb3JhdGlvbnM7IH0KICAgICBi
b29sIGJhY2tncm91bmRJc0tub3duVG9CZU9ic2N1cmVkKGNvbnN0IExheW91dFBvaW50JiBwYWlu
dE9mZnNldCk7Ci0gICAgYm9vbCBoYXNFbnRpcmVseUZpeGVkQmFja2dyb3VuZCgpIGNvbnN0Owog
CiAgICAgYm9vbCBuZWVkc0xheW91dCgpIGNvbnN0CiAgICAgewpAQCAtNTIwLDkgKzUxOCw2IEBA
IHB1YmxpYzoKICAgICBEb2N1bWVudCYgZG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBtX25vZGUu
ZG9jdW1lbnQoKTsgfQogICAgIEZyYW1lJiBmcmFtZSgpIGNvbnN0OwogCi0gICAgYm9vbCBoYXNP
dXRsaW5lQW5ub3RhdGlvbigpIGNvbnN0OwotICAgIGJvb2wgaGFzT3V0bGluZSgpIGNvbnN0IHsg
cmV0dXJuIHN0eWxlKCkuaGFzT3V0bGluZSgpIHx8IGhhc091dGxpbmVBbm5vdGF0aW9uKCk7IH0K
LQogICAgIC8vIFJldHVybnMgdGhlIG9iamVjdCBjb250YWluaW5nIHRoaXMgb25lLiBDYW4gYmUg
ZGlmZmVyZW50IGZyb20gcGFyZW50IGZvciBwb3NpdGlvbmVkIGVsZW1lbnRzLgogICAgIC8vIElm
IHJlcGFpbnRDb250YWluZXIgYW5kIHJlcGFpbnRDb250YWluZXJTa2lwcGVkIGFyZSBub3QgbnVs
bCwgb24gcmV0dXJuICpyZXBhaW50Q29udGFpbmVyU2tpcHBlZAogICAgIC8vIGlzIHRydWUgaWYg
dGhlIHJlbmRlcmVyIHJldHVybmVkIGlzIGFuIGFuY2VzdG9yIG9mIHJlcGFpbnRDb250YWluZXIu
CkBAIC02NzcsOCArNjcyLDYgQEAgcHVibGljOgogICAgIC8vIFJlcGFpbnQgYSBzbG93IHJlcGFp
bnQgb2JqZWN0LCB3aGljaCwgYXQgdGhpcyB0aW1lLCBtZWFucyB3ZSBhcmUgcmVwYWludGluZyBh
biBvYmplY3Qgd2l0aCBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6Zml4ZWQuCiAgICAgdm9pZCByZXBh
aW50U2xvd1JlcGFpbnRPYmplY3QoKSBjb25zdDsKIAotICAgIGJvb2wgY2hlY2tGb3JSZXBhaW50
RHVyaW5nTGF5b3V0KCkgY29uc3Q7Ci0KICAgICAvLyBSZXR1cm5zIHRoZSByZWN0IHRoYXQgc2hv
dWxkIGJlIHJlcGFpbnRlZCB3aGVuZXZlciB0aGlzIG9iamVjdCBjaGFuZ2VzLiAgVGhlIHJlY3Qg
aXMgaW4gdGhlIHZpZXcncwogICAgIC8vIGNvb3JkaW5hdGUgc3BhY2UuICBUaGlzIG1ldGhvZCBk
ZWFscyB3aXRoIG91dGxpbmVzIGFuZCBvdmVyZmxvdy4KICAgICBMYXlvdXRSZWN0IGFic29sdXRl
Q2xpcHBlZE92ZXJmbG93UmVjdCgpIGNvbnN0CkBAIC03MzUsNyArNzI4LDYgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0Rm9yUmVwYWludChjb25zdCBSZW5k
ZXJMYXllck1vZGVsT2JqZWN0KiAvKnJlcGFpbnRDb250YWluZXIqLywgYm9vbCAvKmNsaXBUb1Zp
c2libGVDb250ZW50Ki8gPSB0cnVlKSB7IHJldHVybiBMYXlvdXRSZWN0KCk7IH0KIAogICAgIHZp
cnR1YWwgYm9vbCBjYW5CZVNlbGVjdGlvbkxlYWYoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQot
ICAgIGJvb2wgaGFzU2VsZWN0ZWRDaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIHNlbGVjdGlvblN0
YXRlKCkgIT0gU2VsZWN0aW9uTm9uZTsgfQogCiAgICAgLy8gV2hldGhlciBvciBub3QgYSBnaXZl
biBibG9jayBuZWVkcyB0byBwYWludCBzZWxlY3Rpb24gZ2Fwcy4KICAgICB2aXJ0dWFsIGJvb2wg
c2hvdWxkUGFpbnRTZWxlY3Rpb25HYXBzKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmNwcAkocmV2aXNpb24g
MjA1Nzg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjcyLDQgKzI3Miw0NCBAQCBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVy
VGFibGVSb3c+IFJlbmRlclRhCiAgICAgcmV0dXJuIFJlbmRlclRhYmxlUm93OjpjcmVhdGVUYWJs
ZVJvd1dpdGhTdHlsZShwYXJlbnQuZG9jdW1lbnQoKSwgcGFyZW50LnN0eWxlKCkpOwogfQogCit2
b2lkIFJlbmRlclRhYmxlUm93OjpkZXN0cm95QW5kQ29sbGFwc2VBbm9ueW1vdXNTaWJsaW5nUm93
cygpCit7CisgICAgYXV0byBjb2xsYXBzZUFub255bW91c1NpYmxpbmdSb3dzID0gWyZdIHsKKyAg
ICAgICAgYXV0byogc2VjdGlvbiA9IHRoaXMtPnNlY3Rpb24oKTsKKyAgICAgICAgaWYgKCFzZWN0
aW9uKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIC8vIEFsbCBzaWJsaW5ncyBnZW5l
cmF0ZWQ/CisgICAgICAgIGZvciAoYXV0byogY3VycmVudCA9IHNlY3Rpb24tPmZpcnN0Um93KCk7
IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5uZXh0Um93KCkpIHsKKyAgICAgICAgICAgIGlm
IChjdXJyZW50ID09IHRoaXMpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAg
ICBpZiAoIWN1cnJlbnQtPmlzQW5vbnltb3VzKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisKKyAgICAgICAgUmVuZGVyVGFibGVSb3cqIHJvd1RvSW5zZXJ0SW50byA9IG51
bGxwdHI7CisgICAgICAgIGF1dG8qIGN1cnJlbnRSb3cgPSBzZWN0aW9uLT5maXJzdFJvdygpOwor
ICAgICAgICB3aGlsZSAoY3VycmVudFJvdykgeworICAgICAgICAgICAgaWYgKGN1cnJlbnRSb3cg
PT0gdGhpcykgeworICAgICAgICAgICAgICAgIGN1cnJlbnRSb3cgPSBjdXJyZW50Um93LT5uZXh0
Um93KCk7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBpZiAoIXJvd1RvSW5zZXJ0SW50bykgeworICAgICAgICAgICAgICAgIHJvd1RvSW5zZXJ0
SW50byA9IGN1cnJlbnRSb3c7CisgICAgICAgICAgICAgICAgY3VycmVudFJvdyA9IGN1cnJlbnRS
b3ctPm5leHRSb3coKTsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGN1cnJlbnRSb3ctPm1vdmVBbGxDaGlsZHJlblRvKHJvd1RvSW5zZXJ0SW50
byk7CisgICAgICAgICAgICBhdXRvKiBkZXN0cm95VGhpcyA9IGN1cnJlbnRSb3c7CisgICAgICAg
ICAgICBjdXJyZW50Um93ID0gY3VycmVudFJvdy0+bmV4dFJvdygpOworICAgICAgICAgICAgZGVz
dHJveVRoaXMtPmRlc3Ryb3koKTsKKyAgICAgICAgfQorICAgICAgICBpZiAocm93VG9JbnNlcnRJ
bnRvKQorICAgICAgICAgICAgcm93VG9JbnNlcnRJbnRvLT5zZXROZWVkc0xheW91dCgpOworICAg
IH07CisKKyAgICBjb2xsYXBzZUFub255bW91c1NpYmxpbmdSb3dzKCk7CisgICAgZGVzdHJveSgp
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVSb3cuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVSb3cuaAkocmV2aXNpb24gMjA1Nzg0KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmgJKHdvcmtpbmcgY29weSkKQEAgLTYzLDYgKzYz
LDggQEAgcHVibGljOgogCiAgICAgYm9vbCBub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVz
dCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250
YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFjdGlv
bikgb3ZlcnJpZGU7CiAKKyAgICB2b2lkIGRlc3Ryb3lBbmRDb2xsYXBzZUFub255bW91c1NpYmxp
bmdSb3dzKCk7CisKIHByaXZhdGU6CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJU
YWJsZVJvdz4gY3JlYXRlVGFibGVSb3dXaXRoU3R5bGUoRG9jdW1lbnQmLCBjb25zdCBSZW5kZXJT
dHlsZSYpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCShy
ZXZpc2lvbiAyMDU3ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTExMzcsNyArMTEzNyw3IEBAIGJvb2wgUmVuZGVyVmlldzo6
cm9vdEJhY2tncm91bmRJc0VudGlyZWwKICAgICBpZiAoIXJvb3RPYmplY3QpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAotICAgIHJldHVybiByb290T2JqZWN0LT5yZW5kZXJlckZvclJvb3RCYWNr
Z3JvdW5kKCkuaGFzRW50aXJlbHlGaXhlZEJhY2tncm91bmQoKTsKKyAgICByZXR1cm4gcm9vdE9i
amVjdC0+cmVuZGVyZXJGb3JSb290QmFja2dyb3VuZCgpLnN0eWxlKCkuaGFzRW50aXJlbHlGaXhl
ZEJhY2tncm91bmQoKTsKIH0KICAgICAKIExheW91dFJlY3QgUmVuZGVyVmlldzo6dW5leHRlbmRl
ZEJhY2tncm91bmRSZWN0KCkgY29uc3QK
</data>
<flag name="review"
          id="312127"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
      

    </bug>

</bugzilla>