1// Copyright (c) 2010 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#ifndef CHROME_BROWSER_NET_CHROME_DNS_CERT_PROVENANCE_CHECKER
6#define CHROME_BROWSER_NET_CHROME_DNS_CERT_PROVENANCE_CHECKER
7#pragma once
8
9#include "net/socket/dns_cert_provenance_checker.h"
10
11#include <string>
12#include <vector>
13
14#include "base/string_piece.h"
15
16namespace net {
17class DnsRRResolver;
18}
19
20class ChromeURLRequestContext;
21
22// Factory function which creates ChromeDnsCertProvenanceChecker objects.
23//
24// WARNING: do not use this with anything other than the main
25// ChromeURLRequestContext. Eventually we'll want to have the other contexts
26// point to the main ChromeURLRequestContext, which then causes lifetime
27// ordering issues wrt ChromeURLRequestContexts, since we're using a raw
28// pointer, and we'll get shutdown ordering problems.
29net::DnsCertProvenanceChecker* CreateChromeDnsCertProvenanceChecker(
30    net::DnsRRResolver* dnsrr_resolver,
31    ChromeURLRequestContext* url_req_context);
32
33#endif  // CHROME_BROWSER_NET_CHROME_DNS_CERT_PROVENANCE_CHECKER
34