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.
4
5#include "content/child/webcrypto/crypto_data.h"
6
7namespace content {
8
9namespace webcrypto {
10
11CryptoData::CryptoData() : bytes_(NULL), byte_length_(0) {}
12
13CryptoData::CryptoData(const unsigned char* bytes, unsigned int byte_length)
14    : bytes_(bytes), byte_length_(byte_length) {}
15
16CryptoData::CryptoData(const std::vector<unsigned char>& bytes)
17    : bytes_(bytes.size() ? &bytes[0] : NULL), byte_length_(bytes.size()) {}
18
19CryptoData::CryptoData(const std::string& bytes)
20    : bytes_(bytes.size() ? reinterpret_cast<const unsigned char*>(bytes.data())
21                          : NULL),
22      byte_length_(bytes.size()) {}
23
24CryptoData::CryptoData(const blink::WebVector<unsigned char>& bytes)
25    : bytes_(bytes.data()), byte_length_(bytes.size()) {}
26
27}  // namespace webcrypto
28
29}  // namespace content
30