<?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>24930</bug_id>
          
          <creation_ts>2009-03-30 05:39:19 -0700</creation_ts>
          <short_desc>[Gtk] ISO files content is displayed inside the webview instead of being downloaded</short_desc>
          <delta_ts>2009-04-02 09:01:51 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://debian.fastweb.it/debian-cd/3.1_r2/i386/iso-cd/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, Soup</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Cosimo Cecchi">cosimoc</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo</cc>
    
    <cc>jmalonzo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>115790</commentid>
    <comment_count>0</comment_count>
    <who name="Cosimo Cecchi">cosimoc</who>
    <bug_when>2009-03-30 05:39:19 -0700</bug_when>
    <thetext>- Go to http://debian.fastweb.it/debian-cd/3.1_r2/i386/iso-cd/
- Try to open one of the ISO files
- The content is displayed inside the web view, it should popup a window offering a download

Tested with Epiphany trunk + WebKit r42097, works fine with FF 3.0.8 instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>115792</commentid>
    <comment_count>1</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-03-30 05:52:20 -0700</bug_when>
    <thetext>Here&apos;s the reason:

wget -S -O /dev/null http://debian.fastweb.it/debian-cd/3.1_r2/i386/iso-cd/debi…
…an-31r2-i386-binary-1.iso
--2009-03-30 09:30:52--  http://debian.fastweb.it/debian-cd/3.1_r2/i386/iso-cd/debian-31r2-i386-binary-1.iso
Resolving debian.fastweb.it... 213.156.32.111
Connecting to debian.fastweb.it|213.156.32.111|:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 200 OK
  Date: Mon, 30 Mar 2009 12:31:06 GMT
  Server: Apache/1.3.33 (Debian GNU/Linux)
  Last-Modified: Thu, 20 Apr 2006 04:22:25 GMT
  ETag: &quot;325417a1-27c37000-44470c81&quot;
  Accept-Ranges: bytes
  Content-Length: 667119616
  Keep-Alive: timeout=15, max=100
  Connection: Keep-Alive
  Content-Type: text/plain; charset=iso-8859-1
