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 EXTENSIONS_SHELL_BROWSER_SHELL_NACL_BROWSER_DELEGATE_H_
6 #define EXTENSIONS_SHELL_BROWSER_SHELL_NACL_BROWSER_DELEGATE_H_
8 #include "base/compiler_specific.h"
9 #include "base/macros.h"
10 #include "components/nacl/browser/nacl_browser_delegate.h"
16 namespace extensions
{
19 // A lightweight NaClBrowserDelegate for app_shell. Only supports a single
21 class ShellNaClBrowserDelegate
: public NaClBrowserDelegate
{
23 // Uses |context| to look up extensions via InfoMap on the IO thread.
24 explicit ShellNaClBrowserDelegate(content::BrowserContext
* context
);
25 virtual ~ShellNaClBrowserDelegate();
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
,
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
;
50 content::BrowserContext
* browser_context_
; // Not owned.
52 DISALLOW_COPY_AND_ASSIGN(ShellNaClBrowserDelegate
);
55 } // namespace extensions
57 #endif // EXTENSIONS_SHELL_BROWSER_SHELL_NACL_BROWSER_DELEGATE_H_