15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Chromium settings and storage represent user-selected preferences and 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// information and MUST not be extracted, overwritten or modified except 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// through Chromium defined APIs. 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef CHROME_BROWSER_WEBDATA_WEB_DATA_SERVICE_H__ 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CHROME_BROWSER_WEBDATA_WEB_DATA_SERVICE_H__ 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <map> 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <string> 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <vector> 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/callback_forward.h" 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/files/file_path.h" 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/location.h" 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/memory/ref_counted.h" 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/sequenced_task_runner_helpers.h" 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/search_engines/template_url.h" 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/search_engines/template_url_id.h" 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/webdata/keyword_table.h" 24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "components/webdata/common/web_data_results.h" 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "components/webdata/common/web_data_service_base.h" 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "components/webdata/common/web_data_service_consumer.h" 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "components/webdata/common/web_database.h" 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct DefaultWebIntentService; 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class GURL; 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_WIN) 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct IE7PasswordInfo; 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class Profile; 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class SkBitmap; 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class WebDatabaseService; 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace base { 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class Thread; 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace content { 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class BrowserContext; 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace webkit_glue { 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct WebIntentServiceData; 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//////////////////////////////////////////////////////////////////////////////// 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// WebDataService is a generic data repository for meta data associated with 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// web pages. All data is retrieved and archived in an asynchronous way. 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// All requests return a handle. The handle can be used to cancel the request. 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//////////////////////////////////////////////////////////////////////////////// 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//////////////////////////////////////////////////////////////////////////////// 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// WebDataService results 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//////////////////////////////////////////////////////////////////////////////// 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef base::Callback<scoped_ptr<WDTypedResult>(void)> ResultTask; 672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Result from GetWebAppImages. 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct WDAppImagesResult { 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) WDAppImagesResult(); 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ~WDAppImagesResult(); 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // True if SetWebAppHasAllImages(true) was invoked. 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool has_all_images; 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // The images, may be empty. 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) std::vector<SkBitmap> images; 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct WDKeywordsResult { 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) WDKeywordsResult(); 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ~WDKeywordsResult(); 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) KeywordTable::Keywords keywords; 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Identifies the ID of the TemplateURL that is the default search. A value of 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // 0 indicates there is no default search provider. 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int64 default_search_provider_id; 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Version of the built-in keywords. A value of 0 indicates a first run. 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int builtin_keyword_version; 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class WebDataServiceConsumer; 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 94c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)class WebDataService : public WebDataServiceBase { 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Retrieve a WebDataService for the given context. 972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static scoped_refptr<WebDataService> FromBrowserContext( 982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) content::BrowserContext* context); 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebDataService(scoped_refptr<WebDatabaseService> wdbs, 1012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const ProfileErrorCallback& callback); 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ////////////////////////////////////////////////////////////////////////////// 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Keywords 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ////////////////////////////////////////////////////////////////////////////// 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // As the database processes requests at a later date, all deletion is 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // done on the background thread. 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Many of the keyword related methods do not return a handle. This is because 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // the caller (TemplateURLService) does not need to know when the request is 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // done. 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void AddKeyword(const TemplateURLData& data); 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void RemoveKeyword(TemplateURLID id); 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void UpdateKeyword(const TemplateURLData& data); 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Fetches the keywords. 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // On success, consumer is notified with WDResult<KeywordTable::Keywords>. 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Handle GetKeywords(WebDataServiceConsumer* consumer); 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Sets the keywords used for the default search provider. 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void SetDefaultSearchProvider(const TemplateURL* url); 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Sets the version of the builtin keywords. 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void SetBuiltinKeywordVersion(int version); 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ////////////////////////////////////////////////////////////////////////////// 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Web Apps 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ////////////////////////////////////////////////////////////////////////////// 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Sets the image for the specified web app. A web app can have any number of 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // images, but only one at a particular size. If there was an image for the 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // web app at the size of the given image it is replaced. 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void SetWebAppImage(const GURL& app_url, const SkBitmap& image); 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Sets whether all the images have been downloaded for the specified web app. 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void SetWebAppHasAllImages(const GURL& app_url, bool has_all_images); 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Removes all images for the specified web app. 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void RemoveWebApp(const GURL& app_url); 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Fetches the images and whether all images have been downloaded for the 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // specified web app. 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Handle GetWebAppImages(const GURL& app_url, WebDataServiceConsumer* consumer); 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_WIN) 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ////////////////////////////////////////////////////////////////////////////// 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // IE7/8 Password Access (used by PasswordStoreWin - do not use elsewhere) 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ////////////////////////////////////////////////////////////////////////////// 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Adds |info| to the list of imported passwords from ie7/ie8. 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void AddIE7Login(const IE7PasswordInfo& info); 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Removes |info| from the list of imported passwords from ie7/ie8. 1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void RemoveIE7Login(const IE7PasswordInfo& info); 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Get the login matching the information in |info|. |consumer| will be 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // notified when the request is done. The result is of type 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // WDResult<IE7PasswordInfo>. 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // If there is no match, the fields of the IE7PasswordInfo will be empty. 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Handle GetIE7Login(const IE7PasswordInfo& info, 1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) WebDataServiceConsumer* consumer); 1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // defined(OS_WIN) 1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) protected: 1732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // For unit tests, passes a null callback. 1742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebDataService(); 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual ~WebDataService(); 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private: 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ////////////////////////////////////////////////////////////////////////////// 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // 1812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // The following methods are only invoked on the DB thread. 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ////////////////////////////////////////////////////////////////////////////// 1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ////////////////////////////////////////////////////////////////////////////// 1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Keywords. 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // 1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ////////////////////////////////////////////////////////////////////////////// 1902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebDatabase::State AddKeywordImpl( 1912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const TemplateURLData& data, WebDatabase* db); 1922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebDatabase::State RemoveKeywordImpl( 1932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TemplateURLID id, WebDatabase* db); 1942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebDatabase::State UpdateKeywordImpl( 1952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const TemplateURLData& data, WebDatabase* db); 1962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) scoped_ptr<WDTypedResult> GetKeywordsImpl(WebDatabase* db); 1972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebDatabase::State SetDefaultSearchProviderImpl( 1982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TemplateURLID r, WebDatabase* db); 1992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebDatabase::State SetBuiltinKeywordVersionImpl(int version, WebDatabase* db); 2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ////////////////////////////////////////////////////////////////////////////// 2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // 2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Web Apps. 2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ////////////////////////////////////////////////////////////////////////////// 2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebDatabase::State SetWebAppImageImpl(const GURL& app_url, 2082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const SkBitmap& image, WebDatabase* db); 2092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebDatabase::State SetWebAppHasAllImagesImpl(const GURL& app_url, 2102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool has_all_images, WebDatabase* db); 2112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebDatabase::State RemoveWebAppImpl(const GURL& app_url, WebDatabase* db); 2122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) scoped_ptr<WDTypedResult> GetWebAppImagesImpl( 2132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const GURL& app_url, WebDatabase* db); 2142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined(ENABLE_WEB_INTENTS) 2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ////////////////////////////////////////////////////////////////////////////// 2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // 2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Web Intents. 2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // 2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ////////////////////////////////////////////////////////////////////////////// 2212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebDatabase::State AddWebIntentServiceImpl( 2222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const webkit_glue::WebIntentServiceData& service); 2232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebDatabase::State RemoveWebIntentServiceImpl( 2242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const webkit_glue::WebIntentServiceData& service); 225a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) scoped_ptr<WDTypedResult> GetWebIntentServicesImpl( 226a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) const base::string16& action); 2272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) scoped_ptr<WDTypedResult> GetWebIntentServicesForURLImpl( 228a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) const base::string16& service_url); 2292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) scoped_ptr<WDTypedResult> GetAllWebIntentServicesImpl(); 2302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebDatabase::State AddDefaultWebIntentServiceImpl( 2312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const DefaultWebIntentService& service); 2322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebDatabase::State RemoveDefaultWebIntentServiceImpl( 2332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const DefaultWebIntentService& service); 2342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebDatabase::State RemoveWebIntentServiceDefaultsImpl( 2352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const GURL& service_url); 2362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) scoped_ptr<WDTypedResult> GetDefaultWebIntentServicesForActionImpl( 237a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) const base::string16& action); 2382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) scoped_ptr<WDTypedResult> GetAllDefaultWebIntentServicesImpl(); 2392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_WIN) 2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ////////////////////////////////////////////////////////////////////////////// 2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // 2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Password manager. 2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // 2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ////////////////////////////////////////////////////////////////////////////// 2472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebDatabase::State AddIE7LoginImpl( 2482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const IE7PasswordInfo& info, WebDatabase* db); 2492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebDatabase::State RemoveIE7LoginImpl( 2502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const IE7PasswordInfo& info, WebDatabase* db); 2512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) scoped_ptr<WDTypedResult> GetIE7LoginImpl( 2522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const IE7PasswordInfo& info, WebDatabase* db); 2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // defined(OS_WIN) 2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(WebDataService); 2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // CHROME_BROWSER_WEBDATA_WEB_DATA_SERVICE_H__ 259