<?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>169288</bug_id>
          
          <creation_ts>2017-03-07 10:31:49 -0800</creation_ts>
          <short_desc>Simple line layout: Do not use invalid m_lastNonWhitespaceFragment while removing trailing whitespace.</short_desc>
          <delta_ts>2017-03-07 13:02:23 -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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1284390</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-03-07 10:31:49 -0800</bug_when>
    <thetext>if all the runs are whitespace on the current line, m_lastNonWhitespaceFragment is invalid. Do not use it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284392</commentid>
    <comment_count>1</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-03-07 10:32:07 -0800</bug_when>
    <thetext>rdar://problem/30576976</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284423</commentid>
    <comment_count>2</comment_count>
      <attachid>303680</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-03-07 11:03:11 -0800</bug_when>
    <thetext>Created attachment 303680
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284434</commentid>
    <comment_count>3</comment_count>
      <attachid>303680</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-03-07 11:19:50 -0800</bug_when>
    <thetext>Comment on attachment 303680
Patch

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

&gt; Source/WebCore/rendering/SimpleLineLayout.cpp:507
&gt; +            } else {
&gt; +                // Trailing whitespace fragment with zero length.
&gt; +                ASSERT(!m_trailingWhitespaceWidth);
&gt; +            }

This might look nicer without else branch with just assert in it. Maybe put m_lastNonWhitespaceFragment-&gt;end() != m_lastFragment.end() to a informatively named bool and then do something like ASSERT(needsRevert || !m_trailingWhitespaceWidth)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284442</commentid>
    <comment_count>4</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-03-07 11:29:33 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 303680 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=303680&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/SimpleLineLayout.cpp:507
&gt; &gt; +            } else {
&gt; &gt; +                // Trailing whitespace fragment with zero length.
&gt; &gt; +                ASSERT(!m_trailingWhitespaceWidth);
&gt; &gt; +            }
&gt; 
&gt; This might look nicer without else branch with just assert in it. Maybe put
&gt; m_lastNonWhitespaceFragment-&gt;end() != m_lastFragment.end() to a
&gt; informatively named bool and then do something like ASSERT(needsRevert ||
&gt; !m_trailingWhitespaceWidth)?
Good idea!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284452</commentid>
    <comment_count>5</comment_count>
      <attachid>303691</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-03-07 11:43:38 -0800</bug_when>
    <thetext>Created attachment 303691
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284511</commentid>
    <comment_count>6</comment_count>
      <attachid>303691</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-07 13:02:19 -0800</bug_when>
    <thetext>Comment on attachment 303691
Patch

Clearing flags on attachment: 303691

Committed r213534: &lt;http://trac.webkit.org/changeset/213534&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284512</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-07 13:02:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303680</attachid>
            <date>2017-03-07 11:03:11 -0800</date>
            <delta_ts>2017-03-07 11:43:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169288-20170307110310.patch</filename>
            <type>text/plain</type>
            <size>6123</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzMzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTc1NGM5MTJlNzI2NWE4
