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 13class GURL; 14 15namespace base { 16class FilePath; 17} 18 19namespace extensions { 20class 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. 29scoped_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