<?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>168299</bug_id>
          
          <creation_ts>2017-02-14 02:52:31 -0800</creation_ts>
          <short_desc>[SOUP] Ensure a response MIME type when Content-Type is missing and sniffing not allowed</short_desc>
          <delta_ts>2017-02-14 03:56: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>WebKit2</component>
          <version>WebKit Local 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>LayoutTestFailure, Soup</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1276663</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-02-14 02:52:31 -0800</bug_when>
    <thetext>Sniffing is not allowed but we can try to guess the MIME using the response path, or at least fallback to default MIME type instead of leaving an empty string. This will fix a couple of tests that expect application/octet-stream in this particular case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276664</commentid>
    <comment_count>1</comment_count>
      <attachid>301481</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-02-14 03:06:16 -0800</bug_when>
    <thetext>Created attachment 301481
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276669</commentid>
    <comment_count>2</comment_count>
      <attachid>301481</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2017-02-14 03:35:03 -0800</bug_when>
    <thetext>Comment on attachment 301481
Patch

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

&gt; Source/WebKit2/NetworkProcess/soup/NetworkDataTaskSoup.cpp:334
&gt; +        }

What about just adding

if (m_response.mimeType().isEmpty() &amp;&amp; m_soupMessage-&gt;status_code != SOUP_STATUS_NOT_MODIFIED)
    m_response.setMimeType(MIMETypeRegistry::getMIMETypeForPath(m_response.url().path()));

to the previous code? I prefer that option because it  clearly shows that the call to updateFromSoupMessage is unconditional.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276673</commentid>
    <comment_count>3</comment_count>
      <attachid>301481</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-02-14 03:47:09 -0800</bug_when>
    <thetext>Comment on attachment 301481
Patch

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

&gt;&gt; Source/WebKit2/NetworkProcess/soup/NetworkDataTaskSoup.cpp:334
&gt;&gt; +        }
&gt; 
&gt; What about just adding
&gt; 
&gt; if (m_response.mimeType().isEmpty() &amp;&amp; m_soupMessage-&gt;status_code != SOUP_STATUS_NOT_MODIFIED)
&gt;     m_response.setMimeType(MIMETypeRegistry::getMIMETypeForPath(m_response.url().path()));
&gt; 
&gt; to the previous code? I prefer that option because it  clearly shows that the call to updateFromSoupMessage is unconditional.

Yes, I thought about that, and I didn&apos;t do it to avoid checking 304 twice, but it&apos;s not a big deal anyway. I&apos;ll update it before landing, thanks for the review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276676</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-02-14 03:56:47 -0800</bug_when>
    <thetext>Committed r212286: &lt;http://trac.webkit.org/changeset/212286&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301481</attachid>
            <date>2017-02-14 03:06:16 -0800</date>
            <delta_ts>2017-02-14 03:35:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-response-mime-type.diff</filename>
            <type>text/plain</type>
            <size>3342</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBmMzY0ZDFmZGU1Ny4uODQ0NTAzZTJiNjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyMSBAQAogMjAxNy0wMi0xNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKKyAgICAgICAgW1NPVVBdIEVuc3VyZSBhIHJlc3BvbnNlIE1JTUUgdHlwZSB3
