Disable view source for Developer Tools.
[chromium-blink-merge.git] / chrome / browser / webdata / web_apps_table.h
blob20d8ac83c24e6effcf33c3bc1921949ff6c742ba
1 // Copyright (c) 2011 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.
5 #ifndef CHROME_BROWSER_WEBDATA_WEB_APPS_TABLE_H_
6 #define CHROME_BROWSER_WEBDATA_WEB_APPS_TABLE_H_
8 #include <vector>
10 #include "base/compiler_specific.h"
11 #include "components/webdata/common/web_database_table.h"
13 class GURL;
14 class SkBitmap;
15 class WebDatabase;
17 // This class manages the WebApps tables within the SQLite database passed to
18 // the constructor. It expects the following schema:
20 // Note: The database stores time in seconds, UTC.
22 // web_apps
23 // url URL of the web app.
24 // has_all_images Do we have all the images?
26 // web_app_icons
27 // url URL of the web app.
28 // width Width of the image.
29 // height Height of the image.
30 // image PNG encoded image data.
32 class WebAppsTable : public WebDatabaseTable {
33 public:
34 WebAppsTable() {}
35 virtual ~WebAppsTable() {}
37 // Retrieves the WebAppsTable* owned by |database|.
38 static WebAppsTable* FromWebDatabase(WebDatabase* database);
40 virtual WebDatabaseTable::TypeKey GetTypeKey() const OVERRIDE;
41 virtual bool Init(sql::Connection* db, sql::MetaTable* meta_table) OVERRIDE;
42 virtual bool IsSyncable() OVERRIDE;
43 virtual bool MigrateToVersion(int version,
44 bool* update_compatible_version) OVERRIDE;
46 bool SetWebAppImage(const GURL& url, const SkBitmap& image);
48 // Returns true if all images are retrieved. Returns false if there is a
49 // database error. In this case, the state of images is undefined; it may have
50 // partial results or no results from the call.
51 bool GetWebAppImages(const GURL& url, std::vector<SkBitmap>* images);
53 bool SetWebAppHasAllImages(const GURL& url, bool has_all_images);
54 bool GetWebAppHasAllImages(const GURL& url);
56 bool RemoveWebApp(const GURL& url);
58 private:
59 bool InitWebAppIconsTable();
60 bool InitWebAppsTable();
62 DISALLOW_COPY_AND_ASSIGN(WebAppsTable);
65 #endif // CHROME_BROWSER_WEBDATA_WEB_APPS_TABLE_H_