<?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>130618</bug_id>
          
          <creation_ts>2014-03-21 14:59:12 -0700</creation_ts>
          <short_desc>[iOS] remote command callbacks must happen on the WebThread</short_desc>
          <delta_ts>2014-03-21 15:25:04 -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>Media</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>jer.noble</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>993333</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-03-21 14:59:12 -0700</bug_when>
    <thetext>Remote commands can come in on arbitrary threads, so the callback to listeners in WebCore must happen on the WebThread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993334</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-03-21 14:59:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/16395754&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993338</commentid>
    <comment_count>2</comment_count>
      <attachid>227496</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-03-21 15:07:55 -0700</bug_when>
    <thetext>Created attachment 227496
Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993343</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-03-21 15:24:56 -0700</bug_when>
    <thetext>Committed r166101: https://trac.webkit.org/r166101</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227496</attachid>
            <date>2014-03-21 15:07:55 -0700</date>
            <delta_ts>2014-03-21 15:25:04 -0700</delta_ts>
            <desc>Proposed patch.</desc>
            <filename>main_thread_dispatch_patch.txt</filename>
            <type>text/plain</type>
            <size>5428</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NjA5OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE0LTAzLTIxICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIHJlbW90ZSBj
b21tYW5kIGNhbGxiYWNrcyBtdXN0IGhhcHBlbiBvbiB0aGUgV2ViVGhyZWFkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA2MTgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy9SZW1v
dGVDb21tYW5kTGlzdGVuZXJJT1MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRM
aXN0ZW5lcklPUzo6Y3JlYXRlV2Vha1B0cik6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1JlbW90
ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRM
aXN0ZW5lcklPUzo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TKTogRGlzcGF0Y2ggY29tbWFuZHMg
dG8gdGhlCisgICAgICAgICAgICBtYWluIHRocmVhZCBiZWZvcmUgbWFraW5nIGxpc3RlbmVyIGNh
bGxiYWNrcy4KKwogMjAxNC0wMy0yMSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNv
bT4KIAogICAgICAgICBNZXJnZSBWVFRTY2FubmVyIENvZGUgZnJvbSBCbGluawpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5kTGlzdGVu
ZXJJT1MuaAkocmV2aXNpb24gMTY2MDg5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3
IEBACiAjaWYgUExBVEZPUk0oSU9TKQogCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKICNpZm5kZWYgX19PQkpDX18KIHR5cGVkZWYgdm9pZCAq
aWQ7CkBAIC00NCw2ICs0NSw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5SZW1vdGVDb21tYW5k
TGlzdGVuZXJJT1MoKTsKIAogcHJvdGVjdGVkOgorICAgIFdlYWtQdHI8UmVtb3RlQ29tbWFuZExp
c3RlbmVySU9TPiBjcmVhdGVXZWFrUHRyKCkgeyByZXR1cm4gbV93ZWFrUHRyRmFjdG9yeS5jcmVh
dGVXZWFrUHRyKCk7IH0KKyAgICAKKyAgICBXZWFrUHRyRmFjdG9yeTxSZW1vdGVDb21tYW5kTGlz
dGVuZXJJT1M+IG1fd2Vha1B0ckZhY3Rvcnk7CiAgICAgUmV0YWluUHRyPGlkPiBtX3BsYXlUYXJn
ZXQ7CiAgICAgUmV0YWluUHRyPGlkPiBtX3BhdXNlVGFyZ2V0OwogICAgIFJldGFpblB0cjxpZD4g
bV90b2dnbGVQbGF5UGF1c2VUYXJnZXQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MubW0JKHJldmlzaW9uIDE2
NjA4OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5kTGlzdGVu
ZXJJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ2LDMxICs0Niw2OCBAQCBzdGQ6OnVuaXF1ZV9w
dHI8UmVtb3RlQ29tbWFuZExpc3RlbmVyPiBSCiAKIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6
UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYgY2xp
ZW50KQogICAgIDogUmVtb3RlQ29tbWFuZExpc3RlbmVyKGNsaWVudCkKKyAgICAsIG1fd2Vha1B0
ckZhY3RvcnkodGhpcykKIHsKICAgICBNUFJlbW90ZUNvbW1hbmRDZW50ZXIgKmNlbnRlciA9IFtn
ZXRNUFJlbW90ZUNvbW1hbmRDZW50ZXJDbGFzcygpIHNoYXJlZENvbW1hbmRDZW50ZXJdOwotCisg
ICAgYXV0byB3ZWFrVGhpcyA9IGNyZWF0ZVdlYWtQdHIoKTsKKyAgICAKICAgICBtX3BhdXNlVGFy
Z2V0ID0gW1tjZW50ZXIgcGF1c2VDb21tYW5kXSBhZGRUYXJnZXRXaXRoSGFuZGxlcjpeKE1QUmVt
b3RlQ29tbWFuZEV2ZW50ICopIHsKLSAgICAgICAgbV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90ZUNv
bnRyb2xDb21tYW5kKE1lZGlhU2Vzc2lvbjo6UGF1c2VDb21tYW5kKTsKKyAgICAgICAgY2FsbE9u
TWFpblRocmVhZChbd2Vha1RoaXNdIHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChNZWRpYVNlc3Npb246OlBhdXNlQ29tbWFuZCk7Cisg
ICAgICAgIH0pOworCiAgICAgICAgIHJldHVybiBNUFJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVz
U3VjY2VzczsKICAgICB9XTsKKwogICAgIG1fcGxheVRhcmdldCA9IFtbY2VudGVyIHBsYXlDb21t
YW5kXSBhZGRUYXJnZXRXaXRoSGFuZGxlcjpeKE1QUmVtb3RlQ29tbWFuZEV2ZW50ICopIHsKLSAg
ICAgICAgbV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKE1lZGlhU2Vzc2lv
bjo6UGxheUNvbW1hbmQpOworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpc10gewor
ICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5k
KE1lZGlhU2Vzc2lvbjo6UGxheUNvbW1hbmQpOworICAgICAgICB9KTsKKwogICAgICAgICByZXR1
cm4gTVBSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c1N1Y2Nlc3M7CiAgICAgfV07CisKICAgICBt
X3RvZ2dsZVBsYXlQYXVzZVRhcmdldCA9IFtbY2VudGVyIHRvZ2dsZVBsYXlQYXVzZUNvbW1hbmRd
IGFkZFRhcmdldFdpdGhIYW5kbGVyOl4oTVBSZW1vdGVDb21tYW5kRXZlbnQgKikgewotICAgICAg
ICBtX2NsaWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoTWVkaWFTZXNzaW9uOjpU
b2dnbGVQbGF5UGF1c2VDb21tYW5kKTsKKyAgICAgICAgY2FsbE9uTWFpblRocmVhZChbd2Vha1Ro
aXNdIHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9s
Q29tbWFuZChNZWRpYVNlc3Npb246OlRvZ2dsZVBsYXlQYXVzZUNvbW1hbmQpOworICAgICAgICB9
KTsKKwogICAgICAgICByZXR1cm4gTVBSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c1N1Y2Nlc3M7
CiAgICAgfV07CisKICAgICBtX3NlZWtCYWNrd2FyZFRhcmdldCA9IFtbY2VudGVyIHNlZWtCYWNr
d2FyZENvbW1hbmRdIGFkZFRhcmdldFdpdGhIYW5kbGVyOl4oTVBSZW1vdGVDb21tYW5kRXZlbnQg
KmV2ZW50KSB7CiAgICAgICAgIEFTU0VSVChbZXZlbnQgaXNLaW5kT2ZDbGFzczpnZXRNUFNlZWtD
b21tYW5kRXZlbnRDbGFzcygpXSk7CisKICAgICAgICAgTVBTZWVrQ29tbWFuZEV2ZW50KiBzZWVr
RXZlbnQgPSBzdGF0aWNfY2FzdDxNUFNlZWtDb21tYW5kRXZlbnQgKj4oZXZlbnQpOwotICAgICAg
ICBtX2NsaWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoW3NlZWtFdmVudCB0eXBl
XSA9PSBNUFNlZWtDb21tYW5kRXZlbnRUeXBlQmVnaW5TZWVraW5nID8gTWVkaWFTZXNzaW9uOjpC
ZWdpblNlZWtpbmdCYWNrd2FyZENvbW1hbmQgOiBNZWRpYVNlc3Npb246OkVuZFNlZWtpbmdCYWNr
d2FyZENvbW1hbmQpOworICAgICAgICBNZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5k
VHlwZSBjb21tYW5kID0gW3NlZWtFdmVudCB0eXBlXSA9PSBNUFNlZWtDb21tYW5kRXZlbnRUeXBl
QmVnaW5TZWVraW5nID8gTWVkaWFTZXNzaW9uOjpCZWdpblNlZWtpbmdCYWNrd2FyZENvbW1hbmQg
OiBNZWRpYVNlc3Npb246OkVuZFNlZWtpbmdCYWNrd2FyZENvbW1hbmQ7CisKKyAgICAgICAgY2Fs
bE9uTWFpblRocmVhZChbd2Vha1RoaXMsIGNvbW1hbmRdIHsKKyAgICAgICAgICAgIGlmICghd2Vh
a1RoaXMpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgd2Vha1RoaXMtPm1f
Y2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChjb21tYW5kKTsKKyAgICAgICAg
fSk7CisKICAgICAgICAgcmV0dXJuIE1QUmVtb3RlQ29tbWFuZEhhbmRsZXJTdGF0dXNTdWNjZXNz
OwogICAgIH1dOworICAgIAogICAgIG1fc2Vla0ZvcndhcmRUYXJnZXQgPSBbW2NlbnRlciBzZWVr
Rm9yd2FyZENvbW1hbmRdIGFkZFRhcmdldFdpdGhIYW5kbGVyOl4oTVBSZW1vdGVDb21tYW5kRXZl
bnQgKmV2ZW50KSB7CiAgICAgICAgIEFTU0VSVChbZXZlbnQgaXNLaW5kT2ZDbGFzczpnZXRNUFNl
ZWtDb21tYW5kRXZlbnRDbGFzcygpXSk7CiAgICAgICAgIE1QU2Vla0NvbW1hbmRFdmVudCogc2Vl
a0V2ZW50ID0gc3RhdGljX2Nhc3Q8TVBTZWVrQ29tbWFuZEV2ZW50ICo+KGV2ZW50KTsKLSAgICAg
ICAgbV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFtzZWVrRXZlbnQgdHlw
ZV0gPT0gTVBTZWVrQ29tbWFuZEV2ZW50VHlwZUJlZ2luU2Vla2luZyA/IE1lZGlhU2Vzc2lvbjo6
QmVnaW5TZWVraW5nRm9yd2FyZENvbW1hbmQgOiBNZWRpYVNlc3Npb246OkVuZFNlZWtpbmdGb3J3
YXJkQ29tbWFuZCk7CisKKyAgICAgICAgTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFu
ZFR5cGUgY29tbWFuZCA9IFtzZWVrRXZlbnQgdHlwZV0gPT0gTVBTZWVrQ29tbWFuZEV2ZW50VHlw
ZUJlZ2luU2Vla2luZyA/IE1lZGlhU2Vzc2lvbjo6QmVnaW5TZWVraW5nRm9yd2FyZENvbW1hbmQg
OiBNZWRpYVNlc3Npb246OkVuZFNlZWtpbmdGb3J3YXJkQ29tbWFuZDsKKworICAgICAgICBjYWxs
T25NYWluVGhyZWFkKFt3ZWFrVGhpcywgY29tbWFuZF0geworICAgICAgICAgICAgaWYgKCF3ZWFr
VGhpcykKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB3ZWFrVGhpcy0+bV9j
bGllbnQuZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKGNvbW1hbmQpOworICAgICAgICB9
KTsKKwogICAgICAgICByZXR1cm4gTVBSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c1N1Y2Nlc3M7
CiAgICAgfV07CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>