<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>23833</bug_id>
          
          <creation_ts>2013-11-15 01:59:31 +0000</creation_ts>
          <short_desc>Remove sequence IDL keyword from parameters that take CryptoOperationData</short_desc>
          <delta_ts>2014-03-03 21:10:29 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Web Cryptography</product>
          <component>Web Cryptography API Document</component>
          <version>unspecified</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows NT</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="Israel Hilerio [MSFT]">israelh</reporter>
          <assigned_to name="Mark Watson">watsonm</assigned_to>
          <cc>ap</cc>
    
    <cc>watsonm</cc>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>96350</commentid>
    <comment_count>0</comment_count>
    <who name="Israel Hilerio [MSFT]">israelh</who>
    <bug_when>2013-11-15 01:59:31 +0000</bug_when>
    <thetext>We would like to simplify the APIs by removing the sequence requirement on methods that take CryptoOperationData:

typedef (ArrayBuffer or ArrayBufferView) CryptoOperationData;

interface SubtleCrypto {
  Promise&lt;any&gt; encrypt(AlgorithmIdentifier algorithm,
                       Key key,
                       sequence&lt;CryptoOperationData&gt; data);
  Promise&lt;any&gt; decrypt(AlgorithmIdentifier algorithm,
                       Key key,
                       sequence&lt;CryptoOperationData&gt; data);
  Promise&lt;any&gt; sign(AlgorithmIdentifier algorithm,
                    Key key,
                    sequence&lt;CryptoOperationData&gt; data);
  Promise&lt;any&gt; verify(AlgorithmIdentifier algorithm,
                      Key key,
                      CryptoOperationData signature,
                      sequence&lt;CryptoOperationData&gt; data);
  Promise&lt;any&gt; digest(AlgorithmIdentifier algorithm,
                      sequence&lt;CryptoOperationData&gt; data);

Doing this will simplify the API implementation and testing.  It will also help us bound the amount of data that can be supplied by developers when using only one ArrayBuffer or ArrayBufferView.

The new methods should look something like this:

interface SubtleCrypto {
  Promise&lt;any&gt; encrypt(AlgorithmIdentifier algorithm,
                       Key key,
                       CryptoOperationData data);
  Promise&lt;any&gt; decrypt(AlgorithmIdentifier algorithm,
                       Key key,
                       CryptoOperationData data);
  Promise&lt;any&gt; sign(AlgorithmIdentifier algorithm,
                    Key key,
                    CryptoOperationData data);
  Promise&lt;any&gt; verify(AlgorithmIdentifier algorithm,
                      Key key,
                      CryptoOperationData signature,
                      CryptoOperationData data);
  Promise&lt;any&gt; digest(AlgorithmIdentifier algorithm,
                      CryptoOperationData data);

This was discussed and agreed on during the TPAC F2F.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101582</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Watson">watsonm</who>
    <bug_when>2014-02-28 01:13:40 +0000</bug_when>
    <thetext>What is the status of this ? If this was agreed at the F2F I guess it is overdue for implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101789</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Watson">watsonm</who>
    <bug_when>2014-03-03 21:10:29 +0000</bug_when>
    <thetext>General support on the mailing list.

Changeset ddfa59fb4f9f</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>