shell_nacl_browser_delegate.h revision 03b57e008b61dfcb1fbad3aea950ae0e001748b0
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
12namespace content {
13class BrowserContext;
14}
15
16namespace extensions {
17class InfoMap;
18
19// A lightweight NaClBrowserDelegate for app_shell. Only supports a single
20// BrowserContext.
21class 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  virtual ~ShellNaClBrowserDelegate();
26
27  // NaClBrowserDelegate overrides:
28  virtual void ShowMissingArchInfobar(int render_process_id,
29                                      int render_view_id) OVERRIDE;
30  virtual bool DialogsAreSuppressed() OVERRIDE;
31  virtual bool GetCacheDirectory(base::FilePath* cache_dir) OVERRIDE;
32  virtual bool GetPluginDirectory(base::FilePath* plugin_dir) OVERRIDE;
33  virtual bool GetPnaclDirectory(base::FilePath* pnacl_dir) OVERRIDE;
34  virtual bool GetUserDirectory(base::FilePath* user_dir) OVERRIDE;
35  virtual std::string GetVersionString() const OVERRIDE;
36  virtual ppapi::host::HostFactory* CreatePpapiHostFactory(
37      content::BrowserPpapiHost* ppapi_host) OVERRIDE;
38  virtual bool MapUrlToLocalFilePath(const GURL& url,
39                                     bool is_blocking,
40                                     const base::FilePath& profile_directory,
41                                     base::FilePath* file_path) OVERRIDE;
42  virtual void SetDebugPatterns(std::string debug_patterns) OVERRIDE;
43  virtual bool URLMatchesDebugPatterns(const GURL& manifest_url) OVERRIDE;
44  virtual content::BrowserPpapiHost::OnKeepaliveCallback
45      GetOnKeepaliveCallback() OVERRIDE;
46  virtual 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_
58