Home | History | Annotate | Download | only in browser
      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 
     12 namespace content {
     13 class BrowserContext;
     14 }
     15 
     16 namespace extensions {
     17 class InfoMap;
     18 
     19 // A lightweight NaClBrowserDelegate for app_shell. Only supports a single
     20 // BrowserContext.
     21 class 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