<?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>86348</bug_id>
          
          <creation_ts>2012-05-14 03:22:39 -0700</creation_ts>
          <short_desc>Speech JavaScript API: pass WebSecurityOrigin to embedder</short_desc>
          <delta_ts>2012-05-16 03:24:13 -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>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hans Wennborg">hans</reporter>
          <assigned_to name="Hans Wennborg">hans</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>primiano</cc>
    
    <cc>satish</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>622784</commentid>
    <comment_count>0</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2012-05-14 03:22:39 -0700</bug_when>
    <thetext>Speech JavaScript API: pass WebSecurityOrigin to embedder</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622787</commentid>
    <comment_count>1</comment_count>
      <attachid>141680</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2012-05-14 03:29:15 -0700</bug_when>
    <thetext>Created attachment 141680
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622788</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-14 03:32:22 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623111</commentid>
    <comment_count>3</comment_count>
      <attachid>141680</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-14 11:00:01 -0700</bug_when>
    <thetext>Comment on attachment 141680
Patch

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

&gt; Source/WebKit/chromium/ChangeLog:10
&gt; +        Pass the WebSecurityOrigin of the SpeecReco object to the embedder when calling
&gt; +        start(). The origin will be used to determine whether speech recognition is
&gt; +        allowed or not.

Why not just ask the embedder whether speech recognition is allowed using http://trac.webkit.org/browser/trunk/Source/WebKit/chromium/public/WebPermissionClient.h ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623876</commentid>
    <comment_count>4</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2012-05-15 04:02:15 -0700</bug_when>
    <thetext>&gt; Why not just ask the embedder whether speech recognition is allowed using http://trac.webkit.org/browser/trunk/Source/WebKit/chromium/public/WebPermissionClient.h ?

Can WebPermissionClient be used in an asynchronous way? I was looking at how Geolocation does this, and we&apos;d like to do something similar.

The idea is that the page would request start() of speech recognition. The embedder would then asynchronously ask for the user&apos;s permission. If it&apos;s denied, we fire an error event, otherwise we start recognizing.

Looking at WebPermissionClient, it seems more suited to static permissions, so I&apos;m not sure it would work here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624283</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-15 11:09:10 -0700</bug_when>
    <thetext>Yeah, we&apos;ve been using WebPermissionClient when we need a synchronous answer.

@fishd: Is this patch the right approach for asynchronous permissions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624530</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-05-15 14:01:24 -0700</bug_when>
    <thetext>EXAMPLES

1. Notifications:
void WebNotificationPresenter::requestPermission(origin, callback)
WebNotificationPresenter* WebViewClient::notificationPresenter()

2. Geolocation:
void WebGeolocationClient::requestPermission(request)
WebGeolocationClient* WebViewClient::geolocationClient()

We don&apos;t seem to have a generic async mechanism.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624539</commentid>
    <comment_count>7</comment_count>
      <attachid>141680</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-15 14:09:12 -0700</bug_when>
    <thetext>Comment on attachment 141680
Patch

Ok.  Sounds like this approach is fine then.  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625216</commentid>
    <comment_count>8</comment_count>
      <attachid>141680</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-16 03:24:08 -0700</bug_when>
    <thetext>Comment on attachment 141680
Patch

Clearing flags on attachment: 141680

Committed r117251: &lt;http://trac.webkit.org/changeset/117251&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625217</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-16 03:24:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141680</attachid>
            <date>2012-05-14 03:29:15 -0700</date>
            <delta_ts>2012-05-16 03:24:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86348-20120514112914.patch</filename>
            <type>text/plain</type>
            <size>4173</size>
            <attacher name="Hans Wennborg">hans</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2OTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGY4YTUwYmM1MDMzNjlkY2IzODlmOWM4OTdmMWFiZmViM2M4MDgxYmIuLjljNDIwODNiYTQ0MWRk
