Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / extensions / shell / browser / shell_nacl_browser_delegate.h
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_SHELL_BROWSER_SHELL_NACL_BROWSER_DELEGATE_H_
6 #define EXTENSIONS_SHELL_BROWSER_SHELL_NACL_BROWSER_DELEGATE_H_
7
8 #include "base/compiler_specific.h"
9 #include "base/macros.h"
10 #include "components/nacl/browser/nacl_browser_delegate.h"
11
12 namespace content {
13 class BrowserContext;
14 }
15
16 namespace extensions {
17 class InfoMap;
18
19 // A lightweight NaClBrowserDelegate for app_shell. Only supports a single
20 // BrowserContext.
21 class ShellNaClBrowserDelegate : public NaClBrowserDelegate {
22  public:
23   // Uses |context| to look up extensions via InfoMap on the IO thread.
24   explicit ShellNaClBrowserDelegate(content::BrowserContext* context);
25   ~ShellNaClBrowserDelegate() override;
26
27   // NaClBrowserDelegate overrides:
28   void ShowMissingArchInfobar(int render_process_id,
29                               int render_view_id) override;
30   bool DialogsAreSuppressed() override;
31   bool GetCacheDirectory(base::FilePath* cache_dir) override;
32   bool GetPluginDirectory(base::FilePath* plugin_dir) override;
33   bool GetPnaclDirectory(base::FilePath* pnacl_dir) override;
34   bool GetUserDirectory(base::FilePath* user_dir) override;
35   std::string GetVersionString() const override;
36   ppapi::host::HostFactory* CreatePpapiHostFactory(
37       content::BrowserPpapiHost* ppapi_host) override;
38   bool MapUrlToLocalFilePath(const GURL& url,
39                              bool is_blocking,
40                              const base::FilePath& profile_directory,
41                              base::FilePath* file_path) override;
42   void SetDebugPatterns(std::string debug_patterns) override;
43   bool URLMatchesDebugPatterns(const GURL& manifest_url) override;
44   content::BrowserPpapiHost::OnKeepaliveCallback GetOnKeepaliveCallback()
45       override;
46   bool IsNonSfiModeAllowed(const base::FilePath& profile_directory,
47                            const GURL& manifest_url) override;
48
49  private:
50   content::BrowserContext* browser_context_;  // Not owned.
51
52   DISALLOW_COPY_AND_ASSIGN(ShellNaClBrowserDelegate);
53 };
54
55 }  // namespace extensions
56
57 #endif  // EXTENSIONS_SHELL_BROWSER_SHELL_NACL_BROWSER_DELEGATE_H_