summaryrefslogtreecommitdiff
path: root/libcef/browser/ssl_status_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'libcef/browser/ssl_status_impl.h')
-rw-r--r--libcef/browser/ssl_status_impl.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/libcef/browser/ssl_status_impl.h b/libcef/browser/ssl_status_impl.h
new file mode 100644
index 00000000..43ef322e
--- /dev/null
+++ b/libcef/browser/ssl_status_impl.h
@@ -0,0 +1,40 @@
+// Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights
+// reserved. Use of this source code is governed by a BSD-style license that
+// can be found in the LICENSE file.
+
+#ifndef CEF_LIBCEF_BROWSER_SSL_STATUS_IMPL_H_
+#define CEF_LIBCEF_BROWSER_SSL_STATUS_IMPL_H_
+#pragma once
+
+#include "include/cef_ssl_status.h"
+
+#include "content/public/browser/ssl_status.h"
+
+// CefSSLStatus implementation
+class CefSSLStatusImpl : public CefSSLStatus {
+ public:
+ explicit CefSSLStatusImpl(const content::SSLStatus& value);
+
+ CefSSLStatusImpl(const CefSSLStatusImpl&) = delete;
+ CefSSLStatusImpl& operator=(const CefSSLStatusImpl&) = delete;
+
+ // CefSSLStatus methods.
+ bool IsSecureConnection() override;
+ cef_cert_status_t GetCertStatus() override;
+ cef_ssl_version_t GetSSLVersion() override;
+ cef_ssl_content_status_t GetContentStatus() override;
+ CefRefPtr<CefX509Certificate> GetX509Certificate() override;
+
+ private:
+ cef_cert_status_t cert_status_;
+ cef_ssl_version_t ssl_version_;
+ cef_ssl_content_status_t content_status_;
+
+ // Don't create a CefX509Certificate object until requested.
+ scoped_refptr<net::X509Certificate> certificate_;
+ CefRefPtr<CefX509Certificate> cef_certificate_;
+
+ IMPLEMENT_REFCOUNTING(CefSSLStatusImpl);
+};
+
+#endif // CEF_LIBCEF_BROWSER_SSL_STATUS_IMPL_H_