Index: chrome/browser/extensions/convert_web_app.h |
diff --git a/chrome/browser/extensions/convert_web_app.h b/chrome/browser/extensions/convert_web_app.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..17441a45e210abd756c4d8f04c4619b6e4f237fd |
--- /dev/null |
+++ b/chrome/browser/extensions/convert_web_app.h |
@@ -0,0 +1,45 @@ |
+// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_EXTENSIONS_CONVERT_WEB_APP_H_ |
+#define CHROME_BROWSER_EXTENSIONS_CONVERT_WEB_APP_H_ |
+#pragma once |
+ |
+#include <string> |
+ |
+#include "base/ref_counted.h" |
+ |
+class Extension; |
+ |
+namespace base { |
+class Time; |
+} |
+ |
+namespace webkit_glue { |
+struct WebApplicationInfo; |
+} |
+ |
+// Generates a version number for an extension from a time. The goal is to make |
+// use of the version number to communicate the date in a human readable form, |
+// while maintaining high enough resolution to change each time an app is |
+// reinstalled. The version that is returned has the format: |
+// |
+// <year>.<month>.<day>.<fraction> |
+// |
+// fraction is represented as a number between 0 and 2^16-1. Each unit is |
+// ~1.32 seconds. |
+std::string ConvertTimeToExtensionVersion(const base::Time& time); |
+ |
+// Wraps the specified web app in an extension. The extension is created |
+// unpacked in the system temp dir. Returns a valid extension that the caller |
+// should take ownership on success, or NULL and |error| on failure. |
+// |
+// NOTE: This function does file IO and should not be called on the UI thread. |
+// NOTE: The caller takes ownership of the directory at extension->path() on the |
+// returned object. |
+scoped_refptr<Extension> ConvertWebAppToExtension( |
+ const webkit_glue::WebApplicationInfo& web_app_info, |
+ const base::Time& create_time); |
+ |
+#endif // CHROME_BROWSER_EXTENSIONS_CONVERT_WEB_APP_H_ |