summaryrefslogtreecommitdiffstats
path: root/headless/lib/browser/headless_content_browser_client.h
diff options
context:
space:
mode:
Diffstat (limited to 'headless/lib/browser/headless_content_browser_client.h')
-rw-r--r--headless/lib/browser/headless_content_browser_client.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/headless/lib/browser/headless_content_browser_client.h b/headless/lib/browser/headless_content_browser_client.h
new file mode 100644
index 0000000..cf124e1
--- /dev/null
+++ b/headless/lib/browser/headless_content_browser_client.h
@@ -0,0 +1,39 @@
+// Copyright 2015 The Chromium 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 HEADLESS_LIB_BROWSER_HEADLESS_CONTENT_BROWSER_CLIENT_H_
+#define HEADLESS_LIB_BROWSER_HEADLESS_CONTENT_BROWSER_CLIENT_H_
+
+#include "content/public/browser/content_browser_client.h"
+
+namespace headless {
+
+class HeadlessBrowserImpl;
+class HeadlessBrowserMainParts;
+class HeadlessBrowserContext;
+
+class HeadlessContentBrowserClient : public content::ContentBrowserClient {
+ public:
+ explicit HeadlessContentBrowserClient(HeadlessBrowserImpl* browser);
+ ~HeadlessContentBrowserClient() override;
+
+ // content::ContentBrowserClient implementation:
+ content::BrowserMainParts* CreateBrowserMainParts(
+ const content::MainFunctionParams&) override;
+ net::URLRequestContextGetter* CreateRequestContext(
+ content::BrowserContext* browser_context,
+ content::ProtocolHandlerMap* protocol_handlers,
+ content::URLRequestInterceptorScopedVector request_interceptors) override;
+
+ HeadlessBrowserContext* browser_context() const;
+
+ private:
+ HeadlessBrowserImpl* browser_; // Not owned.
+
+ DISALLOW_COPY_AND_ASSIGN(HeadlessContentBrowserClient);
+};
+
+} // namespace headless
+
+#endif // HEADLESS_LIB_BROWSER_HEADLESS_CONTENT_BROWSER_CLIENT_H_