Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / chrome_content_browser_client_parts.h
blob046327e38fd3e8b2a064f0a75d794da0de71305f
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.
5 #ifndef CHROME_BROWSER_CHROME_CONTENT_BROWSER_CLIENT_PARTS_H_
6 #define CHROME_BROWSER_CHROME_CONTENT_BROWSER_CLIENT_PARTS_H_
8 #include <string>
9 #include <vector>
11 #include "base/memory/scoped_vector.h"
12 #include "storage/browser/fileapi/file_system_context.h"
14 namespace base {
15 class CommandLine;
16 class FilePath;
19 namespace content {
20 class BrowserContext;
21 class BrowserURLHandler;
22 class RenderProcessHost;
23 class RenderViewHost;
24 class SiteInstance;
25 struct WebPreferences;
28 namespace storage {
29 class FileSystemBackend;
32 class GURL;
33 class Profile;
35 // Implements a platform or feature specific part of ChromeContentBrowserClient.
36 // All the public methods corresponds to the methods of the same name in
37 // content::ContentBrowserClient.
38 class ChromeContentBrowserClientParts {
39 public:
40 virtual ~ChromeContentBrowserClientParts() {}
42 virtual void RenderProcessWillLaunch(content::RenderProcessHost* host) {}
43 virtual void SiteInstanceGotProcess(content::SiteInstance* site_instance) {}
44 virtual void SiteInstanceDeleting(content::SiteInstance* site_instance) {}
45 virtual void OverrideWebkitPrefs(content::RenderViewHost* rvh,
46 content::WebPreferences* web_prefs) {}
47 virtual void BrowserURLHandlerCreated(content::BrowserURLHandler* handler) {}
48 virtual void GetAdditionalAllowedSchemesForFileSystem(
49 std::vector<std::string>* additional_allowed_schemes) {}
50 virtual void GetURLRequestAutoMountHandlers(
51 std::vector<storage::URLRequestAutoMountHandler>* handlers) {}
52 virtual void GetAdditionalFileSystemBackends(
53 content::BrowserContext* browser_context,
54 const base::FilePath& storage_partition_path,
55 ScopedVector<storage::FileSystemBackend>* additional_backends) {}
57 // Append extra switches to |command_line| for |process|. If |process| is not
58 // NULL, then neither is |profile|.
59 virtual void AppendExtraRendererCommandLineSwitches(
60 base::CommandLine* command_line,
61 content::RenderProcessHost* process,
62 Profile* profile) {}
65 #endif // CHROME_BROWSER_CHROME_CONTENT_BROWSER_CLIENT_PARTS_H_