| Index: trunk/src/content/child/webcrypto/webcrypto_util.cc
|
| ===================================================================
|
| --- trunk/src/content/child/webcrypto/webcrypto_util.cc (revision 266902)
|
| +++ trunk/src/content/child/webcrypto/webcrypto_util.cc (working copy)
|
| @@ -22,12 +22,27 @@
|
| return &data[0];
|
| }
|
|
|
| -uint8* Uint8VectorStart(std::vector<uint8>* data) {
|
| - if (data->empty())
|
| - return NULL;
|
| - return &(*data)[0];
|
| +void ShrinkBuffer(blink::WebArrayBuffer* buffer, unsigned int new_size) {
|
| + DCHECK_LE(new_size, buffer->byteLength());
|
| +
|
| + if (new_size == buffer->byteLength())
|
| + return;
|
| +
|
| + blink::WebArrayBuffer new_buffer = blink::WebArrayBuffer::create(new_size, 1);
|
| + DCHECK(!new_buffer.isNull());
|
| + memcpy(new_buffer.data(), buffer->data(), new_size);
|
| + *buffer = new_buffer;
|
| }
|
|
|
| +blink::WebArrayBuffer CreateArrayBuffer(const uint8* data,
|
| + unsigned int data_size) {
|
| + blink::WebArrayBuffer buffer = blink::WebArrayBuffer::create(data_size, 1);
|
| + DCHECK(!buffer.isNull());
|
| + if (data_size) // data_size == 0 might mean the data pointer is invalid
|
| + memcpy(buffer.data(), data, data_size);
|
| + return buffer;
|
| +}
|
| +
|
| // This function decodes unpadded 'base64url' encoded data, as described in
|
| // RFC4648 (http://www.ietf.org/rfc/rfc4648.txt) Section 5. To do this, first
|
| // change the incoming data to 'base64' encoding by applying the appropriate
|
|
|