<?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>125308</bug_id>
          
          <creation_ts>2013-12-05 10:42:02 -0800</creation_ts>
          <short_desc>AX: WK2: Safari extension installation hangs Safari and VoiceOver</short_desc>
          <delta_ts>2013-12-05 15:30:21 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jberlin</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>956957</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-12-05 10:42:02 -0800</bug_when>
    <thetext>1-open safari and search for safari extension (any so far)
2-once downloaded, go to finder and open the ext file.

* EXPECTED RESULTS:
extension to install with the dialog in safari asking to confirm installation of the extension.

* ACTUAL RESULTS:
safari and voice over freeze. Difficult to get out</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956958</commentid>
    <comment_count>1</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-12-05 10:42:11 -0800</bug_when>
    <thetext>&lt;rdar://problem/15594097&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956960</commentid>
    <comment_count>2</comment_count>
      <attachid>218524</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-12-05 10:43:32 -0800</bug_when>
    <thetext>Created attachment 218524
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956965</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-12-05 11:02:41 -0800</bug_when>
    <thetext>This is super scary. With this patch, dispatchDecidePolicyForResponse will have entirely different behavior when accessibility is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956966</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-12-05 11:04:38 -0800</bug_when>
    <thetext>If you can prove that it is safe to spin run loop here, I suggest making it unconditionally.

Otherwise, we might need a deeper change to ho extensions are installed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956974</commentid>
    <comment_count>5</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-12-05 11:23:24 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; If you can prove that it is safe to spin run loop here, I suggest making it unconditionally.
&gt; 
&gt; Otherwise, we might need a deeper change to ho extensions are installed.

This seems not that much different from javascript alerts where we do

    unsigned syncSendFlags = (WebCore::AXObjectCache::accessibilityEnabled()) ? CoreIPC::SpinRunLoopWhileWaitingForReply : 0;

    WebProcess::shared().parentProcessConnection()-&gt;sendSync(Messages::WebPageProxy::RunJavaScriptAlert(webFrame-&gt;frameID(), alertText), Messages::WebPageProxy::RunJavaScriptAlert::Reply(), m_page-&gt;pageID(), CoreIPC::Connection::NoTimeout, syncSendFlags);

