<?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>147784</bug_id>
          
          <creation_ts>2015-08-07 07:55:49 -0700</creation_ts>
          <short_desc>XHR should not combine empty content-type value with default one</short_desc>
          <delta_ts>2015-11-19 01:14:47 -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>XML</component>
          <version>528+ (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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1115751</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-08-07 07:55:49 -0700</bug_when>
    <thetext>As illustrated in https://bugs.webkit.org/show_bug.cgi?id=147445, setting an empty Content-Type through setRequestHeader is leading to the generation of a bad header ,XXXX, XXXX being the default mime-type when none is set.
XHR should not try to combine these two.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115755</commentid>
    <comment_count>1</comment_count>
      <attachid>258500</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-08-07 08:05:19 -0700</bug_when>
    <thetext>Created attachment 258500
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115758</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-08-07 08:12:39 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; As illustrated in https://bugs.webkit.org/show_bug.cgi?id=147445, setting an
&gt; empty Content-Type through setRequestHeader is leading to the generation of
&gt; a bad header ,XXXX, XXXX being the default mime-type when none is set.
&gt; XHR should not try to combine these two.

To be clear
xhr.setRequestHeader(&quot;Content-Type&quot;, &quot;&quot;);
xhr.send(&quot;&quot;);
will end up in generating a header: &quot;Content-Type: ,text/plain&quot;, text/plain being the mime type used when none is provided.
The correct behaviour is to send should be &quot;Content-Type: &quot;, as per the XHR spec.
Firefox and Chrome follow that pattern.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115767</commentid>
    <comment_count>3</comment_count>
      <attachid>258500</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-08-07 09:03:19 -0700</bug_when>
    <thetext>Comment on attachment 258500
Patch

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

&gt; Source/WebCore/xml/XMLHttpRequest.cpp:600
&gt; +        if (!m_requestHeaders.contains(HTTPHeaderName::ContentType)) {

It looks strange to special case Content-Type like this. There are many headers fields that do not allow multiple values.

I think that unless we can implement it correctly for some well specified set of header fields, it should be author&apos;s responsibility to use the API correctly. What do other browsers do?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116193</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-08-10 02:43:24 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 258500 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=258500&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/xml/XMLHttpRequest.cpp:600
&gt; &gt; +        if (!m_requestHeaders.contains(HTTPHeaderName::ContentType)) {
&gt; 
&gt; It looks strange to special case Content-Type like this. There are many
&gt; headers fields that do not allow multiple values.

Content-Type is not special cased for multiple values. One can set twice &apos;Content-Type&apos; with setRequestHeader and the value will be combined.

WebKit is failing to detect when the web app provides a &apos;Content-Type&apos; value in the case of the empty value. WebKit then tries to set the &apos;Content-Type&apos; to the default value as per XHR spec, and it gets combined.

This is clearly broken.
It seems to me there are 3 options:
1. Send an empty &apos;Content-Type&apos;, as requested by the web app.
2. Raise an exception when trying to set an empty value for &apos;Content-Type&apos;
3. Consider that the web app did not set any value and send &apos;Content-Type&apos; with a default value


1 makes sense to me.
2 is not consistent with other headers that might be set meaningfully to the empty value. It is also not consistent with existing browsers that do not throw currenly in that case.
3 does not make a lot of sense to me since we are not respecting what the web author wants.

&gt; I think that unless we can implement it correctly for some well specified
&gt; set of header fields, it should be author&apos;s responsibility to use the API
&gt; correctly. What do other browsers do?

I cannot check the test currently.
Looking at the source code, it seems that:
- Chrome does the same as WebKit
- Firefox is using the default value (option 3).

I will write an update at https://github.com/w3c/web-platform-tests/pull/2045</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116194</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-08-10 02:56:18 -0700</bug_when>
    <thetext>&gt; I will write an update at https://github.com/w3c/web-platform-tests/pull/2045

If I am not misunderstanding Annev comments at https://github.com/w3c/web-platform-tests/pull/2045, the current patch is aligning WebKit with the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116226</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-08-10 09:20:52 -0700</bug_when>
    <thetext>Sending an empty Content-Type (or removing it altogether) shouldn&apos;t be supported functionality of XMLHttpRequest. It doesn&apos;t matter to me how exactly setRequestHeader(&quot;&quot;) or setRequestHeader(&quot; &quot;) fails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116233</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-08-10 10:20:22 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Sending an empty Content-Type (or removing it altogether) shouldn&apos;t be
&gt; supported functionality of XMLHttpRequest. It doesn&apos;t matter to me how
&gt; exactly setRequestHeader(&quot;&quot;) or setRequestHeader(&quot; &quot;) fails.

I do not get the direction you are pushing for.

Do you want to special-case the headers that cannot have an empty value (Content-Type, Range...) so that setRequestHeader throws an exception for those headers?

Do you want to disable empty values for all headers, including headers that are defined to accept empty values?

Do you prefer the status quo (sending a garbaged not-interoperable value)?

In any case, there is an on-going effort to fix those small holes within the XHR spec. It would be great to express your concerns so that the spec and related test suite reflect those.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141455</commentid>
    <comment_count>8</comment_count>
      <attachid>265384</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-11-12 05:03:30 -0800</bug_when>
    <thetext>Created attachment 265384
Using wpt tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142073</commentid>
    <comment_count>9</comment_count>
      <attachid>265384</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-11-14 16:31:00 -0800</bug_when>
    <thetext>Comment on attachment 265384
Using wpt tests

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

&gt; Source/WebCore/xml/XMLHttpRequest.cpp:590
&gt; +        if (!m_requestHeaders.contains(HTTPHeaderName::ContentType)) {

It would be good to change all the uses of &quot;Content-Type&quot; to HTTPHeaderName::ContentType, not just the ones that need to be touched to fix this bug.

&gt; Source/WebCore/xml/XMLHttpRequest.cpp:618
&gt; -        String contentType = getRequestHeader(&quot;Content-Type&quot;);
&gt; -        if (contentType.isEmpty()) {
&gt; +        if (!m_requestHeaders.contains(HTTPHeaderName::ContentType)) {

In this case it would be better to leave the code as is and instead check for isNull rather than isEmpty. This avoids a double hash table lookup in the case where there is a content type. If you prefer we could call m_requestHeaders.get directly rather than calling getRequestHeader; the main difference is inlining. A call to m_requestHeaders.contains or m_requestHeaders.get will be inlined, whereas a call to getRequestHeader will not be, saving on code size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143217</commentid>
    <comment_count>10</comment_count>
      <attachid>265853</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-11-19 00:12:17 -0800</bug_when>
    <thetext>Created attachment 265853
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143219</commentid>
    <comment_count>11</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-11-19 00:15:46 -0800</bug_when>
    <thetext>&gt; It would be good to change all the uses of &quot;Content-Type&quot; to
&gt; HTTPHeaderName::ContentType, not just the ones that need to be touched to
&gt; fix this bug.

We might also want to remove the setRequestHeaderInternal and getRequestHeader helper routines.
I&apos;ll do that as a follow-up patch.

&gt; &gt; Source/WebCore/xml/XMLHttpRequest.cpp:618
&gt; &gt; -        String contentType = getRequestHeader(&quot;Content-Type&quot;);
&gt; &gt; -        if (contentType.isEmpty()) {
&gt; &gt; +        if (!m_requestHeaders.contains(HTTPHeaderName::ContentType)) {
&gt; 
&gt; In this case it would be better to leave the code as is and instead check
&gt; for isNull rather than isEmpty. This avoids a double hash table lookup in
&gt; the case where there is a content type. If you prefer we could call
&gt; m_requestHeaders.get directly rather than calling getRequestHeader; the main
&gt; difference is inlining. A call to m_requestHeaders.contains or
&gt; m_requestHeaders.get will be inlined, whereas a call to getRequestHeader
&gt; will not be, saving on code size.

isNull() sounds better indeed.
Landing patch is fixed accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143232</commentid>
    <comment_count>12</comment_count>
      <attachid>265853</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-19 01:14:42 -0800</bug_when>
    <thetext>Comment on attachment 265853
Patch for landing

Clearing flags on attachment: 265853

Committed r192620: &lt;http://trac.webkit.org/changeset/192620&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143233</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-19 01:14:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258500</attachid>
            <date>2015-08-07 08:05:19 -0700</date>
            <delta_ts>2015-11-12 05:03:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147784-20150807120507.patch</filename>
            <type>text/plain</type>
            <size>6275</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4MTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTFlZDQwNWY3NzBhMzE1
ZGY5NzNmYjU4NGI5ZmM0MjRiM2IzODViMC4uNDNjNTkwMjEyNDJjMDdhYzkzOWY2N2JhYmYzNTgy
YTBiODE2MjI2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTA4LTA3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgWEhSIHNo
b3VsZCBub3QgY29tYmluZSBlbXB0eSBjb250ZW50LXR5cGUgdmFsdWUgd2l0aCBkZWZhdWx0IG9u
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3Nzg0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJldmlv
dXNseSwgWEhSIHdhcyB0ZXN0aW5nIHdoZXRoZXIgYSAiQ29udGVudC1UeXBlIiB3YXMgc2V0IHVz
aW5nIHNldFJlcXVlc3RIZWFkZXIgYnkgY2hlY2tpbmcgd2hldGhlciBhICJDb250ZW50LVR5cGUi
IGhlYWRlciB2YWx1ZSB3YXMgZW1wdHkuCisgICAgICAgIFRoaXMgbm93IHRlc3RzIHdoZXRoZXIg
IkNvbnRlbnQtVHlwZSIgcmVxdWVzdCBoZWFkZXIgaXMgc2V0IHVzaW5nIEhUVFBIZWFkZXJNYXA6
OmNvbnRhaW5zLgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcG9z
dC1lbXB0eS1jb250ZW50LXR5cGUuaHRtbAorCisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpzZW5kKToKKwogMjAxNS0w
OC0wNiAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgU291
cmNlL1dlYkNvcmUvY3J5cHRvIGNvZGUgc2hvdWxkIHBhc3Mgc3RkOjpmdW5jdGlvbjw+IG9iamVj
dHMgdGhyb3VnaCBydmFsdWUgcmVmZXJlbmNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVz
dC5jcHAKaW5kZXggZGI2ZDhhM2U5NDE0OTNiODZlNjljMWNiZTcxZDdmYjZmYjE0NmYwOS4uZTI2
ODEyNjEwZjdlZDBkNzJiYWJkZGI2MWFlYzg3OGY4ODE0NmJkYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuY3BwCkBAIC01OTcsOCArNTk3LDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVz
dDo6c2VuZChEb2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICBy
ZXR1cm47CiAKICAgICBpZiAobV9tZXRob2QgIT0gIkdFVCIgJiYgbV9tZXRob2QgIT0gIkhFQUQi
ICYmIG1fdXJsLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkgewotICAgICAgICBTdHJpbmcgY29u
dGVudFR5cGUgPSBnZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiKTsKLSAgICAgICAgaWYg
KGNvbnRlbnRUeXBlLmlzRW1wdHkoKSkgeworICAgICAgICBpZiAoIW1fcmVxdWVzdEhlYWRlcnMu
Y29udGFpbnMoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRUeXBlKSkgewogI2lmIEVOQUJMRShEQVNI
Qk9BUkRfU1VQUE9SVCkKICAgICAgICAgICAgIGlmICh1c2VzRGFzaGJvYXJkQmFja3dhcmRDb21w
YXRpYmlsaXR5TW9kZSgpKQogICAgICAgICAgICAgICAgIHNldFJlcXVlc3RIZWFkZXJJbnRlcm5h
bCgiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpOwpA
QCAtNjI2LDggKzYyNSw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnNlbmQoY29uc3QgU3RyaW5n
JiBib2R5LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFi
b2R5LmlzTnVsbCgpICYmIG1fbWV0aG9kICE9ICJHRVQiICYmIG1fbWV0aG9kICE9ICJIRUFEIiAm
JiBtX3VybC5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpIHsKLSAgICAgICAgU3RyaW5nIGNvbnRl
bnRUeXBlID0gZ2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIik7Ci0gICAgICAgIGlmIChj
b250ZW50VHlwZS5pc0VtcHR5KCkpIHsKKyAgICAgICAgaWYgKCFtX3JlcXVlc3RIZWFkZXJzLmNv
bnRhaW5zKEhUVFBIZWFkZXJOYW1lOjpDb250ZW50VHlwZSkpIHsKICNpZiBFTkFCTEUoREFTSEJP
QVJEX1NVUFBPUlQpCiAgICAgICAgICAgICBpZiAodXNlc0Rhc2hib2FyZEJhY2t3YXJkQ29tcGF0
aWJpbGl0eU1vZGUoKSkKICAgICAgICAgICAgICAgICBzZXRSZXF1ZXN0SGVhZGVySW50ZXJuYWwo
IkNvbnRlbnQtVHlwZSIsICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKTsKQEAg
LTYzNSw2ICs2MzMsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpzZW5kKGNvbnN0IFN0cmluZyYg
Ym9keSwgRXhjZXB0aW9uQ29kZSYgZWMpCiAjZW5kaWYKICAgICAgICAgICAgICAgICBzZXRSZXF1
ZXN0SGVhZGVySW50ZXJuYWwoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L3BsYWluO2NoYXJzZXQ9VVRG
LTgiKTsKICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIFN0cmluZyBjb250ZW50VHlwZSA9
IGdldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIpOwogICAgICAgICAgICAgcmVwbGFjZUNo
YXJzZXRJbk1lZGlhVHlwZShjb250ZW50VHlwZSwgIlVURi04Iik7CiAgICAgICAgICAgICBtX3Jl
cXVlc3RIZWFkZXJzLnNldChIVFRQSGVhZGVyTmFtZTo6Q29udGVudFR5cGUsIGNvbnRlbnRUeXBl
KTsKICAgICAgICAgfQpAQCAtNjUzLDggKzY1Miw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnNl
bmQoQmxvYiogYm9keSwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgIHJldHVybjsKIAogICAg
IGlmIChtX21ldGhvZCAhPSAiR0VUIiAmJiBtX21ldGhvZCAhPSAiSEVBRCIgJiYgbV91cmwucHJv
dG9jb2xJc0luSFRUUEZhbWlseSgpKSB7Ci0gICAgICAgIGNvbnN0IFN0cmluZyYgY29udGVudFR5
cGUgPSBnZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiKTsKLSAgICAgICAgaWYgKGNvbnRl
bnRUeXBlLmlzRW1wdHkoKSkgeworICAgICAgICBpZiAoIW1fcmVxdWVzdEhlYWRlcnMuY29udGFp
bnMoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRUeXBlKSkgewogICAgICAgICAgICAgY29uc3QgU3Ry
aW5nJiBibG9iVHlwZSA9IGJvZHktPnR5cGUoKTsKICAgICAgICAgICAgIGlmICghYmxvYlR5cGUu
aXNFbXB0eSgpICYmIGlzVmFsaWRDb250ZW50VHlwZShibG9iVHlwZSkpCiAgICAgICAgICAgICAg
ICAgc2V0UmVxdWVzdEhlYWRlckludGVybmFsKCJDb250ZW50LVR5cGUiLCBibG9iVHlwZSk7CkBA
IC02ODEsOSArNjc5LDggQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6c2VuZChET01Gb3JtRGF0YSog
Ym9keSwgRXhjZXB0aW9uQ29kZSYgZWMpCiAKICAgICAgICAgbV9yZXF1ZXN0RW50aXR5Qm9keS0+
Z2VuZXJhdGVGaWxlcyhkb2N1bWVudCgpKTsKIAotICAgICAgICBTdHJpbmcgY29udGVudFR5cGUg
PSBnZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiKTsKLSAgICAgICAgaWYgKGNvbnRlbnRU
eXBlLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgY29udGVudFR5cGUgPSBtYWtlU3RyaW5nKCJt
dWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT0iLCBtX3JlcXVlc3RFbnRpdHlCb2R5LT5ib3Vu
ZGFyeSgpLmRhdGEoKSk7CisgICAgICAgIGlmICghbV9yZXF1ZXN0SGVhZGVycy5jb250YWlucyhI
VFRQSGVhZGVyTmFtZTo6Q29udGVudFR5cGUpKSB7CisgICAgICAgICAgICBTdHJpbmcgY29udGVu
dFR5cGUgPSBtYWtlU3RyaW5nKCJtdWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT0iLCBtX3Jl
cXVlc3RFbnRpdHlCb2R5LT5ib3VuZGFyeSgpLmRhdGEoKSk7CiAgICAgICAgICAgICBzZXRSZXF1
ZXN0SGVhZGVySW50ZXJuYWwoIkNvbnRlbnQtVHlwZSIsIGNvbnRlbnRUeXBlKTsKICAgICAgICAg
fQogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBiMmMyNGIyNGNkODNhOTMxMjdiNjIxNGM5MTY1MmVhODhmYjhjODJl
Li4xOTc5OTNkMGFiYTc0N2QyMmVmNTc5YTM3M2JkMDI0Y2IzYzdiNzQ0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTUtMDgtMDcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5j
YW5vbi5mcj4KKworICAgICAgICBYSFIgc2hvdWxkIG5vdCBjb21iaW5lIGVtcHR5IGNvbnRlbnQt
dHlwZSB2YWx1ZSB3aXRoIGRlZmF1bHQgb25lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc3ODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcG9zdC1lbXB0
eS1jb250ZW50LXR5cGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L3Bvc3QtZW1wdHktY29udGVudC10eXBlLmh0bWw6IEFkZGVkLgorCiAy
MDE1LTA4LTA2ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAg
ICAgIEludHJvZHVjZSBnZXRfYnlfaWQgbGlrZSBJQyBpbnRvIGdldF9ieV92YWwgd2hlbiB0aGUg
Z2l2ZW4gbmFtZSBpcyBTdHJpbmcgb3IgU3ltYm9sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Bvc3QtZW1wdHktY29udGVudC10eXBlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcG9zdC1lbXB0eS1j
b250ZW50LXR5cGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5YzA5YmY4NTAwNTA2NzRkMjI4
NWU1MzllYTNlNjY2MjBhMjIyMzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Bvc3QtZW1wdHktY29udGVudC10eXBlLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDMgQEAKK1NldHRpbmcgYSBDb250ZW50LVR5cGUgdG8gYW4gZW1wdHkgdmFs
dWUgdGhyb3VnaCBzZXRSZXF1ZXN0SGVhZGVyIHNob3VsZCBhY3R1YWxseSBlbmFibGUgc2VuZGlu
ZyBhbiBlbXB0eSB2YWx1ZSBDb250ZW50LVR5cGUgaGVhZGVyIG9uIHRoZSB3aXJlLgorCitQQVNT
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Bvc3Qt
ZW1wdHktY29udGVudC10eXBlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L3Bvc3QtZW1wdHktY29udGVudC10eXBlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2VjMmU4Nzg2
YWM5MjYyMWUwZWMzMWZhMzdhNmU0OTU5ZGNjZmE0YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcG9zdC1lbXB0eS1jb250ZW50LXR5cGUu
aHRtbApAQCAtMCwwICsxLDE1IEBACis8aHRtbD4KKzxib2R5PgorPHA+U2V0dGluZyBhIENvbnRl
bnQtVHlwZSB0byBhbiBlbXB0eSB2YWx1ZSB0aHJvdWdoIHNldFJlcXVlc3RIZWFkZXIgc2hvdWxk
IGFjdHVhbGx5IGVuYWJsZSBzZW5kaW5nIGFuIGVtcHR5IHZhbHVlIENvbnRlbnQtVHlwZSBoZWFk
ZXIgb24gdGhlIHdpcmUuPC9wPgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgb2JqWG1sSHR0cCA9IG5l
dyBYTUxIdHRwUmVxdWVzdDsKKyAgICBvYmpYbWxIdHRwLm9wZW4oIlBPU1QiLCAicHJpbnQtY29u
dGVudC10eXBlLmNnaSIsIGZhbHNlKTsKKyAgICBvYmpYbWxIdHRwLnNldFJlcXVlc3RIZWFkZXIo
IkNvbnRlbnQtVHlwZSIsICIiKTsKKyAgICBvYmpYbWxIdHRwLnNlbmQoIiIpOworICAgIGRvY3Vt
ZW50LndyaXRlKCI8cHJlPiIgKyAob2JqWG1sSHR0cC5yZXNwb25zZVRleHQudHJpbSgpID09ICIi
ID8gIlBBU1MiIDogIkZBSUwiKSArICI8L3ByZT4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265384</attachid>
            <date>2015-11-12 05:03:30 -0800</date>
            <delta_ts>2015-11-19 00:12:11 -0800</delta_ts>
            <desc>Using wpt tests</desc>
            <filename>bug-147784-20151112140323.patch</filename>
            <type>text/plain</type>
            <size>5951</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWNiMTAwMzE5YTY5ZDQw
ZmU3YzJkMTdiYzY1MmU3YzFiNWM1ZDRhMy4uYjJkZmU0MTlkNmQzZDRkMzI5ODJmMTQxNTA1Nzk0
ZGJiOGM5ZTNkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTExLTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgWEhSIHNo
b3VsZCBub3QgY29tYmluZSBlbXB0eSBjb250ZW50LXR5cGUgdmFsdWUgd2l0aCBkZWZhdWx0IG9u
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3Nzg0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJldmlv
dXNseSwgWEhSIHdhcyB0ZXN0aW5nIHdoZXRoZXIgYSAiQ29udGVudC1UeXBlIiB3YXMgc2V0IHVz
aW5nIHNldFJlcXVlc3RIZWFkZXIgYnkgY2hlY2tpbmcgd2hldGhlciBhICJDb250ZW50LVR5cGUi
IGhlYWRlciB2YWx1ZSB3YXMgZW1wdHkuCisgICAgICAgIFRoaXMgbm93IHRlc3RzIHdoZXRoZXIg
IkNvbnRlbnQtVHlwZSIgcmVxdWVzdCBoZWFkZXIgaXMgc2V0IHVzaW5nIEhUVFBIZWFkZXJNYXA6
OmNvbnRhaW5zLgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcG9z
dC1lbXB0eS1jb250ZW50LXR5cGUuaHRtbAorCisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpzZW5kKToKKwogMjAxNS0x
MS0xMiAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
bW92ZSBFTkFCTEUoU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSBndWFyZHMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IDZiZWI2YWQ5ZTljY2MxMzJkZjJlZTdlNzc0
YzkyYjU4Yzg4YTQ0NjEuLjEyMWZiNjI1NTU4MmVmNzdmOTc0NjVhOGQwZDQyOTFmZGUxZmE1MTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNTg3LDggKzU4Nyw3IEBA
IHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnNlbmQoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25D
b2RlJiBlYykKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKG1fbWV0aG9kICE9ICJHRVQiICYm
IG1fbWV0aG9kICE9ICJIRUFEIiAmJiBtX3VybC5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpIHsK
LSAgICAgICAgU3RyaW5nIGNvbnRlbnRUeXBlID0gZ2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1U
eXBlIik7Ci0gICAgICAgIGlmIChjb250ZW50VHlwZS5pc0VtcHR5KCkpIHsKKyAgICAgICAgaWYg
KCFtX3JlcXVlc3RIZWFkZXJzLmNvbnRhaW5zKEhUVFBIZWFkZXJOYW1lOjpDb250ZW50VHlwZSkp
IHsKICNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCiAgICAgICAgICAgICBpZiAodXNlc0Rh
c2hib2FyZEJhY2t3YXJkQ29tcGF0aWJpbGl0eU1vZGUoKSkKICAgICAgICAgICAgICAgICBzZXRS
ZXF1ZXN0SGVhZGVySW50ZXJuYWwoIkNvbnRlbnQtVHlwZSIsICJhcHBsaWNhdGlvbi94LXd3dy1m
b3JtLXVybGVuY29kZWQiKTsKQEAgLTYxNiw4ICs2MTUsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0
OjpzZW5kKGNvbnN0IFN0cmluZyYgYm9keSwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGlmICghYm9keS5pc051bGwoKSAmJiBtX21ldGhvZCAhPSAiR0VUIiAmJiBt
X21ldGhvZCAhPSAiSEVBRCIgJiYgbV91cmwucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKSB7Ci0g
ICAgICAgIFN0cmluZyBjb250ZW50VHlwZSA9IGdldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlw
ZSIpOwotICAgICAgICBpZiAoY29udGVudFR5cGUuaXNFbXB0eSgpKSB7CisgICAgICAgIGlmICgh
bV9yZXF1ZXN0SGVhZGVycy5jb250YWlucyhIVFRQSGVhZGVyTmFtZTo6Q29udGVudFR5cGUpKSB7
CiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQogICAgICAgICAgICAgaWYgKHVzZXNEYXNo
Ym9hcmRCYWNrd2FyZENvbXBhdGliaWxpdHlNb2RlKCkpCiAgICAgICAgICAgICAgICAgc2V0UmVx
dWVzdEhlYWRlckludGVybmFsKCJDb250ZW50LVR5cGUiLCAiYXBwbGljYXRpb24veC13d3ctZm9y
bS11cmxlbmNvZGVkIik7CkBAIC02MjUsNiArNjIzLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6
c2VuZChjb25zdCBTdHJpbmcmIGJvZHksIEV4Y2VwdGlvbkNvZGUmIGVjKQogI2VuZGlmCiAgICAg
ICAgICAgICAgICAgc2V0UmVxdWVzdEhlYWRlckludGVybmFsKCJDb250ZW50LVR5cGUiLCAidGV4
dC9wbGFpbjtjaGFyc2V0PVVURi04Iik7CiAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBT
dHJpbmcgY29udGVudFR5cGUgPSBnZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiKTsKICAg
ICAgICAgICAgIHJlcGxhY2VDaGFyc2V0SW5NZWRpYVR5cGUoY29udGVudFR5cGUsICJVVEYtOCIp
OwogICAgICAgICAgICAgbV9yZXF1ZXN0SGVhZGVycy5zZXQoSFRUUEhlYWRlck5hbWU6OkNvbnRl
bnRUeXBlLCBjb250ZW50VHlwZSk7CiAgICAgICAgIH0KQEAgLTY0Myw4ICs2NDIsNyBAQCB2b2lk
IFhNTEh0dHBSZXF1ZXN0OjpzZW5kKEJsb2IqIGJvZHksIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAg
ICAgICByZXR1cm47CiAKICAgICBpZiAobV9tZXRob2QgIT0gIkdFVCIgJiYgbV9tZXRob2QgIT0g
IkhFQUQiICYmIG1fdXJsLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkgewotICAgICAgICBjb25z
dCBTdHJpbmcmIGNvbnRlbnRUeXBlID0gZ2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIik7
Ci0gICAgICAgIGlmIChjb250ZW50VHlwZS5pc0VtcHR5KCkpIHsKKyAgICAgICAgaWYgKCFtX3Jl
cXVlc3RIZWFkZXJzLmNvbnRhaW5zKEhUVFBIZWFkZXJOYW1lOjpDb250ZW50VHlwZSkpIHsKICAg
ICAgICAgICAgIGNvbnN0IFN0cmluZyYgYmxvYlR5cGUgPSBib2R5LT50eXBlKCk7CiAgICAgICAg
ICAgICBpZiAoIWJsb2JUeXBlLmlzRW1wdHkoKSAmJiBpc1ZhbGlkQ29udGVudFR5cGUoYmxvYlR5
cGUpKQogICAgICAgICAgICAgICAgIHNldFJlcXVlc3RIZWFkZXJJbnRlcm5hbCgiQ29udGVudC1U
eXBlIiwgYmxvYlR5cGUpOwpAQCAtNjcxLDExICs2NjksOCBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0
OjpzZW5kKERPTUZvcm1EYXRhKiBib2R5LCBFeGNlcHRpb25Db2RlJiBlYykKIAogICAgICAgICBt
X3JlcXVlc3RFbnRpdHlCb2R5LT5nZW5lcmF0ZUZpbGVzKGRvY3VtZW50KCkpOwogCi0gICAgICAg
IFN0cmluZyBjb250ZW50VHlwZSA9IGdldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIpOwot
ICAgICAgICBpZiAoY29udGVudFR5cGUuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBjb250ZW50
VHlwZSA9IG1ha2VTdHJpbmcoIm11bHRpcGFydC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSIsIG1fcmVx
dWVzdEVudGl0eUJvZHktPmJvdW5kYXJ5KCkuZGF0YSgpKTsKLSAgICAgICAgICAgIHNldFJlcXVl
c3RIZWFkZXJJbnRlcm5hbCgiQ29udGVudC1UeXBlIiwgY29udGVudFR5cGUpOwotICAgICAgICB9
CisgICAgICAgIGlmICghbV9yZXF1ZXN0SGVhZGVycy5jb250YWlucyhIVFRQSGVhZGVyTmFtZTo6
Q29udGVudFR5cGUpKQorICAgICAgICAgICAgc2V0UmVxdWVzdEhlYWRlckludGVybmFsKCJDb250
ZW50LVR5cGUiLCBtYWtlU3RyaW5nKCJtdWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT0iLCBt
X3JlcXVlc3RFbnRpdHlCb2R5LT5ib3VuZGFyeSgpLmRhdGEoKSkpOwogICAgIH0KIAogICAgIGNy
ZWF0ZVJlcXVlc3QoZWMpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYzBmZDBh
OGU2ZGE2Mzg5M2M1MTFmYjM0MTg1MzY3ZTBlMTBiZjExNy4uMzRkNzI2ZGI0NGI1Nzc2OTk4NDNj
NTRlM2I3YTFhM2U4NTA5ZGMzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTIgQEAKKzIwMTUtMTEtMTIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNy
Zi5jYW5vbi5mcj4KKworICAgICAgICBYSFIgc2hvdWxkIG5vdCBjb21iaW5lIGVtcHR5IGNvbnRl
bnQtdHlwZSB2YWx1ZSB3aXRoIGRlZmF1bHQgb25lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc3ODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVz
dC9zZXRyZXF1ZXN0aGVhZGVyLWNvbnRlbnQtdHlwZS1leHBlY3RlZC50eHQ6CisKIDIwMTUtMTEt
MTAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KIAogICAgICAg
ICBYTUxIdHRwUmVxdWVzdFVwbG9hZCBzaG91bGQgc3VwcG9ydCBvbnRpbWVvdXQgZXZlbnQgaGFu
ZGxlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9YTUxIdHRwUmVxdWVzdC9zZXRyZXF1ZXN0aGVhZGVyLWNvbnRlbnQtdHlwZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0
dHBSZXF1ZXN0L3NldHJlcXVlc3RoZWFkZXItY29udGVudC10eXBlLWV4cGVjdGVkLnR4dAppbmRl
eCBjM2IzYTI0MzkzNTIzZjljMTVjNmY3Yjc1ODk4MTcxNDhmNWY5ZjQyLi45NmI4ZjkzODkwM2Vl
NDRhNGEwOTkwZWJkODc4ZTMzYjQxYmI2MGUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L3NldHJlcXVlc3RoZWFk
ZXItY29udGVudC10eXBlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L3NldHJlcXVlc3RoZWFkZXItY29u
dGVudC10eXBlLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBYTUxIdHRwUmVx
dWVzdDogc2V0UmVxdWVzdEhlYWRlcigpIC0gQ29udGVudC1UeXBlIGhlYWRlciAoKSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiY29udGVudC10eXBlOiBcbiIgYnV0IGdvdCAiY29udGVudC10eXBl
OiAsIHRleHQvcGxhaW47Y2hhcnNldD1VVEYtOFxuIgotRkFJTCBYTUxIdHRwUmVxdWVzdDogc2V0
UmVxdWVzdEhlYWRlcigpIC0gQ29udGVudC1UeXBlIGhlYWRlciAoICkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgImNvbnRlbnQtdHlwZTogXG4iIGJ1dCBnb3QgImNvbnRlbnQtdHlwZTogLCB0ZXh0
L3BsYWluO2NoYXJzZXQ9VVRGLThcbiIKK1BBU1MgWE1MSHR0cFJlcXVlc3Q6IHNldFJlcXVlc3RI
ZWFkZXIoKSAtIENvbnRlbnQtVHlwZSBoZWFkZXIgKCkgCitQQVNTIFhNTEh0dHBSZXF1ZXN0OiBz
ZXRSZXF1ZXN0SGVhZGVyKCkgLSBDb250ZW50LVR5cGUgaGVhZGVyICggKSAKIFBBU1MgWE1MSHR0
cFJlcXVlc3Q6IHNldFJlcXVlc3RIZWFkZXIoKSAtIENvbnRlbnQtVHlwZSBoZWFkZXIgKG51bGwp
IAogUEFTUyBYTUxIdHRwUmVxdWVzdDogc2V0UmVxdWVzdEhlYWRlcigpIC0gQ29udGVudC1UeXBl
IGhlYWRlciAodW5kZWZpbmVkKSAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265853</attachid>
            <date>2015-11-19 00:12:17 -0800</date>
            <delta_ts>2015-11-19 01:14:42 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-147784-20151119091205.patch</filename>
            <type>text/plain</type>
            <size>5534</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmJkNjkzZGVhN2E4ZGUy
MWYzOWY4ZmZjOGU3ZmM3MmI2MDVmZGM5ZC4uOGIxOWI4NmIwZDQ2ZjNmNTQ3MzViMmM1ZmI1NDI2
NTMxMWJiZDk0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTExLTE5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgWEhSIHNo
b3VsZCBub3QgY29tYmluZSBlbXB0eSBjb250ZW50LXR5cGUgdmFsdWUgd2l0aCBkZWZhdWx0IG9u
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3Nzg0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgUHJldmlvdXNs
eSwgWEhSIHdhcyB0ZXN0aW5nIHdoZXRoZXIgYSAiQ29udGVudC1UeXBlIiB3YXMgc2V0IHVzaW5n
IHNldFJlcXVlc3RIZWFkZXIgYnkgY2hlY2tpbmcgd2hldGhlciBhICJDb250ZW50LVR5cGUiIGhl
YWRlciB2YWx1ZSB3YXMgZW1wdHkuCisgICAgICAgIFRoaXMgbm93IHRlc3RzIHdoZXRoZXIgIkNv
bnRlbnQtVHlwZSIgcmVxdWVzdCBoZWFkZXIgaXMgc2V0IHVzaW5nIGVpdGhlciBIVFRQSGVhZGVy
TWFwOjpjb250YWlucyBvciBjaGVja2luZyB3aGV0aGVyIGEgIkNvbnRlbnQtVHlwZSIgaGVhZGVy
IHZhbHVlIGlzIG51bGwuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9wb3N0LWVtcHR5LWNvbnRlbnQtdHlwZS5odG1sCisKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJl
cXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnNlbmQpOgorCiAy
MDE1LTExLTE4ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBN
b2Rlcm4gSURCOk1ha2UgaW4tbWVtb3J5IEluZGV4IGN1cnNvcnMgd29yay4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IDgzYjNmMmFiNDNkOTM5NzNjOWViMTY0NGUzZDRl
MjNjNmNkNTNjZjUuLjgzYjU1NTgwY2RkNTg1N2ZmNjNkYWMwZWI0MzQzMWM4Y2UwOTJiYmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNTkyLDggKzU5Miw3IEBAIHZv
aWQgWE1MSHR0cFJlcXVlc3Q6OnNlbmQoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2Rl
JiBlYykKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKG1fbWV0aG9kICE9ICJHRVQiICYmIG1f
bWV0aG9kICE9ICJIRUFEIiAmJiBtX3VybC5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpIHsKLSAg
ICAgICAgU3RyaW5nIGNvbnRlbnRUeXBlID0gZ2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBl
Iik7Ci0gICAgICAgIGlmIChjb250ZW50VHlwZS5pc0VtcHR5KCkpIHsKKyAgICAgICAgaWYgKCFt
X3JlcXVlc3RIZWFkZXJzLmNvbnRhaW5zKEhUVFBIZWFkZXJOYW1lOjpDb250ZW50VHlwZSkpIHsK
ICNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCiAgICAgICAgICAgICBpZiAodXNlc0Rhc2hi
b2FyZEJhY2t3YXJkQ29tcGF0aWJpbGl0eU1vZGUoKSkKICAgICAgICAgICAgICAgICBzZXRSZXF1
ZXN0SGVhZGVySW50ZXJuYWwoIkNvbnRlbnQtVHlwZSIsICJhcHBsaWNhdGlvbi94LXd3dy1mb3Jt
LXVybGVuY29kZWQiKTsKQEAgLTYyMiw3ICs2MjEsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0Ojpz
ZW5kKGNvbnN0IFN0cmluZyYgYm9keSwgRXhjZXB0aW9uQ29kZSYgZWMpCiAKICAgICBpZiAoIWJv
ZHkuaXNOdWxsKCkgJiYgbV9tZXRob2QgIT0gIkdFVCIgJiYgbV9tZXRob2QgIT0gIkhFQUQiICYm
IG1fdXJsLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkgewogICAgICAgICBTdHJpbmcgY29udGVu
dFR5cGUgPSBnZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiKTsKLSAgICAgICAgaWYgKGNv
bnRlbnRUeXBlLmlzRW1wdHkoKSkgeworICAgICAgICBpZiAoY29udGVudFR5cGUuaXNOdWxsKCkp
IHsKICNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCiAgICAgICAgICAgICBpZiAodXNlc0Rh
c2hib2FyZEJhY2t3YXJkQ29tcGF0aWJpbGl0eU1vZGUoKSkKICAgICAgICAgICAgICAgICBzZXRS
ZXF1ZXN0SGVhZGVySW50ZXJuYWwoIkNvbnRlbnQtVHlwZSIsICJhcHBsaWNhdGlvbi94LXd3dy1m
b3JtLXVybGVuY29kZWQiKTsKQEAgLTY0OCw4ICs2NDcsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0
OjpzZW5kKEJsb2IqIGJvZHksIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICByZXR1cm47CiAK
ICAgICBpZiAobV9tZXRob2QgIT0gIkdFVCIgJiYgbV9tZXRob2QgIT0gIkhFQUQiICYmIG1fdXJs
LnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkgewotICAgICAgICBjb25zdCBTdHJpbmcmIGNvbnRl
bnRUeXBlID0gZ2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIik7Ci0gICAgICAgIGlmIChj
b250ZW50VHlwZS5pc0VtcHR5KCkpIHsKKyAgICAgICAgaWYgKCFtX3JlcXVlc3RIZWFkZXJzLmNv
bnRhaW5zKEhUVFBIZWFkZXJOYW1lOjpDb250ZW50VHlwZSkpIHsKICAgICAgICAgICAgIGNvbnN0
IFN0cmluZyYgYmxvYlR5cGUgPSBib2R5LT50eXBlKCk7CiAgICAgICAgICAgICBpZiAoIWJsb2JU
eXBlLmlzRW1wdHkoKSAmJiBpc1ZhbGlkQ29udGVudFR5cGUoYmxvYlR5cGUpKQogICAgICAgICAg
ICAgICAgIHNldFJlcXVlc3RIZWFkZXJJbnRlcm5hbCgiQ29udGVudC1UeXBlIiwgYmxvYlR5cGUp
OwpAQCAtNjc2LDExICs2NzQsOCBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpzZW5kKERPTUZvcm1E
YXRhKiBib2R5LCBFeGNlcHRpb25Db2RlJiBlYykKIAogICAgICAgICBtX3JlcXVlc3RFbnRpdHlC
b2R5LT5nZW5lcmF0ZUZpbGVzKGRvY3VtZW50KCkpOwogCi0gICAgICAgIFN0cmluZyBjb250ZW50
VHlwZSA9IGdldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIpOwotICAgICAgICBpZiAoY29u
dGVudFR5cGUuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBjb250ZW50VHlwZSA9IG1ha2VTdHJp
bmcoIm11bHRpcGFydC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSIsIG1fcmVxdWVzdEVudGl0eUJvZHkt
PmJvdW5kYXJ5KCkuZGF0YSgpKTsKLSAgICAgICAgICAgIHNldFJlcXVlc3RIZWFkZXJJbnRlcm5h
bCgiQ29udGVudC1UeXBlIiwgY29udGVudFR5cGUpOwotICAgICAgICB9CisgICAgICAgIGlmICgh
bV9yZXF1ZXN0SGVhZGVycy5jb250YWlucyhIVFRQSGVhZGVyTmFtZTo6Q29udGVudFR5cGUpKQor
ICAgICAgICAgICAgc2V0UmVxdWVzdEhlYWRlckludGVybmFsKCJDb250ZW50LVR5cGUiLCBtYWtl
U3RyaW5nKCJtdWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT0iLCBtX3JlcXVlc3RFbnRpdHlC
b2R5LT5ib3VuZGFyeSgpLmRhdGEoKSkpOwogICAgIH0KIAogICAgIGNyZWF0ZVJlcXVlc3QoZWMp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZWU1MDY4YmRjMWEzMzYxOTJjYWE3
Zjk4YWVkYzRjNTgzZjIxMWI4My4uYjkwNzhhMTJlYjczZmNkOGU3NDZiNTAzZjEzOTU3YjQ1Yzkz
MTI3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MTUtMTEtMTkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKwor
ICAgICAgICBYSFIgc2hvdWxkIG5vdCBjb21iaW5lIGVtcHR5IGNvbnRlbnQtdHlwZSB2YWx1ZSB3
aXRoIGRlZmF1bHQgb25lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDc3ODQKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9zZXRyZXF1ZXN0aGVhZGVy
LWNvbnRlbnQtdHlwZS1leHBlY3RlZC50eHQ6CisKIDIwMTUtMTEtMTYgIFlvdWVubiBGYWJsZXQg
IDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KIAogICAgICAgICBGb2xsb3ctdXAgb2YgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTE5MApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVz
dC9zZXRyZXF1ZXN0aGVhZGVyLWNvbnRlbnQtdHlwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L3NldHJlcXVl
c3RoZWFkZXItY29udGVudC10eXBlLWV4cGVjdGVkLnR4dAppbmRleCBjM2IzYTI0MzkzNTIzZjlj
MTVjNmY3Yjc1ODk4MTcxNDhmNWY5ZjQyLi45NmI4ZjkzODkwM2VlNDRhNGEwOTkwZWJkODc4ZTMz
YjQxYmI2MGUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L3NldHJlcXVlc3RoZWFkZXItY29udGVudC10eXBlLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL1hNTEh0dHBSZXF1ZXN0L3NldHJlcXVlc3RoZWFkZXItY29udGVudC10eXBlLWV4cGVjdGVk
LnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBYTUxIdHRwUmVxdWVzdDogc2V0UmVxdWVzdEhl
YWRlcigpIC0gQ29udGVudC1UeXBlIGhlYWRlciAoKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
Y29udGVudC10eXBlOiBcbiIgYnV0IGdvdCAiY29udGVudC10eXBlOiAsIHRleHQvcGxhaW47Y2hh
cnNldD1VVEYtOFxuIgotRkFJTCBYTUxIdHRwUmVxdWVzdDogc2V0UmVxdWVzdEhlYWRlcigpIC0g
Q29udGVudC1UeXBlIGhlYWRlciAoICkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImNvbnRlbnQt
dHlwZTogXG4iIGJ1dCBnb3QgImNvbnRlbnQtdHlwZTogLCB0ZXh0L3BsYWluO2NoYXJzZXQ9VVRG
LThcbiIKK1BBU1MgWE1MSHR0cFJlcXVlc3Q6IHNldFJlcXVlc3RIZWFkZXIoKSAtIENvbnRlbnQt
VHlwZSBoZWFkZXIgKCkgCitQQVNTIFhNTEh0dHBSZXF1ZXN0OiBzZXRSZXF1ZXN0SGVhZGVyKCkg
LSBDb250ZW50LVR5cGUgaGVhZGVyICggKSAKIFBBU1MgWE1MSHR0cFJlcXVlc3Q6IHNldFJlcXVl
c3RIZWFkZXIoKSAtIENvbnRlbnQtVHlwZSBoZWFkZXIgKG51bGwpIAogUEFTUyBYTUxIdHRwUmVx
dWVzdDogc2V0UmVxdWVzdEhlYWRlcigpIC0gQ29udGVudC1UeXBlIGhlYWRlciAodW5kZWZpbmVk
KSAKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>