Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / net / cert / cert_database_android.cc
1 // Copyright (c) 2012 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 "net/cert/cert_database.h"
6
7 #include "base/logging.h"
8 #include "base/observer_list_threadsafe.h"
9 #include "net/base/net_errors.h"
10
11 namespace net {
12
13 CertDatabase::CertDatabase()
14     : observer_list_(new ObserverListThreadSafe<Observer>) {
15 }
16
17 CertDatabase::~CertDatabase() {}
18
19 int CertDatabase::CheckUserCert(X509Certificate* cert) {
20   // NOTE: This method shall never be called on Android.
21   //
22   // On other platforms, it is only used by the SSLAddCertHandler class
23   // to handle veritication and installation of downloaded certificates.
24   //
25   // On Android, the certificate data is passed directly to the system's
26   // CertInstaller activity, which handles verification, naming,
27   // installation and UI (for success/failure).
28   NOTIMPLEMENTED();
29   return ERR_NOT_IMPLEMENTED;
30 }
31
32 int CertDatabase::AddUserCert(X509Certificate* cert) {
33   // This method is only used by the content SSLAddCertHandler which is
34   // never used on Android.
35   NOTIMPLEMENTED();
36   return ERR_NOT_IMPLEMENTED;
37 }
38
39 void CertDatabase::OnAndroidKeyStoreChanged() {
40   NotifyObserversOfCertAdded(NULL);
41 }
42
43 void CertDatabase::OnAndroidKeyChainChanged() {
44   observer_list_->Notify(&Observer::OnCACertChanged,
45                          scoped_refptr<X509Certificate>());
46 }
47
48 }  // namespace net