blob: cd07060af0754599c54388e3b26ac2ad697bd55c [file] [log] [blame]
// 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);
// 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);
DISALLOW_COPY_AND_ASSIGN(CefSSLStatusImpl);
};
#endif // CEF_LIBCEF_BROWSER_SSL_STATUS_IMPL_H_