Home | History | Annotate | Download | only in nacl_host
      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.
      4 
      5 #ifndef CHROME_BROWSER_NACL_HOST_NACL_BROWSER_DELEGATE_IMPL_H_
      6 #define CHROME_BROWSER_NACL_HOST_NACL_BROWSER_DELEGATE_IMPL_H_
      7 
      8 #include <set>
      9 #include <string>
     10 
     11 #include "base/compiler_specific.h"
     12 #include "components/nacl/browser/nacl_browser_delegate.h"
     13 #include "extensions/common/url_pattern.h"
     14 
     15 namespace extensions {
     16 class InfoMap;
     17 }
     18 
     19 class ProfileManager;
     20 
     21 class NaClBrowserDelegateImpl : public NaClBrowserDelegate {
     22  public:
     23   explicit NaClBrowserDelegateImpl(ProfileManager* profile_manager);
     24   virtual ~NaClBrowserDelegateImpl();
     25 
     26   virtual void ShowMissingArchInfobar(int render_process_id,
     27                                       int render_view_id) OVERRIDE;
     28   virtual bool DialogsAreSuppressed() OVERRIDE;
     29   virtual bool GetCacheDirectory(base::FilePath* cache_dir) OVERRIDE;
     30   virtual bool GetPluginDirectory(base::FilePath* plugin_dir) OVERRIDE;
     31   virtual bool GetPnaclDirectory(base::FilePath* pnacl_dir) OVERRIDE;
     32   virtual bool GetUserDirectory(base::FilePath* user_dir) OVERRIDE;
     33   virtual std::string GetVersionString() const OVERRIDE;
     34   virtual ppapi::host::HostFactory* CreatePpapiHostFactory(
     35       content::BrowserPpapiHost* ppapi_host) OVERRIDE;
     36   virtual bool MapUrlToLocalFilePath(const GURL& url,
     37                                      bool is_blocking,
     38                                      const base::FilePath& profile_directory,
     39                                      base::FilePath* file_path) OVERRIDE;
     40   virtual void SetDebugPatterns(std::string debug_patterns) OVERRIDE;
     41   virtual bool URLMatchesDebugPatterns(const GURL& manifest_url) OVERRIDE;
     42   virtual content::BrowserPpapiHost::OnKeepaliveCallback
     43       GetOnKeepaliveCallback() OVERRIDE;
     44   virtual bool IsNonSfiModeAllowed(const base::FilePath& profile_directory,
     45                                    const GURL& manifest_url) OVERRIDE;
     46 
     47  private:
     48 #if defined(ENABLE_EXTENSIONS)
     49   scoped_refptr<extensions::InfoMap> GetExtensionInfoMap(
     50       const base::FilePath& profile_directory);
     51 #endif
     52 
     53   ProfileManager* profile_manager_;
     54   std::vector<URLPattern> debug_patterns_;
     55   bool inverse_debug_patterns_;
     56   std::set<std::string> allowed_nonsfi_origins_;
     57   DISALLOW_COPY_AND_ASSIGN(NaClBrowserDelegateImpl);
     58 };
     59 
     60 
     61 #endif  // CHROME_BROWSER_NACL_HOST_NACL_BROWSER_DELEGATE_IMPL_H_
     62