summaryrefslogtreecommitdiff
path: root/chromium/net/ssl/ssl_config_service_defaults.h
blob: 4bf47d05b527febb5f27a78aab083c1971417c5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Copyright 2011 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef NET_SSL_SSL_CONFIG_SERVICE_DEFAULTS_H_
#define NET_SSL_SSL_CONFIG_SERVICE_DEFAULTS_H_

#include "net/base/net_export.h"
#include "net/ssl/ssl_config_service.h"

namespace net {

// This SSLConfigService always returns the default SSLConfig settings.  It is
// mainly useful for unittests, or for platforms that do not have a native
// implementation of SSLConfigService yet.
class NET_EXPORT SSLConfigServiceDefaults : public SSLConfigService {
 public:
  SSLConfigServiceDefaults();

  SSLConfigServiceDefaults(const SSLConfigServiceDefaults&) = delete;
  SSLConfigServiceDefaults& operator=(const SSLConfigServiceDefaults&) = delete;

  ~SSLConfigServiceDefaults() override;

  // Returns the default SSL config settings.
  SSLContextConfig GetSSLContextConfig() override;

  bool CanShareConnectionWithClientCerts(
      const std::string& hostname) const override;

 private:
  // Default value of prefs.
  const SSLContextConfig default_config_;
};

}  // namespace net

#endif  // NET_SSL_SSL_CONFIG_SERVICE_DEFAULTS_H_