That code has been in for 2 years, and we do have one case where it has proven to be unsafe (https://bugs.webkit.org/show_bug.cgi?id=123828) which I am very close to having a fix for.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956977</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-12-05 11:28:13 -0800</bug_when>
    <thetext>Should we make it unconditional in that case?

Anders and Brady are really the ones who should make the call on whether it&apos;s acceptable design to spin the run loop here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956979</commentid>
    <comment_count>7</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-12-05 11:30:45 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Should we make it unconditional in that case?
&gt; 

Not sure. I think Anders and Darin helped me resolve the javascript case in the past, so (echoing you) they&apos;ll probably be able to speak to that more.

Thanks

&gt; Anders and Brady are really the ones who should make the call on whether it&apos;s acceptable design to spin the run loop here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957060</commentid>
    <comment_count>8</comment_count>
      <attachid>218524</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-05 15:00:02 -0800</bug_when>
    <thetext>Comment on attachment 218524
patch

I think this looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957072</commentid>
    <comment_count>9</comment_count>
      <attachid>218524</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-05 15:30:18 -0800</bug_when>
    <thetext>Comment on attachment 218524
patch

Clearing flags on attachment: 218524

Committed r160197: &lt;http://trac.webkit.org/changeset/160197&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957073</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-05 15:30:21 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218524</attachid>
            <date>2013-12-05 10:43:32 -0800</date>
            <delta_ts>2013-12-05 15:30:18 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>4095</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MDE4MCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEzLTEyLTA1ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFNlZWQ6IHNhZmFy
aSBleHRlbnNpb24gaW5zdGFsbGF0aW9uIGNyYXNoZXMgc2FmYXJpIHVuZGVyIHZvaWNlIG92ZXIg
YW5kIGZyZWV6ZXMgdm9pY2Ugb3ZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTI1MzA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTXVjaCBsaWtlIEphdmFzY3JpcHQgYWxlcnRzLCB3ZSBuZWVkIHRvIGFs
bG93IGFjY2Vzc2liaWxpdHkgY2xpZW50cyB0byBjb250aW51ZSB0byBpbnRlcmFjdCB3aXRoIHRo
ZSBXZWJQcm9jZXNzIHRocmVhZAorICAgICAgICB3aGVuIHVzaW5nIGRpc3BhdGNoRGVjaWRlUG9s
aWN5UmVzcG9uc2VzLgorCisgICAgICAgICogUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlU2VuZGVy
Lmg6CisgICAgICAgIChDb3JlSVBDOjpNZXNzYWdlU2VuZGVyOjpzZW5kU3luYyk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERlY2lkZVBvbGlj
eUZvclJlc3BvbnNlKToKKwogMjAxMy0xMi0wNSAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGln
YWxpYS5jb20+CiAKICAgICAgICAgW0dUS11bV0syXSBDbGVhbiB1cCBXb3JrUXVldWVHdGsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZVNlbmRlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZVNlbmRlci5o
CShyZXZpc2lvbiAxNjAwMTEpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL01l
c3NhZ2VTZW5kZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTEsMTkgKzUxLDE5IEBACiAgICAgfQog
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICBib29sIHNlbmRTeW5jKFQmJiBtZXNzYWdl
LCB0eXBlbmFtZSBUOjpSZXBseSYmIHJlcGx5LCBkb3VibGUgdGltZW91dCA9IENvbm5lY3Rpb246
Ok5vVGltZW91dCkKKyAgICBib29sIHNlbmRTeW5jKFQmJiBtZXNzYWdlLCB0eXBlbmFtZSBUOjpS
ZXBseSYmIHJlcGx5LCBkb3VibGUgdGltZW91dCA9IENvbm5lY3Rpb246Ok5vVGltZW91dCwgdW5z
aWduZWQgc3luY1NlbmRGbGFncyA9IDApCiAgICAgewogICAgICAgICBzdGF0aWNfYXNzZXJ0KFQ6
OmlzU3luYywgIk1lc3NhZ2UgaXMgbm90IHN5bmMhIik7CiAKLSAgICAgICAgcmV0dXJuIHNlbmRT
eW5jKHN0ZDo6Zm9yd2FyZDxUPihtZXNzYWdlKSwgc3RkOjptb3ZlKHJlcGx5KSwgbWVzc2FnZVNl
bmRlckRlc3RpbmF0aW9uSUQoKSwgdGltZW91dCk7CisgICAgICAgIHJldHVybiBzZW5kU3luYyhz
dGQ6OmZvcndhcmQ8VD4obWVzc2FnZSksIHN0ZDo6bW92ZShyZXBseSksIG1lc3NhZ2VTZW5kZXJE
ZXN0aW5hdGlvbklEKCksIHRpbWVvdXQsIHN5bmNTZW5kRmxhZ3MpOwogICAgIH0KIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgYm9vbCBzZW5kU3luYyhUJiYgbWVzc2FnZSwgdHlwZW5h
bWUgVDo6UmVwbHkmJiByZXBseSwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgZG91YmxlIHRpbWVv
dXQgPSBDb25uZWN0aW9uOjpOb1RpbWVvdXQpCisgICAgYm9vbCBzZW5kU3luYyhUJiYgbWVzc2Fn
ZSwgdHlwZW5hbWUgVDo6UmVwbHkmJiByZXBseSwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgZG91
YmxlIHRpbWVvdXQgPSBDb25uZWN0aW9uOjpOb1RpbWVvdXQsIHVuc2lnbmVkIHN5bmNTZW5kRmxh
Z3MgPSAwKQogICAgIHsKICAgICAgICAgQVNTRVJUKG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkp
OwogCi0gICAgICAgIHJldHVybiBtZXNzYWdlU2VuZGVyQ29ubmVjdGlvbigpLT5zZW5kU3luYyhz
dGQ6Om1vdmUobWVzc2FnZSksIHN0ZDo6bW92ZShyZXBseSksIGRlc3RpbmF0aW9uSUQsIHRpbWVv
dXQpOworICAgICAgICByZXR1cm4gbWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKS0+c2VuZFN5bmMo
c3RkOjptb3ZlKG1lc3NhZ2UpLCBzdGQ6Om1vdmUocmVwbHkpLCBkZXN0aW5hdGlvbklELCB0aW1l
b3V0LCBzeW5jU2VuZEZsYWdzKTsKICAgICB9CiAKICAgICBib29sIHNlbmRNZXNzYWdlKHN0ZDo6
dW5pcXVlX3B0cjxNZXNzYWdlRW5jb2Rlcj4pOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAJKHJldmlzaW9uIDE2MDAxMSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01MSw2ICs1MSw3IEBACiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BUElDYXN0Lmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvSlNPYmplY3QuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0FYT2JqZWN0Q2FjaGUuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0Nocm9tZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRE9NV3JhcHBlcldv
cmxkLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgpAQCAtNjQ2LDcgKzY0
Nyw4IEBACiAgICAgdWludDY0X3QgZG93bmxvYWRJRDsKIAogICAgIC8vIE5vdGlmeSB0aGUgVUlQ
cm9jZXNzLgotICAgIGlmICghd2ViUGFnZS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2VQcm94
eTo6RGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VTeW5jKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9u
c2UsIHJlcXVlc3QsIGNhblNob3dNSU1FVHlwZSwgbGlzdGVuZXJJRCwgSW5qZWN0ZWRCdW5kbGVV
c2VyTWVzc2FnZUVuY29kZXIodXNlckRhdGEuZ2V0KCkpKSwgTWVzc2FnZXM6OldlYlBhZ2VQcm94
eTo6RGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VTeW5jOjpSZXBseShyZWNlaXZlZFBvbGljeUFjdGlv
biwgcG9saWN5QWN0aW9uLCBkb3dubG9hZElEKSkpCisgICAgdW5zaWduZWQgc3luY1NlbmRGbGFn
cyA9IChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKSA/IENv
cmVJUEM6OlNwaW5SdW5Mb29wV2hpbGVXYWl0aW5nRm9yUmVwbHkgOiAwOworICAgIGlmICghd2Vi
UGFnZS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5Rm9yUmVz
cG9uc2VTeW5jKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9uc2UsIHJlcXVlc3QsIGNhblNob3dN
SU1FVHlwZSwgbGlzdGVuZXJJRCwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIodXNl
ckRhdGEuZ2V0KCkpKSwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5Rm9yUmVz
cG9uc2VTeW5jOjpSZXBseShyZWNlaXZlZFBvbGljeUFjdGlvbiwgcG9saWN5QWN0aW9uLCBkb3du
bG9hZElEKSwgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Tm9UaW1lb3V0LCBzeW5jU2VuZEZsYWdzKSkK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gV2UgY2FsbCB0aGlzIHN5bmNocm9ub3VzbHkgYmVj
YXVzZSBDRk5ldHdvcmsgY2FuIG9ubHkgY29udmVydCBhIGxvYWRpbmcgY29ubmVjdGlvbiB0byBh
IGRvd25sb2FkIGZyb20gaXRzIGRpZFJlY2VpdmVSZXNwb25zZSBjYWxsYmFjay4K
</data>

          </attachment>
      

    </bug>

</bugzilla>