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 13class GURL; 14class 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// 31class WebAppsTable : public WebDatabaseTable { 32 public: 33 WebAppsTable(sql::Connection* db, sql::MetaTable* meta_table) 34 : WebDatabaseTable(db, meta_table) {} 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