NjMxNTdmMjZmZmRkN2I0N2M4MGYwMjlkNy4uNzYxYWRiYTExZTM1M2FmYzQ2MGJmZTEwODZkYTBk
NjI3ZmEwYjFhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE3LTAzLTA3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU2ltcGxlIGxpbmUgbGF5b3V0
OiBEbyBub3QgdXNlIGludmFsaWQgbV9sYXN0Tm9uV2hpdGVzcGFjZUZyYWdtZW50IHdoaWxlIHJl
bW92aW5nIHRyYWlsaW5nIHdoaXRlc3BhY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjkyODgKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMzA1NzY5
NzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVu
IHRoZSBjdXJyZW50IGxpbmUgaGFzIG5vdGhpbmcgYnV0IHdoaXRlc3BhY2UsIG1fbGFzdE5vbldo
aXRlc3BhY2VGcmFnbWVudCBpcyBpbnZhbGlkIHNvCisgICAgICAgIHdlIHNob3VsZCBub3QgdXNl
IHRoZSBzdGFydC9lbmQgdmFsdWVzIHRvIGRlY2lkZSBob3cgbWFueSBjaGFyYWN0ZXJzIHdlIG5l
ZWQgdG8gcmV2ZXJ0LgorICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIG1fbGFzdE5vbldoaXRlc3Bh
Y2VGcmFnbWVudCBvcHRpb25hbC4gV2hlbiBpdCdzIGludmFsaWQgd2UganVzdCByZW1vdmUKKyAg
ICAgICAgYWxsIHRoZSBydW5zIGZyb20gdGhlIGN1cnJlbnQgbGluZSBzaW5jZSB0aGV5IGFyZSBh
bGwgY29uc2lkZXJlZCB3aGl0ZXNwYWNlIHJ1bnMuCisKKyAgICAgICAgVGVzdDogZmFzdC90ZXh0
L3NpbXBsZS1saW5lLWxheW91dC1saW5lLWlzLWFsbC13aGl0ZXNwYWNlLmh0bWwKKworICAgICAg
ICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNp
bXBsZUxpbmVMYXlvdXQ6OnJldmVydEFsbFJ1bnNPbkN1cnJlbnRMaW5lKToKKyAgICAgICAgKFdl
YkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OkxpbmVTdGF0ZTo6cmVtb3ZlVHJhaWxpbmdXaGl0ZXNw
YWNlKToKKwogMjAxNy0wMy0wMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29t
PgogCiAgICAgICAgIFtNYWNdIFdlYkNvcmUuZnJhbWV3b3JrIGlzIG1pc3NpbmcgYSBzeW1saW5r
IGZyb20gRnJhbWV3b3JrcyB0byBWZXJzaW9ucy9DdXJyZW50L0ZyYW1ld29ya3Mgd2hlbiB0aGUg
bGF0dGVyIGV4aXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBs
ZUxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlv
dXQuY3BwCmluZGV4IDU0MjExNTMwN2FkYWY3NGRkOTQ0ZmNkYzIxMjI4NTM3MTI5NjQ5ZTAuLjY5
MjlmMGJiMTcxMzg3MGE0NmI5NjljOTAyODYwNzliMDg2MjJiZjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5jcHAKQEAgLTM0NCw2ICszNDQsMTIgQEAg
c3RhdGljIGZsb2F0IGNvbXB1dGVMaW5lTGVmdChFVGV4dEFsaWduIHRleHRBbGlnbiwgZmxvYXQg
YXZhaWxhYmxlV2lkdGgsIGZsb2F0IGMKICAgICByZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQg
cmV2ZXJ0QWxsUnVuc09uQ3VycmVudExpbmUoTGF5b3V0OjpSdW5WZWN0b3ImIHJ1bnMpCit7Cisg
ICAgd2hpbGUgKCFydW5zLmlzRW1wdHkoKSAmJiAhcnVucy5sYXN0KCkuaXNFbmRPZkxpbmUpCisg
ICAgICAgIHJ1bnMucmVtb3ZlTGFzdCgpOworfQorCiBzdGF0aWMgdm9pZCByZXZlcnRSdW5zKExh
eW91dDo6UnVuVmVjdG9yJiBydW5zLCB1bnNpZ25lZCBwb3NpdGlvblRvUmV2ZXJ0VG8sIGZsb2F0
IHdpZHRoKQogewogICAgIHdoaWxlIChydW5zLnNpemUoKSkgewpAQCAtNDg5LDExICs0OTUsMjYg
QEAgcHVibGljOgogCiAgICAgdm9pZCByZW1vdmVUcmFpbGluZ1doaXRlc3BhY2UoTGF5b3V0OjpS
dW5WZWN0b3ImIHJ1bnMpCiAgICAgewotICAgICAgICBpZiAobV9sYXN0RnJhZ21lbnQudHlwZSgp
ICE9IFRleHRGcmFnbWVudEl0ZXJhdG9yOjpUZXh0RnJhZ21lbnQ6OldoaXRlc3BhY2UgfHwgbV9s
YXN0RnJhZ21lbnQuZW5kKCkgPT0gbV9sYXN0Tm9uV2hpdGVzcGFjZUZyYWdtZW50LmVuZCgpKQor
ICAgICAgICBpZiAobV9sYXN0RnJhZ21lbnQudHlwZSgpICE9IFRleHRGcmFnbWVudEl0ZXJhdG9y
OjpUZXh0RnJhZ21lbnQ6OldoaXRlc3BhY2UpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IHJldmVydFJ1bnMocnVucywgbV9sYXN0Tm9uV2hpdGVzcGFjZUZyYWdtZW50LmVuZCgpLCBtX3Ry
YWlsaW5nV2hpdGVzcGFjZVdpZHRoKTsKLSAgICAgICAgbV9ydW5zV2lkdGggLT0gbV90cmFpbGlu
Z1doaXRlc3BhY2VXaWR0aDsKLSAgICAgICAgbV9sYXN0RnJhZ21lbnQgPSBtX2xhc3ROb25XaGl0
ZXNwYWNlRnJhZ21lbnQ7CisgICAgICAgIGlmIChtX2xhc3ROb25XaGl0ZXNwYWNlRnJhZ21lbnQp
IHsKKyAgICAgICAgICAgIGlmIChtX2xhc3ROb25XaGl0ZXNwYWNlRnJhZ21lbnQtPmVuZCgpICE9
IG1fbGFzdEZyYWdtZW50LmVuZCgpKSB7CisgICAgICAgICAgICAgICAgcmV2ZXJ0UnVucyhydW5z
LCBtX2xhc3ROb25XaGl0ZXNwYWNlRnJhZ21lbnQtPmVuZCgpLCBtX3RyYWlsaW5nV2hpdGVzcGFj
ZVdpZHRoKTsKKyAgICAgICAgICAgICAgICBtX3J1bnNXaWR0aCAtPSBtX3RyYWlsaW5nV2hpdGVz
cGFjZVdpZHRoOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAvLyBUcmFp
bGluZyB3aGl0ZXNwYWNlIGZyYWdtZW50IHdpdGggemVybyBsZW5ndGguCisgICAgICAgICAgICAg
ICAgQVNTRVJUKCFtX3RyYWlsaW5nV2hpdGVzcGFjZVdpZHRoKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIG1fdHJhaWxpbmdXaGl0ZXNwYWNlV2lkdGggPSAwOworICAgICAgICAgICAgbV9s
YXN0RnJhZ21lbnQgPSAqbV9sYXN0Tm9uV2hpdGVzcGFjZUZyYWdtZW50OworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisgICAgICAgIC8vIFRoaXMgbGluZSBpcyBhbGwgd2hpdGVzcGFj
ZS4KKyAgICAgICAgcmV2ZXJ0QWxsUnVuc09uQ3VycmVudExpbmUocnVucyk7CisgICAgICAgIG1f
cnVuc1dpZHRoID0gMDsKKyAgICAgICAgbV90cmFpbGluZ1doaXRlc3BhY2VXaWR0aCA9IDA7Cisg
ICAgICAgIC8vIEZJWE1FOiBNYWtlIG1fbGFzdEZyYWdtZW50IG9wdGlvbmFsLgorICAgICAgICBt
X2xhc3RGcmFnbWVudCA9IFRleHRGcmFnbWVudEl0ZXJhdG9yOjpUZXh0RnJhZ21lbnQoKTsKICAg
ICB9CiAKIHByaXZhdGU6CkBAIC01MDgsNyArNTI5LDcgQEAgcHJpdmF0ZToKICAgICBmbG9hdCBt
X3J1bnNXaWR0aCB7IDAgfTsKICAgICBUZXh0RnJhZ21lbnRJdGVyYXRvcjo6VGV4dEZyYWdtZW50
IG1fb3ZlcmZsb3dlZEZyYWdtZW50OwogICAgIFRleHRGcmFnbWVudEl0ZXJhdG9yOjpUZXh0RnJh
Z21lbnQgbV9sYXN0RnJhZ21lbnQ7Ci0gICAgVGV4dEZyYWdtZW50SXRlcmF0b3I6OlRleHRGcmFn
bWVudCBtX2xhc3ROb25XaGl0ZXNwYWNlRnJhZ21lbnQ7CisgICAgc3RkOjpvcHRpb25hbDxUZXh0
RnJhZ21lbnRJdGVyYXRvcjo6VGV4dEZyYWdtZW50PiBtX2xhc3ROb25XaGl0ZXNwYWNlRnJhZ21l
bnQ7CiAgICAgVGV4dEZyYWdtZW50SXRlcmF0b3I6OlRleHRGcmFnbWVudCBtX2xhc3RDb21wbGV0
ZUZyYWdtZW50OwogICAgIGZsb2F0IG1fdW5jb21wbGV0ZWRXaWR0aCB7IDAgfTsKICAgICBmbG9h
dCBtX3RyYWlsaW5nV2hpdGVzcGFjZVdpZHRoIHsgMCB9OyAvLyBVc2UgdGhpcyB0byByZW1vdmUg
dHJhaWxpbmcgd2hpdGVzcGFjZSB3aXRob3V0IHJlLW1lc3VyaW5nIHRoZSB0ZXh0LgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGMzOTcxNGEyZGZlN2RmYmZlMjI5Y2RjMzNiZDdkZTI1YzhmNzljZTUuLmVlNzVjN2U3N2EyZTll
YThjY2Q1YThkZWM0MGZkNjRiYTNmZGFjYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0w
My0wNyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFNpbXBsZSBs
aW5lIGxheW91dDogRG8gbm90IHVzZSBpbnZhbGlkIG1fbGFzdE5vbldoaXRlc3BhY2VGcmFnbWVu
dCB3aGlsZSByZW1vdmluZyB0cmFpbGluZyB3aGl0ZXNwYWNlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5Mjg4CisgICAgICAgIHJkYXI6Ly9wcm9i
bGVtLzMwNTc2OTc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L3RleHQvc2ltcGxlLWxpbmUtbGF5b3V0LWxpbmUtaXMtYWxsLXdoaXRlc3Bh
Y2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvc2ltcGxlLWxpbmUt
bGF5b3V0LWxpbmUtaXMtYWxsLXdoaXRlc3BhY2UuaHRtbDogQWRkZWQuCisKIDIwMTctMDMtMDMg
IFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjA5
NzYwKTogQXBwbGUgUGF5IGRvZXNuJ3Qgd29yayBvbiBjYXNwZXIuY29tLCBzaG9wc3ByaW5nLmNv
bSwgbWF5YmUgb3RoZXIgc2l0ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9z
aW1wbGUtbGluZS1sYXlvdXQtbGluZS1pcy1hbGwtd2hpdGVzcGFjZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvc2ltcGxlLWxpbmUtbGF5b3V0LWxpbmUtaXMtYWxsLXdoaXRl
c3BhY2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzZmI2ZDg3NDk4MDVjODIxOWI3NGEzOWIw
ODkyZDg0ZWEyZDZiYjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQv
c2ltcGxlLWxpbmUtbGF5b3V0LWxpbmUtaXMtYWxsLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTUgQEAKK1BBU1MgaWYgbm8gY3Jhc2guCitmIGJhciBmIGJhciBmb28gYmFyIGZv
byBiYXIKK2YgYmFyCitmb29iYXIgZm9vYmFyIGZvb2JhcgorYmFyCitmCisKKworICAKK2ZvCitv
CitmIGJhciBmb28gZm9vYmFyIGZvb2JhciBmbworbworCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9zaW1wbGUtbGluZS1sYXlvdXQtbGluZS1pcy1hbGwtd2hpdGVzcGFjZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NpbXBsZS1saW5lLWxheW91dC1saW5lLWlzLWFs
bC13aGl0ZXNwYWNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWFiOTUxZjRmYzhiZWRmNTk1YjVmYjA3NDQ5
ZTRjZTZiMzRiZGRiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9z
aW1wbGUtbGluZS1sYXlvdXQtbGluZS1pcy1hbGwtd2hpdGVzcGFjZS5odG1sCkBAIC0wLDAgKzEs
MTggQEAKKzwhRE9DVFlQRSBIVE1MPgorPHByZT4KK1BBU1MgaWYgbm8gY3Jhc2guCitmIGJhciBm
IGJhciBmb28gYmFyIGZvbyBiYXIKK2YgYmFyCitmb29iYXIgZm9vYmFyIGZvb2JhcgorZiBiYXIg
Zm9vIGZvb2JhciBmb29iYXIgZm9vYmFyCitmCisKK2ZvbworICA8c2NyaXB0PgoraWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK2RvY3VtZW50LmRlc2ln
bk1vZGUgPSAib24iOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIpOworZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkp1c3RpZnlSaWdodCIpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkp1
c3RpZnlMZWZ0Iik7Cis8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303691</attachid>
            <date>2017-03-07 11:43:38 -0800</date>
            <delta_ts>2017-03-07 13:02:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169288-20170307114337.patch</filename>
            <type>text/plain</type>
            <size>6177</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzMzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTc1NGM5MTJlNzI2NWE4