Length: 667119616 (636M) [text/plain]
Saving to: `/dev/null&apos;

Which means we will have to start thinking about doing content sniffing when we have text/plain, or other types, as well. Notice that you can setup apache to send text/plain as a default content type =/.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>115815</commentid>
    <comment_count>2</comment_count>
    <who name="Benjamin Otte">otte</who>
    <bug_when>2009-03-30 06:30:35 -0700</bug_when>
    <thetext>Just had a discussion about how much data is required for content sniffing with g_content_type_guess(). xdgmime lists this in http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html#id2554163 in the MAX_EXTENT property. On my current Ubuntu this value is 2141. So with 4k downloaded you will get a 100% perfect content sniffing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116188</commentid>
    <comment_count>3</comment_count>
      <attachid>29167</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-01 11:30:21 -0700</bug_when>
    <thetext>Created attachment 29167
Fix crash when load is cancelled after content sniffing.

received also in gotChunkCallback, or we crash in didReceiveData when
the load is cancelled in didReceiveResponse.
---
 WebCore/ChangeLog                                  |   11 +++++++++++
 .../platform/network/soup/ResourceHandleSoup.cpp   |   10 +++++++---
 2 files changed, 18 insertions(+), 3 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116189</commentid>
    <comment_count>4</comment_count>
      <attachid>29167</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-01 11:32:03 -0700</bug_when>
    <thetext>Comment on attachment 29167
Fix crash when load is cancelled after content sniffing.

This fixes a crash I found while investigating a fix for this problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116191</commentid>
    <comment_count>5</comment_count>
      <attachid>29169</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-01 11:34:47 -0700</bug_when>
    <thetext>Created attachment 29169
Also sniff content of types declared as text/plain.

 WebCore/ChangeLog                                  |   14 ++++++++++++++
 .../platform/network/soup/ResourceHandleSoup.cpp   |    3 ++-
 2 files changed, 16 insertions(+), 1 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116192</commentid>
    <comment_count>6</comment_count>
      <attachid>29169</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-01 11:36:41 -0700</bug_when>
    <thetext>Comment on attachment 29169
Also sniff content of types declared as text/plain.

The only fix for this case is not trusting what the server sends as Content Type for the file, and sniffing. I think also sniffing when we get text/plain is correct because many servers are configured to send text/plain as a default content type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116280</commentid>
    <comment_count>7</comment_count>
      <attachid>29167</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-04-02 08:24:56 -0700</bug_when>
    <thetext>Comment on attachment 29167
Fix crash when load is cancelled after content sniffing.

&gt; +        Protect the handle when notifying the client that the response was
&gt; +	received also in gotChunkCallback, or we crash in didReceiveData
&gt; +	when the load is cancelled in didReceiveResponse.

Tabs instead of spaces here.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116281</commentid>
    <comment_count>8</comment_count>
      <attachid>29169</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-04-02 08:29:43 -0700</bug_when>
    <thetext>Comment on attachment 29169
Also sniff content of types declared as text/plain.

r=me. Please note that we should eventually move to a cross-platform implementation of content sniffing, to ensure that all platforms work the same way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116285</commentid>
    <comment_count>9</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-04-02 09:01:51 -0700</bug_when>
    <thetext>Landed as r42170 and r42171.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29167</attachid>
            <date>2009-04-01 11:30:21 -0700</date>
            <delta_ts>2009-04-02 08:24:56 -0700</delta_ts>
            <desc>Fix crash when load is cancelled after content sniffing.</desc>
            <filename>Protect-the-handle-when-notifying-the-client-that-the-response-was.patch</filename>
            <type>text/plain</type>
            <size>2153</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">YzU2YTc4MTNiNjQ2ZGJhN2ZjNmRkZDMxZjFlM2QxMTY5ZmJjNGFmYwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxY2MwMjVlLi5kYzMwNWQ2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDA5LTA0LTAxICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0
YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVrPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFByb3RlY3QgdGhlIGhhbmRsZSB3aGVuIG5vdGlmeWluZyB0
aGUgY2xpZW50IHRoYXQgdGhlIHJlc3BvbnNlIHdhcworCXJlY2VpdmVkIGFsc28gaW4gZ290Q2h1
bmtDYWxsYmFjaywgb3Igd2UgY3Jhc2ggaW4gZGlkUmVjZWl2ZURhdGEKKwl3aGVuIHRoZSBsb2Fk
IGlzIGNhbmNlbGxlZCBpbiBkaWRSZWNlaXZlUmVzcG9uc2UuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmdvdENodW5rQ2FsbGJhY2spOgorCiAyMDA5LTAzLTMxICBEYXJpbiBBZGxlciAgPGRhcmluQGFw
cGxlLmNvbT4KIAogICAgICAgICBSb2xsZWQgb3V0IHRoYXQgbGFzdCBjaGFuZ2UgdW50aWwgSSBj
YW4gaW52ZXN0aWdhdGUgdGhlIHJlZ3Jlc3Npb24gdGVzdCBmYWlsdXJlcyBpdCBzZWVtcwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3Vw
LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5j
cHAKaW5kZXggN2ZjZWVhMC4uYWZlYzU0MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC0yODYsNyArMjg2LDcgQEAg
c3RhdGljIHZvaWQgZ290Q2h1bmtDYWxsYmFjayhTb3VwTWVzc2FnZSogbXNnLCBTb3VwQnVmZmVy
KiBjaHVuaywgZ3BvaW50ZXIgZGF0YSkKICAgICAgICAgfHwgKG1zZy0+c3RhdHVzX2NvZGUgPT0g
U09VUF9TVEFUVVNfVU5BVVRIT1JJWkVEKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUmVzb3Vy
Y2VIYW5kbGUqIGhhbmRsZSA9IHN0YXRpY19jYXN0PFJlc291cmNlSGFuZGxlKj4oZGF0YSk7Cisg
ICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUhh
bmRsZSo+KGRhdGEpOwogICAgIGlmICghaGFuZGxlKQogICAgICAgICByZXR1cm47CiAgICAgUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbCogZCA9IGhhbmRsZS0+Z2V0SW50ZXJuYWwoKTsKQEAgLTMwMywx
MSArMzAzLDE1IEBAIHN0YXRpYyB2b2lkIGdvdENodW5rQ2FsbGJhY2soU291cE1lc3NhZ2UqIG1z
ZywgU291cEJ1ZmZlciogY2h1bmssIGdwb2ludGVyIGRhdGEpCiAgICAgICAgIGdfZnJlZShjb250
ZW50VHlwZSk7CiAKICAgICAgICAgZmlsbFJlc3BvbnNlRnJvbU1lc3NhZ2UobXNnLCAmZC0+bV9y
ZXNwb25zZSk7Ci0gICAgICAgIGNsaWVudC0+ZGlkUmVjZWl2ZVJlc3BvbnNlKGhhbmRsZSwgZC0+
bV9yZXNwb25zZSk7CisgICAgICAgIGNsaWVudC0+ZGlkUmVjZWl2ZVJlc3BvbnNlKGhhbmRsZS5n
ZXQoKSwgZC0+bV9yZXNwb25zZSk7CiAgICAgICAgIGQtPm1fcmVwb3J0ZWRIZWFkZXJzID0gdHJ1
ZTsKKworICAgICAgICAvLyB0aGUgZGlkUmVjZWl2ZVJlc3BvbnNlIGNhbGwgYWJvdmUgbWF5IGhh
dmUgY2FuY2VsbGVkIHRoZSByZXF1ZXN0CisgICAgICAgIGlmIChkLT5tX2NhbmNlbGxlZCkKKyAg
ICAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBjbGllbnQtPmRpZFJlY2VpdmVEYXRhKGhh
bmRsZSwgY2h1bmstPmRhdGEsIGNodW5rLT5sZW5ndGgsIGZhbHNlKTsKKyAgICBjbGllbnQtPmRp
ZFJlY2VpdmVEYXRhKGhhbmRsZS5nZXQoKSwgY2h1bmstPmRhdGEsIGNodW5rLT5sZW5ndGgsIGZh
bHNlKTsKIH0KIAogLy8gQ2FsbGVkIGF0IHRoZSBlbmQgb2YgdGhlIG1lc3NhZ2UsIHdpdGggYWxs
IHRoZSBuZWNlc3NhcnkgYWJvdXQgdGhlIGxhc3QgaW5mb3JtYXRpb25zLgo=
</data>
<flag name="review"
          id="14458"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29169</attachid>
            <date>2009-04-01 11:34:47 -0700</date>
            <delta_ts>2009-04-02 08:29:43 -0700</delta_ts>
            <desc>Also sniff content of types declared as text/plain.</desc>
            <filename>Also-sniff-content-of-types-declared-as-text-plain..patch</filename>
            <type>text/plain</type>
            <size>1950</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">ZWExOTQxOTk4NjU2NWQ2ZWM0NjhkYWM1MDBlNGVmNzlhMjVhOTg0YgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1MjYzYTM4Li42YmQ5MjIw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMiw2ICsyLDIwIEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0OTMwCisg
ICAgICAgIFtHdGtdIElTTyBmaWxlcyBjb250ZW50IGlzIGRpc3BsYXllZCBpbnNpZGUgdGhlIHdl
YnZpZXcgaW5zdGVhZCBvZiBiZWluZyBkb3dubG9hZGVkCisKKyAgICAgICAgQWxzbyBzbmlmZiBj
b250ZW50IG9mIHR5cGVzIGRlY2xhcmVkIGFzIHRleHQvcGxhaW4uIFRoaXMgaXMKKyAgICAgICAg
anVzdGlmaWVkIGJ5IHRoZSBmYWN0IHRoYXQgaXQgaXMgY29tbW9uIHRvIGhhdmUgQXBhY2hlIEhU
VFAKKyAgICAgICAgc2VydmVycyBjb25maWd1cmVkIHRvIHNlbmQgdGV4dC9wbGFpbiBhcyBDb250
ZW50LVR5cGUgYnkgZGVmYXVsdC4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9S
ZXNvdXJjZUhhbmRsZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z290SGVhZGVyc0NhbGxi
YWNrKToKKworMjAwOS0wNC0wMSAgR3VzdGF2byBOb3JvbmhhIFNpbHZhICA8Z3VzdGF2by5ub3Jv
bmhhQGNvbGxhYm9yYS5jby51az4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKwogICAgICAgICBQcm90ZWN0IHRoZSBoYW5kbGUgd2hlbiBub3RpZnlpbmcgdGhlIGNsaWVu
dCB0aGF0IHRoZSByZXNwb25zZSB3YXMKICAgICAgICAgcmVjZWl2ZWQgYWxzbyBpbiBnb3RDaHVu
a0NhbGxiYWNrLCBvciB3ZSBjcmFzaCBpbiBkaWRSZWNlaXZlRGF0YQogICAgICAgICB3aGVuIHRo
ZSBsb2FkIGlzIGNhbmNlbGxlZCBpbiBkaWRSZWNlaXZlUmVzcG9uc2UuCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAppbmRleCBh
ZmVjNTQxLi41NjM4N2VlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKQEAgLTI2MCw4ICsyNjAsOSBAQCBzdGF0aWMgdm9p
ZCBnb3RIZWFkZXJzQ2FsbGJhY2soU291cE1lc3NhZ2UqIG1zZywgZ3BvaW50ZXIgZGF0YSkKICAg
ICAvLyBzbmlmZmluZyB0aGUgY29udGVudHMgb2YgdGhlIGZpbGUsIGFuZCB0aGVuIHJlcG9ydCB0
aGF0IHdlIGdvdAogICAgIC8vIGhlYWRlcnM7IHdlIHdpbGwgbm90IGRvIGNvbnRlbnQgc25pZmZp
bmcgZm9yIDMwNCByZXNwb25zZXMsCiAgICAgLy8gdGhvdWdoLCBzaW5jZSB0aGV5IGRvIG5vdCBo
YXZlIGEgYm9keS4KKyAgICBjb25zdCBjaGFyKiBjb250ZW50VHlwZSA9IHNvdXBfbWVzc2FnZV9o
ZWFkZXJzX2dldF9jb250ZW50X3R5cGUobXNnLT5yZXNwb25zZV9oZWFkZXJzLCBOVUxMKTsKICAg
ICBpZiAoKG1zZy0+c3RhdHVzX2NvZGUgIT0gU09VUF9TVEFUVVNfTk9UX01PRElGSUVEKQotICAg
ICAgICAmJiAhc291cF9tZXNzYWdlX2hlYWRlcnNfZ2V0X2NvbnRlbnRfdHlwZShtc2ctPnJlc3Bv
bnNlX2hlYWRlcnMsIE5VTEwpKQorICAgICAgICAmJiAoIWNvbnRlbnRUeXBlIHx8ICFnX2FzY2lp
X3N0cmNhc2VjbXAoY29udGVudFR5cGUsICJ0ZXh0L3BsYWluIikpKQogICAgICAgICByZXR1cm47
CiAKICAgICBSZXNvdXJjZUhhbmRsZSogaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5k
bGUqPihkYXRhKTsK
</data>
<flag name="review"
          id="14460"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>