M2NlOGE1OTkwM2E0NWE1Y2M0MDk5MmE1NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTItMDUtMTQgIEhhbnMgV2VubmJvcmcgIDxoYW5zQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBTcGVlY2ggSmF2YVNjcmlwdCBBUEk6IHBhc3MgV2ViU2VjdXJpdHlP
cmlnaW4gdG8gZW1iZWRkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg2MzQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUGFzcyB0aGUgV2ViU2VjdXJpdHlPcmlnaW4gb2YgdGhlIFNwZWVjUmVjbyBvYmpl
Y3QgdG8gdGhlIGVtYmVkZGVyIHdoZW4gY2FsbGluZworICAgICAgICBzdGFydCgpLiBUaGUgb3Jp
Z2luIHdpbGwgYmUgdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciBzcGVlY2ggcmVjb2duaXRpb24g
aXMKKyAgICAgICAgYWxsb3dlZCBvciBub3QuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViU3BlZWNo
UmVjb2duaXRpb25QYXJhbXMuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViU3BlZWNoUmVjb2duaXRp
b25QYXJhbXM6OldlYlNwZWVjaFJlY29nbml0aW9uUGFyYW1zKToKKyAgICAgICAgKFdlYktpdDo6
V2ViU3BlZWNoUmVjb2duaXRpb25QYXJhbXM6Om9yaWdpbik6CisgICAgICAgIChXZWJTcGVlY2hS
ZWNvZ25pdGlvblBhcmFtcyk6CisgICAgICAgICogc3JjL1NwZWVjaFJlY29nbml0aW9uQ2xpZW50
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpTcGVlY2hSZWNvZ25pdGlvbkNsaWVudFByb3h5
OjpzdGFydCk6CisKIDIwMTItMDUtMTIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RA
Z21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTY4MTIuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTcGVlY2hSZWNvZ25p
dGlvblBhcmFtcy5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU3BlZWNoUmVj
b2duaXRpb25QYXJhbXMuaAppbmRleCBiMmRjY2UwNTU0MWE5MjYxY2MwZmI5YmJhZjZjZGY3NzBi
MjAxODY5Li41NjJiZmEwYzQwOWNjMjkwYjMxODEyZmExNzZhM2JiNzUyMzU3ZGY0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTcGVlY2hSZWNvZ25pdGlvblBh
cmFtcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNwZWVjaFJlY29n
bml0aW9uUGFyYW1zLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgV2ViU3BlZWNoUmVjb2du
aXRpb25QYXJhbXNfaAogI2RlZmluZSBXZWJTcGVlY2hSZWNvZ25pdGlvblBhcmFtc19oCiAKKyNp
bmNsdWRlICJXZWJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIldlYlNwZWVjaEdyYW1tYXIu
aCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJTdHJpbmcuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9X
ZWJWZWN0b3IuaCIKQEAgLTM2LDIxICszNywyNCBAQCBjbGFzcyBXZWJTcGVlY2hHcmFtbWFyOwog
CiBjbGFzcyBXZWJTcGVlY2hSZWNvZ25pdGlvblBhcmFtcyB7CiBwdWJsaWM6Ci0gICAgV2ViU3Bl
ZWNoUmVjb2duaXRpb25QYXJhbXMoY29uc3QgV2ViVmVjdG9yPFdlYlNwZWVjaEdyYW1tYXI+JiBn
cmFtbWFycywgY29uc3QgV2ViU3RyaW5nJiBsYW5ndWFnZSwgYm9vbCBjb250aW51b3VzKQorICAg
IFdlYlNwZWVjaFJlY29nbml0aW9uUGFyYW1zKGNvbnN0IFdlYlZlY3RvcjxXZWJTcGVlY2hHcmFt
bWFyPiYgZ3JhbW1hcnMsIGNvbnN0IFdlYlN0cmluZyYgbGFuZ3VhZ2UsIGJvb2wgY29udGludW91
cywgY29uc3QgV2ViU2VjdXJpdHlPcmlnaW4mIG9yaWdpbikKICAgICAgICAgOiBtX2dyYW1tYXJz
KGdyYW1tYXJzKQogICAgICAgICAsIG1fbGFuZ3VhZ2UobGFuZ3VhZ2UpCiAgICAgICAgICwgbV9j
b250aW51b3VzKGNvbnRpbnVvdXMpCisgICAgICAgICwgbV9vcmlnaW4ob3JpZ2luKQogICAgIHsK
ICAgICB9CiAKICAgICBjb25zdCBXZWJWZWN0b3I8V2ViU3BlZWNoR3JhbW1hcj4mIGdyYW1tYXJz
KCkgY29uc3QgeyByZXR1cm4gbV9ncmFtbWFyczsgfQogICAgIGNvbnN0IFdlYlN0cmluZyYgbGFu
Z3VhZ2UoKSBjb25zdCB7IHJldHVybiBtX2xhbmd1YWdlOyB9CiAgICAgYm9vbCBjb250aW51b3Vz
KCkgY29uc3QgeyByZXR1cm4gbV9jb250aW51b3VzOyB9CisgICAgY29uc3QgV2ViU2VjdXJpdHlP
cmlnaW4mIG9yaWdpbigpIGNvbnN0IHsgcmV0dXJuIG1fb3JpZ2luOyB9CiAKIHByaXZhdGU6CiAg
ICAgV2ViVmVjdG9yPFdlYlNwZWVjaEdyYW1tYXI+IG1fZ3JhbW1hcnM7CiAgICAgV2ViU3RyaW5n
IG1fbGFuZ3VhZ2U7CiAgICAgYm9vbCBtX2NvbnRpbnVvdXM7CisgICAgV2ViU2VjdXJpdHlPcmln
aW4gbV9vcmlnaW47CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1NwZWVjaFJlY29nbml0aW9uQ2xpZW50UHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU3BlZWNoUmVjb2duaXRpb25DbGllbnRQcm94
eS5jcHAKaW5kZXggMjc1NGM0MTVhMTc1MmEwODU1YWQ0ZGU2ZDc3ZmFjMmZiOTBjY2ZjYi4uZTYz
MjljN2IwNjI1NTZlNzkwODg2MzIzYzQzMWIwZDVhMDI3MWQxZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvU3BlZWNoUmVjb2duaXRpb25DbGllbnRQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU3BlZWNoUmVjb2duaXRpb25DbGllbnRQcm94
eS5jcHAKQEAgLTI2LDExICsyNiwxNCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IlNwZWVjaFJlY29nbml0aW9uQ2xpZW50UHJveHkuaCIKIAorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNw
ZWVjaEdyYW1tYXJMaXN0LmgiCiAjaW5jbHVkZSAiU3BlZWNoUmVjb2duaXRpb24uaCIKICNpbmNs
dWRlICJTcGVlY2hSZWNvZ25pdGlvbkVycm9yLmgiCiAjaW5jbHVkZSAiU3BlZWNoUmVjb2duaXRp
b25SZXN1bHQuaCIKICNpbmNsdWRlICJTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3QuaCIKKyNp
bmNsdWRlICJXZWJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIldlYlNwZWVjaEdyYW1tYXIu
aCIKICNpbmNsdWRlICJXZWJTcGVlY2hSZWNvZ25pdGlvbkhhbmRsZS5oIgogI2luY2x1ZGUgIldl
YlNwZWVjaFJlY29nbml0aW9uUGFyYW1zLmgiCkBAIC01OCw3ICs2MSw4IEBAIHZvaWQgU3BlZWNo
UmVjb2duaXRpb25DbGllbnRQcm94eTo6c3RhcnQoU3BlZWNoUmVjb2duaXRpb24qIHJlY29nbml0
aW9uLCBjb25zdCBTCiAgICAgZm9yICh1bnNpZ25lZCBsb25nIGkgPSAwOyBpIDwgZ3JhbW1hckxp
c3QtPmxlbmd0aCgpOyArK2kpCiAgICAgICAgIHdlYlNwZWVjaEdyYW1tYXJzW2ldID0gZ3JhbW1h
ckxpc3QtPml0ZW0oaSk7CiAKLSAgICBtX3JlY29nbml6ZXItPnN0YXJ0KFdlYlNwZWVjaFJlY29n
bml0aW9uSGFuZGxlKHJlY29nbml0aW9uKSwgV2ViU3BlZWNoUmVjb2duaXRpb25QYXJhbXMod2Vi
U3BlZWNoR3JhbW1hcnMsIGxhbmcsIGNvbnRpbnVvdXMpLCB0aGlzKTsKKyAgICBXZWJTcGVlY2hS
ZWNvZ25pdGlvblBhcmFtcyBwYXJhbXMod2ViU3BlZWNoR3JhbW1hcnMsIGxhbmcsIGNvbnRpbnVv
dXMsIFdlYlNlY3VyaXR5T3JpZ2luKHJlY29nbml0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0
KCktPnNlY3VyaXR5T3JpZ2luKCkpKTsKKyAgICBtX3JlY29nbml6ZXItPnN0YXJ0KFdlYlNwZWVj
aFJlY29nbml0aW9uSGFuZGxlKHJlY29nbml0aW9uKSwgcGFyYW1zLCB0aGlzKTsKIH0KIAogdm9p
ZCBTcGVlY2hSZWNvZ25pdGlvbkNsaWVudFByb3h5OjpzdG9wKFNwZWVjaFJlY29nbml0aW9uKiBy
ZWNvZ25pdGlvbikK
</data>

          </attachment>
      

    </bug>

</bugzilla>