NjMxNTdmMjZmZmRkN2I0N2M4MGYwMjlkNy4uMTljMTFjYTgxMWViZDk1YWFiMjc2Zjg2YmZjZWUz
OTcxMGE3NmJlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE3LTAzLTA3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU2ltcGxlIGxpbmUgbGF5b3V0
OiBEbyBub3QgdXNlIGludmFsaWQgbV9sYXN0Tm9uV2hpdGVzcGFjZUZyYWdtZW50IHdoaWxlIHJl
bW92aW5nIHRyYWlsaW5nIHdoaXRlc3BhY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjkyODgKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMzA1NzY5
NzYKKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBXaGVu
IHRoZSBjdXJyZW50IGxpbmUgaGFzIG5vdGhpbmcgYnV0IHdoaXRlc3BhY2UsIG1fbGFzdE5vbldo
aXRlc3BhY2VGcmFnbWVudCBpcyBpbnZhbGlkIHNvCisgICAgICAgIHdlIHNob3VsZCBub3QgdXNl
IHRoZSBzdGFydC9lbmQgdmFsdWVzIHRvIGRlY2lkZSBob3cgbWFueSBjaGFyYWN0ZXJzIHdlIG5l
ZWQgdG8gcmV2ZXJ0LgorICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIG1fbGFzdE5vbldoaXRlc3Bh
Y2VGcmFnbWVudCBvcHRpb25hbC4gV2hlbiBpdCdzIGludmFsaWQgd2UganVzdCByZW1vdmUKKyAg
ICAgICAgYWxsIHRoZSBydW5zIGZyb20gdGhlIGN1cnJlbnQgbGluZSBzaW5jZSB0aGV5IGFyZSBh
bGwgY29uc2lkZXJlZCB3aGl0ZXNwYWNlIHJ1bnMuCisKKyAgICAgICAgVGVzdDogZmFzdC90ZXh0
L3NpbXBsZS1saW5lLWxheW91dC1saW5lLWlzLWFsbC13aGl0ZXNwYWNlLmh0bWwKKworICAgICAg
ICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNp
bXBsZUxpbmVMYXlvdXQ6OnJldmVydEFsbFJ1bnNPbkN1cnJlbnRMaW5lKToKKyAgICAgICAgKFdl
YkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OkxpbmVTdGF0ZTo6cmVtb3ZlVHJhaWxpbmdXaGl0ZXNw
YWNlKToKKwogMjAxNy0wMy0wMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29t
PgogCiAgICAgICAgIFtNYWNdIFdlYkNvcmUuZnJhbWV3b3JrIGlzIG1pc3NpbmcgYSBzeW1saW5r
IGZyb20gRnJhbWV3b3JrcyB0byBWZXJzaW9ucy9DdXJyZW50L0ZyYW1ld29ya3Mgd2hlbiB0aGUg
bGF0dGVyIGV4aXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBs
ZUxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlv
dXQuY3BwCmluZGV4IDU0MjExNTMwN2FkYWY3NGRkOTQ0ZmNkYzIxMjI4NTM3MTI5NjQ5ZTAuLjU4
MzE5YWY4ZjAyZjllNmFjMzZlMTQ1ZGM2ODM4Y2Q0NTEzOWUyODMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5jcHAKQEAgLTM0NCw2ICszNDQsMTIgQEAg
c3RhdGljIGZsb2F0IGNvbXB1dGVMaW5lTGVmdChFVGV4dEFsaWduIHRleHRBbGlnbiwgZmxvYXQg
YXZhaWxhYmxlV2lkdGgsIGZsb2F0IGMKICAgICByZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQg
cmV2ZXJ0QWxsUnVuc09uQ3VycmVudExpbmUoTGF5b3V0OjpSdW5WZWN0b3ImIHJ1bnMpCit7Cisg
ICAgd2hpbGUgKCFydW5zLmlzRW1wdHkoKSAmJiAhcnVucy5sYXN0KCkuaXNFbmRPZkxpbmUpCisg
ICAgICAgIHJ1bnMucmVtb3ZlTGFzdCgpOworfQorCiBzdGF0aWMgdm9pZCByZXZlcnRSdW5zKExh
eW91dDo6UnVuVmVjdG9yJiBydW5zLCB1bnNpZ25lZCBwb3NpdGlvblRvUmV2ZXJ0VG8sIGZsb2F0
IHdpZHRoKQogewogICAgIHdoaWxlIChydW5zLnNpemUoKSkgewpAQCAtNDg5LDExICs0OTUsMjYg
QEAgcHVibGljOgogCiAgICAgdm9pZCByZW1vdmVUcmFpbGluZ1doaXRlc3BhY2UoTGF5b3V0OjpS
dW5WZWN0b3ImIHJ1bnMpCiAgICAgewotICAgICAgICBpZiAobV9sYXN0RnJhZ21lbnQudHlwZSgp
ICE9IFRleHRGcmFnbWVudEl0ZXJhdG9yOjpUZXh0RnJhZ21lbnQ6OldoaXRlc3BhY2UgfHwgbV9s
YXN0RnJhZ21lbnQuZW5kKCkgPT0gbV9sYXN0Tm9uV2hpdGVzcGFjZUZyYWdtZW50LmVuZCgpKQor
ICAgICAgICBpZiAobV9sYXN0RnJhZ21lbnQudHlwZSgpICE9IFRleHRGcmFnbWVudEl0ZXJhdG9y
OjpUZXh0RnJhZ21lbnQ6OldoaXRlc3BhY2UpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IHJldmVydFJ1bnMocnVucywgbV9sYXN0Tm9uV2hpdGVzcGFjZUZyYWdtZW50LmVuZCgpLCBtX3Ry
YWlsaW5nV2hpdGVzcGFjZVdpZHRoKTsKLSAgICAgICAgbV9ydW5zV2lkdGggLT0gbV90cmFpbGlu
Z1doaXRlc3BhY2VXaWR0aDsKLSAgICAgICAgbV9sYXN0RnJhZ21lbnQgPSBtX2xhc3ROb25XaGl0
ZXNwYWNlRnJhZ21lbnQ7CisgICAgICAgIGlmIChtX2xhc3ROb25XaGl0ZXNwYWNlRnJhZ21lbnQp
IHsKKyAgICAgICAgICAgIGF1dG8gbmVlZHNSZXZlcnRpbmcgPSBtX2xhc3ROb25XaGl0ZXNwYWNl
RnJhZ21lbnQtPmVuZCgpICE9IG1fbGFzdEZyYWdtZW50LmVuZCgpOworICAgICAgICAgICAgLy8g
VHJhaWxpbmcgd2hpdGVzcGFjZSBmcmFnbWVudCBtaWdodCBhY3R1YWxseSBoYXZlIHplcm8gbGVu
Z3RoLgorICAgICAgICAgICAgQVNTRVJUKG5lZWRzUmV2ZXJ0aW5nIHx8ICFtX3RyYWlsaW5nV2hp
dGVzcGFjZVdpZHRoKTsKKyAgICAgICAgICAgIGlmIChuZWVkc1JldmVydGluZykgeworICAgICAg
ICAgICAgICAgIHJldmVydFJ1bnMocnVucywgbV9sYXN0Tm9uV2hpdGVzcGFjZUZyYWdtZW50LT5l
bmQoKSwgbV90cmFpbGluZ1doaXRlc3BhY2VXaWR0aCk7CisgICAgICAgICAgICAgICAgbV9ydW5z
V2lkdGggLT0gbV90cmFpbGluZ1doaXRlc3BhY2VXaWR0aDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIG1fdHJhaWxpbmdXaGl0ZXNwYWNlV2lkdGggPSAwOworICAgICAgICAgICAgbV9sYXN0
RnJhZ21lbnQgPSAqbV9sYXN0Tm9uV2hpdGVzcGFjZUZyYWdtZW50OworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisgICAgICAgIC8vIFRoaXMgbGluZSBpcyBhbGwgd2hpdGVzcGFjZS4K
KyAgICAgICAgcmV2ZXJ0QWxsUnVuc09uQ3VycmVudExpbmUocnVucyk7CisgICAgICAgIG1fcnVu
c1dpZHRoID0gMDsKKyAgICAgICAgbV90cmFpbGluZ1doaXRlc3BhY2VXaWR0aCA9IDA7CisgICAg
ICAgIC8vIEZJWE1FOiBNYWtlIG1fbGFzdEZyYWdtZW50IG9wdGlvbmFsLgorICAgICAgICBtX2xh
c3RGcmFnbWVudCA9IFRleHRGcmFnbWVudEl0ZXJhdG9yOjpUZXh0RnJhZ21lbnQoKTsKICAgICB9
CiAKIHByaXZhdGU6CkBAIC01MDgsNyArNTI5LDcgQEAgcHJpdmF0ZToKICAgICBmbG9hdCBtX3J1
bnNXaWR0aCB7IDAgfTsKICAgICBUZXh0RnJhZ21lbnRJdGVyYXRvcjo6VGV4dEZyYWdtZW50IG1f
b3ZlcmZsb3dlZEZyYWdtZW50OwogICAgIFRleHRGcmFnbWVudEl0ZXJhdG9yOjpUZXh0RnJhZ21l
bnQgbV9sYXN0RnJhZ21lbnQ7Ci0gICAgVGV4dEZyYWdtZW50SXRlcmF0b3I6OlRleHRGcmFnbWVu
dCBtX2xhc3ROb25XaGl0ZXNwYWNlRnJhZ21lbnQ7CisgICAgc3RkOjpvcHRpb25hbDxUZXh0RnJh
Z21lbnRJdGVyYXRvcjo6VGV4dEZyYWdtZW50PiBtX2xhc3ROb25XaGl0ZXNwYWNlRnJhZ21lbnQ7
CiAgICAgVGV4dEZyYWdtZW50SXRlcmF0b3I6OlRleHRGcmFnbWVudCBtX2xhc3RDb21wbGV0ZUZy
YWdtZW50OwogICAgIGZsb2F0IG1fdW5jb21wbGV0ZWRXaWR0aCB7IDAgfTsKICAgICBmbG9hdCBt
X3RyYWlsaW5nV2hpdGVzcGFjZVdpZHRoIHsgMCB9OyAvLyBVc2UgdGhpcyB0byByZW1vdmUgdHJh
aWxpbmcgd2hpdGVzcGFjZSB3aXRob3V0IHJlLW1lc3VyaW5nIHRoZSB0ZXh0LgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGMz
OTcxNGEyZGZlN2RmYmZlMjI5Y2RjMzNiZDdkZTI1YzhmNzljZTUuLjYwNWU3ZjRjODEyZWFjMDgy
MzUzZWNmMmQ0MmFjOTFhYjQzODM2ZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0wMy0w
NyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFNpbXBsZSBsaW5l
IGxheW91dDogRG8gbm90IHVzZSBpbnZhbGlkIG1fbGFzdE5vbldoaXRlc3BhY2VGcmFnbWVudCB3
aGlsZSByZW1vdmluZyB0cmFpbGluZyB3aGl0ZXNwYWNlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5Mjg4CisgICAgICAgIHJkYXI6Ly9wcm9ibGVt
LzMwNTc2OTc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAg
ICAgKiBmYXN0L3RleHQvc2ltcGxlLWxpbmUtbGF5b3V0LWxpbmUtaXMtYWxsLXdoaXRlc3BhY2Ut
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvc2ltcGxlLWxpbmUtbGF5
b3V0LWxpbmUtaXMtYWxsLXdoaXRlc3BhY2UuaHRtbDogQWRkZWQuCisKIDIwMTctMDMtMDMgIFNh
bSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjA5NzYw
KTogQXBwbGUgUGF5IGRvZXNuJ3Qgd29yayBvbiBjYXNwZXIuY29tLCBzaG9wc3ByaW5nLmNvbSwg
bWF5YmUgb3RoZXIgc2l0ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zaW1w
bGUtbGluZS1sYXlvdXQtbGluZS1pcy1hbGwtd2hpdGVzcGFjZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvc2ltcGxlLWxpbmUtbGF5b3V0LWxpbmUtaXMtYWxsLXdoaXRlc3Bh
Y2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzZmI2ZDg3NDk4MDVjODIxOWI3NGEzOWIwODky
ZDg0ZWEyZDZiYjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc2lt
cGxlLWxpbmUtbGF5b3V0LWxpbmUtaXMtYWxsLXdoaXRlc3BhY2UtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTUgQEAKK1BBU1MgaWYgbm8gY3Jhc2guCitmIGJhciBmIGJhciBmb28gYmFyIGZvbyBi
YXIKK2YgYmFyCitmb29iYXIgZm9vYmFyIGZvb2JhcgorYmFyCitmCisKKworICAKK2ZvCitvCitm
IGJhciBmb28gZm9vYmFyIGZvb2JhciBmbworbworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC9zaW1wbGUtbGluZS1sYXlvdXQtbGluZS1pcy1hbGwtd2hpdGVzcGFjZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NpbXBsZS1saW5lLWxheW91dC1saW5lLWlzLWFsbC13
aGl0ZXNwYWNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWFiOTUxZjRmYzhiZWRmNTk1YjVmYjA3NDQ5ZTRj
ZTZiMzRiZGRiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zaW1w
bGUtbGluZS1sYXlvdXQtbGluZS1pcy1hbGwtd2hpdGVzcGFjZS5odG1sCkBAIC0wLDAgKzEsMTgg
QEAKKzwhRE9DVFlQRSBIVE1MPgorPHByZT4KK1BBU1MgaWYgbm8gY3Jhc2guCitmIGJhciBmIGJh
ciBmb28gYmFyIGZvbyBiYXIKK2YgYmFyCitmb29iYXIgZm9vYmFyIGZvb2JhcgorZiBiYXIgZm9v
IGZvb2JhciBmb29iYXIgZm9vYmFyCitmCisKK2ZvbworICA8c2NyaXB0PgoraWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK2RvY3VtZW50LmRlc2lnbk1v
ZGUgPSAib24iOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIpOworZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkp1c3RpZnlSaWdodCIpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkp1c3Rp
ZnlMZWZ0Iik7Cis8L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>