| Index: net/cert/test_keychain_search_list_mac.cc
|
| diff --git a/net/cert/test_keychain_search_list_mac.cc b/net/cert/test_keychain_search_list_mac.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c2fe00107a2ee4c80b853bd3087f7db893987e8b
|
| --- /dev/null
|
| +++ b/net/cert/test_keychain_search_list_mac.cc
|
| @@ -0,0 +1,55 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "net/cert/test_keychain_search_list_mac.h"
|
| +
|
| +#include "base/memory/ptr_util.h"
|
| +
|
| +namespace net {
|
| +
|
| +namespace {
|
| +
|
| +TestKeychainSearchList* g_test_keychain_search_list = nullptr;
|
| +
|
| +} // namespace
|
| +
|
| +TestKeychainSearchList::TestKeychainSearchList() {
|
| + g_test_keychain_search_list = this;
|
| + scoped_keychain_search_list.reset(
|
| + CFArrayCreateMutable(kCFAllocatorDefault, 0, &kCFTypeArrayCallBacks));
|
| +}
|
| +
|
| +TestKeychainSearchList::~TestKeychainSearchList() {
|
| + g_test_keychain_search_list = nullptr;
|
| +}
|
| +
|
| +// static
|
| +std::unique_ptr<TestKeychainSearchList> TestKeychainSearchList::Create() {
|
| + if (g_test_keychain_search_list)
|
| + return nullptr;
|
| + return base::WrapUnique(new TestKeychainSearchList);
|
| +}
|
| +
|
| +// static
|
| +bool TestKeychainSearchList::HasInstance() {
|
| + return !!g_test_keychain_search_list;
|
| +}
|
| +
|
| +// static
|
| +TestKeychainSearchList* TestKeychainSearchList::GetInstance() {
|
| + return g_test_keychain_search_list;
|
| +}
|
| +
|
| +OSStatus TestKeychainSearchList::CopySearchList(
|
| + CFArrayRef* keychain_search_list) const {
|
| + *keychain_search_list =
|
| + CFArrayCreateCopy(kCFAllocatorDefault, scoped_keychain_search_list.get());
|
| + return *keychain_search_list ? 0 : errSecAllocate;
|
| +}
|
| +
|
| +void TestKeychainSearchList::AddKeychain(SecKeychainRef keychain) {
|
| + CFArrayAppendValue(scoped_keychain_search_list.get(), keychain);
|
| +}
|
| +
|
| +} // namespace net
|
|
|