1// Copyright 2014 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 EXTENSIONS_BROWSER_EXTENSION_PROTOCOLS_H_
6#define EXTENSIONS_BROWSER_EXTENSION_PROTOCOLS_H_
7
8#include <string>
9
10#include "net/url_request/url_request_job_factory.h"
11
12namespace base {
13class Time;
14}
15
16namespace net {
17class HttpResponseHeaders;
18}
19
20namespace extensions {
21
22class InfoMap;
23
24// Builds HTTP headers for an extension request. Hashes the time to avoid
25// exposing the exact user installation time of the extension.
26net::HttpResponseHeaders* BuildHttpHeaders(
27    const std::string& content_security_policy,
28    bool send_cors_header,
29    const base::Time& last_modified_time);
30
31// Creates the handlers for the chrome-extension:// scheme. Pass true for
32// |is_incognito| only for incognito profiles and not for Chrome OS guest mode
33// profiles.
34net::URLRequestJobFactory::ProtocolHandler* CreateExtensionProtocolHandler(
35    bool is_incognito,
36    InfoMap* extension_info_map);
37
38}  // namespace extensions
39
40#endif  // EXTENSIONS_BROWSER_EXTENSION_PROTOCOLS_H_
41