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 ~ShellNaClBrowserDelegate() override
;
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
,
40 const base::FilePath
& profile_directory
,
41 base::FilePath
* file_path
) override
;
42 void SetDebugPatterns(const std::string
& debug_patterns
) override
;
43 bool URLMatchesDebugPatterns(const GURL
& manifest_url
) override
;
44 content::BrowserPpapiHost::OnKeepaliveCallback
GetOnKeepaliveCallback()
46 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_