<?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>100136</bug_id>
          
          <creation_ts>2012-10-23 09:25:41 -0700</creation_ts>
          <short_desc>[GTK] fast/files/workers/worker-apply-blob-url-to-xhr.html is failing</short_desc>
          <delta_ts>2012-11-01 02:40:42 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>99178</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, LayoutTestFailure</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>748720</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-10-23 09:25:41 -0700</bug_when>
    <thetext>The test fails with the following error output:
Received error from worker: TypeError: &apos;undefined&apos; is not a function (evaluating &apos;URL.createObjectURL(file)&apos;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748799</commentid>
    <comment_count>1</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-10-23 11:01:05 -0700</bug_when>
    <thetext>The test passes when run alone but fails if the fast/files/workers/inline-worker-via-blob-url.html test preceeds it.

Describing it pretty simplified, when URL.createObjectURL gets first accessed in fast/files/workers/inline-worker-via-blob-url.html, the JSDOMURLConstructorTable has its entries set up[1] when JSDOMURLConstructor::getOwnPropertySlot is called and the &apos;createObjectURL&apos; PropertyName returns the proper hash entry.

In fast/files/workers/worker-apply-blob-url-to-xhr.html, URL.createObjectURL is accessed inside a worker context, but the PropertyName used then has a StringImpl object, returned by publicName(), that&apos;s not pointing to the key of the appropriate hash entry[2]. Because of that the property is not found and the test fails.

The test also fails when run alone if URL.createObjectURL is accessed from the document context before the worker is started and URL.createObjectURL is accessed from that context.

[1] http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/runtime/Lookup.cpp#L28
[2] http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/runtime/Lookup.h#L209</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748802</commentid>
    <comment_count>2</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-10-23 11:01:56 -0700</bug_when>
    <thetext>CC-ing JSC gurus that probably have a bit more clue about what&apos;s causing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749045</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-10-23 15:12:04 -0700</bug_when>
    <thetext>I believe URL.createObjectURL has a thread safety problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749700</commentid>
    <comment_count>4</comment_count>
      <attachid>170405</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-10-24 08:33:31 -0700</bug_when>
    <thetext>Created attachment 170405
Test case

The test illustrates what is expected and the failure shows this at the moment doesn&apos;t work. It also includes other constructors like FileReader (with the EMPTY, LOADING and DONE properties) and a few typed arrays (with their BYTES_PER_ELEMENT property).

The test runs OK in Chromium and also works OK in Firefox for the constructors that are present in the worker context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754214</commentid>
    <comment_count>5</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-10-30 04:34:55 -0700</bug_when>
    <thetext>The main issue here is that the constructor hash table is static, i.e. the same hash table is being used despite different JSGlobalData objects connected to different contexts.

All the IDL interfaces indirectly tested in the test case have the JSNoStaticTables attribute and are using DOMObjectHashTableMap to provide JSGlobalData-specific prototype and &apos;main&apos; hash tables. Should the constructor tables use DOMObjectHashTableMap as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756017</commentid>
    <comment_count>6</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-11-01 02:40:42 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 99178 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170405</attachid>
            <date>2012-10-24 08:33:31 -0700</date>
            <delta_ts>2012-10-30 03:28:51 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>p</filename>
            <type>text/plain</type>
            <size>3290</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY29udGV4dC1zcGVjaWZpYy1jb25z
dHJ1Y3RvcnMtYWNjZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY29u
dGV4dC1zcGVjaWZpYy1jb25zdHJ1Y3RvcnMtYWNjZXNzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTNlNDQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZXh0LXNwZWNpZmljLWNvbnN0cnVjdG9ycy1hY2Nlc3Mt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjcgQEAKK0FjY2Vzc2luZyB2YXJpb3VzIGNvbnN0cnVj
dG9ycyBhbmQgdGhlaXIgcHJvcGVydGllcyBmcm9tIHRoZSBkb2N1bWVudCBjb250ZXh0CitQQVNT
IFVSTCBpcyBkZWZpbmVkLgorUEFTUyBVUkwuY3JlYXRlT2JqZWN0VVJMIGlzIGRlZmluZWQuCitQ
QVNTIEZpbGVSZWFkZXIgaXMgZGVmaW5lZC4KK1BBU1MgRmlsZVJlYWRlci5FTVBUWSBpcyBkZWZp
bmVkLgorUEFTUyBGaWxlUmVhZGVyLkxPQURJTkcgaXMgZGVmaW5lZC4KK1BBU1MgRmlsZVJlYWRl
ci5ET05FIGlzIGRlZmluZWQuCitQQVNTIFVpbnQ4QXJyYXkgaXMgZGVmaW5lZC4KK1BBU1MgVWlu
dDhBcnJheS5CWVRFU19QRVJfRUxFTUVOVCBpcyBkZWZpbmVkLgorUEFTUyBGbG9hdDY0QXJyYXkg
aXMgZGVmaW5lZC4KK1BBU1MgRmxvYXQ2NEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UIGlzIGRlZmlu
ZWQuCitTdGFydGluZyB3b3JrZXI6IHJlc291cmNlcy9jb250ZXh0LXNwZWNpZmljLWNvbnN0cnVj
dG9ycy1hY2Nlc3Mtd29ya2VyLmpzCitbV29ya2VyXSBBY2Nlc3NpbmcgdmFyaW91cyBjb25zdHJ1
Y3RvcnMgYW5kIHRoZWlyIHByb3BlcnRpZXMgZnJvbSB0aGUgd29ya2VyIGNvbnRleHQKK1BBU1Mg
W1dvcmtlcl0gVVJMIGlzIGRlZmluZWQuCitQQVNTIFtXb3JrZXJdIFVSTC5jcmVhdGVPYmplY3RV
UkwgaXMgZGVmaW5lZC4KK1BBU1MgW1dvcmtlcl0gRmlsZVJlYWRlciBpcyBkZWZpbmVkLgorUEFT
UyBbV29ya2VyXSBGaWxlUmVhZGVyLkVNUFRZIGlzIGRlZmluZWQuCitQQVNTIFtXb3JrZXJdIEZp
bGVSZWFkZXIuTE9BRElORyBpcyBkZWZpbmVkLgorUEFTUyBbV29ya2VyXSBGaWxlUmVhZGVyLkRP
TkUgaXMgZGVmaW5lZC4KK1BBU1MgW1dvcmtlcl0gVWludDhBcnJheSBpcyBkZWZpbmVkLgorUEFT
UyBbV29ya2VyXSBVaW50OEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UIGlzIGRlZmluZWQuCitQQVNT
IFtXb3JrZXJdIEZsb2F0NjRBcnJheSBpcyBkZWZpbmVkLgorUEFTUyBbV29ya2VyXSBGbG9hdDY0
QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgaXMgZGVmaW5lZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NvbnRleHQtc3BlY2lmaWMtY29uc3RydWN0b3JzLWFjY2Vzcy5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZXh0LXNwZWNpZmljLWNvbnN0cnVjdG9ycy1hY2Nlc3Mu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWExNGNhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZXh0LXNwZWNpZmljLWNvbnN0
cnVjdG9ycy1hY2Nlc3MuaHRtbApAQCAtMCwwICsxLDIzIEBACis8aHRtbD4KKzxib2R5PjwvYm9k
eT4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KK2RlYnVnKCJBY2Nlc3NpbmcgdmFyaW91cyBjb25zdHJ1Y3RvcnMgYW5kIHRoZWlyIHBy
b3BlcnRpZXMgZnJvbSB0aGUgZG9jdW1lbnQgY29udGV4dCIpOworc2hvdWxkQmVEZWZpbmVkKCJV
UkwiKTsKK3Nob3VsZEJlRGVmaW5lZCgiVVJMLmNyZWF0ZU9iamVjdFVSTCIpOworCitzaG91bGRC
ZURlZmluZWQoIkZpbGVSZWFkZXIiKTsKK3Nob3VsZEJlRGVmaW5lZCgiRmlsZVJlYWRlci5FTVBU
WSIpOworc2hvdWxkQmVEZWZpbmVkKCJGaWxlUmVhZGVyLkxPQURJTkciKTsKK3Nob3VsZEJlRGVm
aW5lZCgiRmlsZVJlYWRlci5ET05FIik7CisKK3Nob3VsZEJlRGVmaW5lZCgiVWludDhBcnJheSIp
Oworc2hvdWxkQmVEZWZpbmVkKCJVaW50OEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UIik7CisKK3No
b3VsZEJlRGVmaW5lZCgiRmxvYXQ2NEFycmF5Iik7CitzaG91bGRCZURlZmluZWQoIkZsb2F0NjRB
cnJheS5CWVRFU19QRVJfRUxFTUVOVCIpOworCitzdGFydFdvcmtlcigicmVzb3VyY2VzL2NvbnRl
eHQtc3BlY2lmaWMtY29uc3RydWN0b3JzLWFjY2Vzcy13b3JrZXIuanMiKTsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvY29udGV4dC1z
cGVjaWZpYy1jb25zdHJ1Y3RvcnMtYWNjZXNzLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VzL2NvbnRleHQtc3BlY2lmaWMtY29uc3RydWN0b3JzLWFjY2Vzcy13b3Jr
ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI3ZjQ4NgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL2NvbnRleHQtc3Bl
Y2lmaWMtY29uc3RydWN0b3JzLWFjY2Vzcy13b3JrZXIuanMKQEAgLTAsMCArMSwxOSBAQAoraWYg
KHRoaXMuaW1wb3J0U2NyaXB0cykKKyAgICBpbXBvcnRTY3JpcHRzKCJqcy10ZXN0LXByZS5qcyIp
OworCitkZWJ1ZygiQWNjZXNzaW5nIHZhcmlvdXMgY29uc3RydWN0b3JzIGFuZCB0aGVpciBwcm9w
ZXJ0aWVzIGZyb20gdGhlIHdvcmtlciBjb250ZXh0Iik7CitzaG91bGRCZURlZmluZWQoIlVSTCIp
Oworc2hvdWxkQmVEZWZpbmVkKCJVUkwuY3JlYXRlT2JqZWN0VVJMIik7CisKK3Nob3VsZEJlRGVm
aW5lZCgiRmlsZVJlYWRlciIpOworc2hvdWxkQmVEZWZpbmVkKCJGaWxlUmVhZGVyLkVNUFRZIik7
CitzaG91bGRCZURlZmluZWQoIkZpbGVSZWFkZXIuTE9BRElORyIpOworc2hvdWxkQmVEZWZpbmVk
KCJGaWxlUmVhZGVyLkRPTkUiKTsKKworc2hvdWxkQmVEZWZpbmVkKCJVaW50OEFycmF5Iik7Citz
aG91bGRCZURlZmluZWQoIlVpbnQ4QXJyYXkuQllURVNfUEVSX0VMRU1FTlQiKTsKKworc2hvdWxk
QmVEZWZpbmVkKCJGbG9hdDY0QXJyYXkiKTsKK3Nob3VsZEJlRGVmaW5lZCgiRmxvYXQ2NEFycmF5
LkJZVEVTX1BFUl9FTEVNRU5UIik7CisKK2ZpbmlzaEpTVGVzdCgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>