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. 4 5 #ifndef CHROME_BROWSER_WEBDATA_WEB_APPS_TABLE_H_ 6 #define CHROME_BROWSER_WEBDATA_WEB_APPS_TABLE_H_ 7 #pragma once 8 9 #include <vector> 10 11 #include "chrome/browser/webdata/web_database_table.h" 12 13 class GURL; 14 class SkBitmap; 15 16 // This class manages the WebApps tables within the SQLite database passed to 17 // the constructor. It expects the following schema: 18 // 19 // Note: The database stores time in seconds, UTC. 20 // 21 // web_apps 22 // url URL of the web app. 23 // has_all_images Do we have all the images? 24 // 25 // web_app_icons 26 // url URL of the web app. 27 // width Width of the image. 28 // height Height of the image. 29 // image PNG encoded image data. 30 // 31 class WebAppsTable : public WebDatabaseTable { 32 public: WebAppsTable(sql::Connection * db,sql::MetaTable * meta_table)33 WebAppsTable(sql::Connection* db, sql::MetaTable* meta_table) 34 : WebDatabaseTable(db, meta_table) {} ~WebAppsTable()35 virtual ~WebAppsTable() {} 36 virtual bool Init(); 37 virtual bool IsSyncable(); 38 39 bool SetWebAppImage(const GURL& url, const SkBitmap& image); 40 bool GetWebAppImages(const GURL& url, std::vector<SkBitmap>* images); 41 42 bool SetWebAppHasAllImages(const GURL& url, bool has_all_images); 43 bool GetWebAppHasAllImages(const GURL& url); 44 45 bool RemoveWebApp(const GURL& url); 46 47 private: 48 bool InitWebAppIconsTable(); 49 bool InitWebAppsTable(); 50 51 DISALLOW_COPY_AND_ASSIGN(WebAppsTable); 52 }; 53 54 #endif // CHROME_BROWSER_WEBDATA_WEB_APPS_TABLE_H_ 55