shell_content_browser_client.h revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
1// Copyright (c) 2012 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 ASH_SHELL_CONTENT_CLIENT_SHELL_CONTENT_BROWSER_CLIENT_H_
6#define ASH_SHELL_CONTENT_CLIENT_SHELL_CONTENT_BROWSER_CLIENT_H_
7
8#include <string>
9
10#include "base/compiler_specific.h"
11#include "content/public/browser/content_browser_client.h"
12
13namespace content {
14class ShellBrowserContext;
15class ShellBrowserMainParts;
16class ShellResourceDispatcherHostDelegate;
17}
18
19namespace ash {
20namespace shell {
21
22class ShellBrowserMainParts;
23
24class ShellContentBrowserClient : public content::ContentBrowserClient {
25 public:
26  ShellContentBrowserClient();
27  virtual ~ShellContentBrowserClient();
28
29  // Overridden from content::ContentBrowserClient:
30  virtual content::BrowserMainParts* CreateBrowserMainParts(
31      const content::MainFunctionParams& parameters) OVERRIDE;
32  virtual net::URLRequestContextGetter* CreateRequestContext(
33      content::BrowserContext* browser_context,
34      content::ProtocolHandlerMap* protocol_handlers,
35      content::ProtocolHandlerScopedVector protocol_interceptors) OVERRIDE;
36
37  content::ShellBrowserContext* browser_context();
38
39 private:
40  ShellBrowserMainParts* shell_browser_main_parts_;
41
42  DISALLOW_COPY_AND_ASSIGN(ShellContentBrowserClient);
43};
44
45}  // namespace shell
46}  // namespace ash
47
48#endif  // ASH_SHELL_CONTENT_CLIENT_SHELL_CONTENT_BROWSER_CLIENT_H_
49