1 // Copyright 2013 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_NACL_HOST_NACL_BROWSER_DELEGATE_IMPL_H_
6 #define CHROME_BROWSER_NACL_HOST_NACL_BROWSER_DELEGATE_IMPL_H_
11 #include "base/compiler_specific.h"
12 #include "components/nacl/browser/nacl_browser_delegate.h"
14 #if defined(ENABLE_EXTENSIONS)
15 #include "extensions/common/url_pattern.h"
17 namespace extensions
{
24 class NaClBrowserDelegateImpl
: public NaClBrowserDelegate
{
26 explicit NaClBrowserDelegateImpl(ProfileManager
* profile_manager
);
27 ~NaClBrowserDelegateImpl() override
;
29 void ShowMissingArchInfobar(int render_process_id
,
30 int render_view_id
) override
;
31 bool DialogsAreSuppressed() override
;
32 bool GetCacheDirectory(base::FilePath
* cache_dir
) override
;
33 bool GetPluginDirectory(base::FilePath
* plugin_dir
) override
;
34 bool GetPnaclDirectory(base::FilePath
* pnacl_dir
) override
;
35 bool GetUserDirectory(base::FilePath
* user_dir
) override
;
36 std::string
GetVersionString() const override
;
37 ppapi::host::HostFactory
* CreatePpapiHostFactory(
38 content::BrowserPpapiHost
* ppapi_host
) override
;
39 bool MapUrlToLocalFilePath(const GURL
& url
,
41 const base::FilePath
& profile_directory
,
42 base::FilePath
* file_path
) override
;
43 void SetDebugPatterns(const std::string
& debug_patterns
) override
;
44 bool URLMatchesDebugPatterns(const GURL
& manifest_url
) override
;
45 content::BrowserPpapiHost::OnKeepaliveCallback
GetOnKeepaliveCallback()
47 bool IsNonSfiModeAllowed(const base::FilePath
& profile_directory
,
48 const GURL
& manifest_url
) override
;
51 #if defined(ENABLE_EXTENSIONS)
52 scoped_refptr
<extensions::InfoMap
> GetExtensionInfoMap(
53 const base::FilePath
& profile_directory
);
54 std::vector
<URLPattern
> debug_patterns_
;
57 ProfileManager
* profile_manager_
;
58 bool inverse_debug_patterns_
;
59 std::set
<std::string
> allowed_nonsfi_origins_
;
60 DISALLOW_COPY_AND_ASSIGN(NaClBrowserDelegateImpl
);
64 #endif // CHROME_BROWSER_NACL_HOST_NACL_BROWSER_DELEGATE_IMPL_H_