Home | History | Annotate | Download | only in extensions
      1 // Copyright (c) 2012 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_EXTENSIONS_CONVERT_USER_SCRIPT_H_
      6 #define CHROME_BROWSER_EXTENSIONS_CONVERT_USER_SCRIPT_H_
      7 
      8 #include <string>
      9 
     10 #include "base/memory/ref_counted.h"
     11 #include "base/strings/string16.h"
     12 
     13 class GURL;
     14 
     15 namespace base {
     16 class FilePath;
     17 }
     18 
     19 namespace extensions {
     20 class Extension;
     21 
     22 // Wraps the specified user script in an extension. The extension is created
     23 // unpacked in the system temp dir. Returns a valid extension that the caller
     24 // should take ownership on success, or NULL and |error| on failure.
     25 //
     26 // NOTE: This function does file IO and should not be called on the UI thread.
     27 // NOTE: The caller takes ownership of the directory at extension->path() on the
     28 // returned object.
     29 scoped_refptr<extensions::Extension> ConvertUserScriptToExtension(
     30     const base::FilePath& user_script, const GURL& original_url,
     31     const base::FilePath& extensions_dir, base::string16* error);
     32 
     33 }  // namespace extensions
     34 
     35 #endif  // CHROME_BROWSER_EXTENSIONS_CONVERT_USER_SCRIPT_H_
     36