1 // Copyright 2013 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.
5 #ifndef APPS_SHELL_BROWSER_SHELL_CONTENT_BROWSER_CLIENT_H_
6 #define APPS_SHELL_BROWSER_SHELL_CONTENT_BROWSER_CLIENT_H_
8 #include "base/compiler_specific.h"
9 #include "content/public/browser/content_browser_client.h"
13 namespace extensions
{
18 class ShellBrowserMainParts
;
20 // Content module browser process support for app_shell.
21 class ShellContentBrowserClient
: public content::ContentBrowserClient
{
23 ShellContentBrowserClient();
24 virtual ~ShellContentBrowserClient();
26 // content::ContentBrowserClient overrides.
27 virtual content::BrowserMainParts
* CreateBrowserMainParts(
28 const content::MainFunctionParams
& parameters
) OVERRIDE
;
29 virtual void RenderProcessWillLaunch(
30 content::RenderProcessHost
* host
) OVERRIDE
;
31 virtual net::URLRequestContextGetter
* CreateRequestContext(
32 content::BrowserContext
* browser_context
,
33 content::ProtocolHandlerMap
* protocol_handlers
) OVERRIDE
;
34 // TODO(jamescook): Quota management?
35 // TODO(jamescook): Speech recognition?
36 virtual bool IsHandledURL(const GURL
& url
) OVERRIDE
;
37 virtual void SiteInstanceGotProcess(content::SiteInstance
* site_instance
)
39 virtual void SiteInstanceDeleting(content::SiteInstance
* site_instance
)
41 virtual void AppendExtraCommandLineSwitches(CommandLine
* command_line
,
42 int child_process_id
) OVERRIDE
;
45 // Returns the extension or app associated with |site_instance| or NULL.
46 const extensions::Extension
* GetExtension(
47 content::SiteInstance
* site_instance
);
49 // Owned by content::BrowserMainLoop.
50 ShellBrowserMainParts
* browser_main_parts_
;
52 DISALLOW_COPY_AND_ASSIGN(ShellContentBrowserClient
);
57 #endif // APPS_SHELL_BROWSER_SHELL_CONTENT_BROWSER_CLIENT_H_