Re-subimission of https://codereview.chromium.org/1041213003/
[chromium-blink-merge.git] / content / child / webcrypto / crypto_data.cc
blobc80503c8bcfcb37097c4df9e0b48dc1e791c7d4e
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/child/webcrypto/crypto_data.h"
6 #include "base/stl_util.h"
8 namespace content {
10 namespace webcrypto {
12 CryptoData::CryptoData() : bytes_(NULL), byte_length_(0) {
15 CryptoData::CryptoData(const unsigned char* bytes, unsigned int byte_length)
16 : bytes_(bytes), byte_length_(byte_length) {
19 CryptoData::CryptoData(const std::vector<unsigned char>& bytes)
20 : bytes_(vector_as_array(&bytes)), byte_length_(bytes.size()) {
23 CryptoData::CryptoData(const std::string& bytes)
24 : bytes_(bytes.size() ? reinterpret_cast<const unsigned char*>(bytes.data())
25 : NULL),
26 byte_length_(bytes.size()) {
29 CryptoData::CryptoData(const blink::WebVector<unsigned char>& bytes)
30 : bytes_(bytes.data()), byte_length_(bytes.size()) {
33 } // namespace webcrypto
35 } // namespace content