aGVuIENvbnRlbnQtVHlwZSBpcyBtaXNzaW5nIGFuZCBzbmlmZmluZyBub3QgYWxsb3dlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4Mjk5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU25pZmZpbmcgaXMg
bm90IGFsbG93ZWQgYnV0IHdlIGNhbiB0cnkgdG8gZ3Vlc3MgdGhlIE1JTUUgdXNpbmcgdGhlIHJl
c3BvbnNlIHBhdGgsIG9yIGF0IGxlYXN0IGZhbGxiYWNrIHRvCisgICAgICAgIGRlZmF1bHQgTUlN
RSB0eXBlIGluc3RlYWQgb2YgbGVhdmluZyBhbiBlbXB0eSBzdHJpbmcuIFRoaXMgbWF0Y2hlcyB3
aGF0IG1hYyBwb3J0IGRvZXMuCisKKyAgICAgICAgRml4ZXM6IGh0dHAvdGVzdHMvaW5zcGVjdG9y
L25ldHdvcmsvZmV0Y2gtcmVzcG9uc2UtYm9keS5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rl
c3RzL2luc3BlY3Rvci9uZXR3b3JrL3hoci1yZXNwb25zZS1ib2R5Lmh0bWwKKworICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNrU291cC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza1NvdXA6OmRpZFNlbmRSZXF1ZXN0KToKKworMjAxNy0wMi0x
NCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKICAgICAgICAg
Q29va2llTWFuYWdlciBvbmx5IHdvcmtzIHdpdGggdGhlIGRlZmF1bHQgc2Vzc2lvbgogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MjI5CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNr
U291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRh
VGFza1NvdXAuY3BwCmluZGV4IGZiZTMyNTlkNjg2Li5jY2I2NjZmMDA2NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tTb3VwLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFz
a1NvdXAuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvSFRUUFBhcnNlcnMuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVnaXN0cnkuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvU2hhcmVkQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Tb3VwTmV0d29ya1Nlc3Np
b24uaD4KQEAgLTMyMiw5ICszMjMsMTUgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tTb3VwOjpzZW5k
UmVxdWVzdENhbGxiYWNrKFNvdXBSZXF1ZXN0KiBzb3VwUmVxdWVzdCwgR0FzeW5jUmUKIHZvaWQg
TmV0d29ya0RhdGFUYXNrU291cDo6ZGlkU2VuZFJlcXVlc3QoR1JlZlB0cjxHSW5wdXRTdHJlYW0+
JiYgaW5wdXRTdHJlYW0pCiB7CiAgICAgaWYgKG1fc291cE1lc3NhZ2UpIHsKLSAgICAgICAgaWYg
KG1fc2hvdWxkQ29udGVudFNuaWZmID09IFNuaWZmQ29udGVudCAmJiBtX3NvdXBNZXNzYWdlLT5z
dGF0dXNfY29kZSAhPSBTT1VQX1NUQVRVU19OT1RfTU9ESUZJRUQpCi0gICAgICAgICAgICBtX3Jl
c3BvbnNlLnNldFNuaWZmZWRDb250ZW50VHlwZShzb3VwX3JlcXVlc3RfZ2V0X2NvbnRlbnRfdHlw
ZShtX3NvdXBSZXF1ZXN0LmdldCgpKSk7Ci0gICAgICAgIG1fcmVzcG9uc2UudXBkYXRlRnJvbVNv
dXBNZXNzYWdlKG1fc291cE1lc3NhZ2UuZ2V0KCkpOworICAgICAgICBpZiAobV9zb3VwTWVzc2Fn
ZS0+c3RhdHVzX2NvZGUgPT0gU09VUF9TVEFUVVNfTk9UX01PRElGSUVEKQorICAgICAgICAgICAg
bV9yZXNwb25zZS51cGRhdGVGcm9tU291cE1lc3NhZ2UobV9zb3VwTWVzc2FnZS5nZXQoKSk7Cisg
ICAgICAgIGVsc2UgeworICAgICAgICAgICAgaWYgKG1fc2hvdWxkQ29udGVudFNuaWZmID09IFNu
aWZmQ29udGVudCkKKyAgICAgICAgICAgICAgICBtX3Jlc3BvbnNlLnNldFNuaWZmZWRDb250ZW50
VHlwZShzb3VwX3JlcXVlc3RfZ2V0X2NvbnRlbnRfdHlwZShtX3NvdXBSZXF1ZXN0LmdldCgpKSk7
CisgICAgICAgICAgICBtX3Jlc3BvbnNlLnVwZGF0ZUZyb21Tb3VwTWVzc2FnZShtX3NvdXBNZXNz
YWdlLmdldCgpKTsKKyAgICAgICAgICAgIGlmIChtX3Jlc3BvbnNlLm1pbWVUeXBlKCkuaXNFbXB0
eSgpKQorICAgICAgICAgICAgICAgIG1fcmVzcG9uc2Uuc2V0TWltZVR5cGUoTUlNRVR5cGVSZWdp
c3RyeTo6Z2V0TUlNRVR5cGVGb3JQYXRoKG1fcmVzcG9uc2UudXJsKCkucGF0aCgpKSk7CisgICAg
ICAgIH0KIAogICAgICAgICBpZiAoc2hvdWxkU3RhcnRIVFRQUmVkaXJlY3Rpb24oKSkgewogICAg
ICAgICAgICAgbV9pbnB1dFN0cmVhbSA9IFdURk1vdmUoaW5wdXRTdHJlYW0pOwpAQCAtMzQ2LDYg
KzM1Myw4IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrU291cDo6ZGlkU2VuZFJlcXVlc3QoR1JlZlB0
cjxHSW5wdXRTdHJlYW0+JiYgaW5wdXRTdHJlYW0pCiAgICAgICAgIG1fcmVzcG9uc2Uuc2V0TWlt
ZVR5cGUoZXh0cmFjdE1JTUVUeXBlRnJvbU1lZGlhVHlwZShjb250ZW50VHlwZSkpOwogICAgICAg
ICBtX3Jlc3BvbnNlLnNldFRleHRFbmNvZGluZ05hbWUoZXh0cmFjdENoYXJzZXRGcm9tTWVkaWFU
eXBlKGNvbnRlbnRUeXBlKSk7CiAgICAgICAgIG1fcmVzcG9uc2Uuc2V0RXhwZWN0ZWRDb250ZW50
TGVuZ3RoKHNvdXBfcmVxdWVzdF9nZXRfY29udGVudF9sZW5ndGgobV9zb3VwUmVxdWVzdC5nZXQo
KSkpOworICAgICAgICBpZiAobV9yZXNwb25zZS5taW1lVHlwZSgpLmlzRW1wdHkoKSkKKyAgICAg
ICAgICAgIG1fcmVzcG9uc2Uuc2V0TWltZVR5cGUoTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5
cGVGb3JQYXRoKG1fcmVzcG9uc2UudXJsKCkucGF0aCgpKSk7CiAKICAgICAgICAgbV9pbnB1dFN0
cmVhbSA9IFdURk1vdmUoaW5wdXRTdHJlYW0pOwogICAgIH0K
</data>
<flag name="review"
          id="323289"
          type_id="1"
          status="+"
          setter="svillar"
    />
          </attachment>
      

    </bug>

</bugzilla>