Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_HISTORY_HISTORY_BACKEND_H_ | 5 #ifndef CHROME_BROWSER_HISTORY_HISTORY_BACKEND_H_ |
| 6 #define CHROME_BROWSER_HISTORY_HISTORY_BACKEND_H_ | 6 #define CHROME_BROWSER_HISTORY_HISTORY_BACKEND_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| 11 #include "base/file_path.h" | 11 #include "base/file_path.h" |
| 12 #include "base/gtest_prod_util.h" | 12 #include "base/gtest_prod_util.h" |
| 13 #include "base/memory/mru_cache.h" | 13 #include "base/memory/mru_cache.h" |
| 14 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
| 15 #include "chrome/browser/cancelable_request.h" | 15 #include "chrome/browser/cancelable_request.h" |
| 16 #include "chrome/browser/history/archived_database.h" | 16 #include "chrome/browser/history/archived_database.h" |
| 17 #include "chrome/browser/history/expire_history_backend.h" | 17 #include "chrome/browser/history/expire_history_backend.h" |
| 18 #include "chrome/browser/history/history_database.h" | 18 #include "chrome/browser/history/history_database.h" |
| 19 #include "chrome/browser/history/history_marshaling.h" | 19 #include "chrome/browser/history/history_marshaling.h" |
| 20 #include "chrome/browser/history/history_types.h" | 20 #include "chrome/browser/history/history_types.h" |
| 21 #include "chrome/browser/history/text_database_manager.h" | 21 #include "chrome/browser/history/text_database_manager.h" |
| 22 #include "chrome/browser/history/thumbnail_database.h" | 22 #include "chrome/browser/history/thumbnail_database.h" |
| 23 #include "chrome/browser/history/visit_tracker.h" | 23 #include "chrome/browser/history/visit_tracker.h" |
| 24 #include "chrome/browser/search_engines/template_url_id.h" | 24 #include "chrome/browser/search_engines/template_url_id.h" |
| 25 #include "sql/init_status.h" | 25 #include "sql/init_status.h" |
| 26 #include "ui/base/layout.h" | |
| 26 | 27 |
| 27 class BookmarkService; | 28 class BookmarkService; |
| 28 class TestingProfile; | 29 class TestingProfile; |
| 29 struct ThumbnailScore; | 30 struct ThumbnailScore; |
| 30 | 31 |
| 31 namespace content { | 32 namespace content { |
| 32 struct DownloadPersistentStoreInfo; | 33 struct DownloadPersistentStoreInfo; |
| 33 } | 34 } |
| 34 | 35 |
| 35 namespace history { | 36 namespace history { |
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 241 // | 242 // |
| 242 // Exposed for testing reasons. | 243 // Exposed for testing reasons. |
| 243 void GetPageThumbnailDirectly( | 244 void GetPageThumbnailDirectly( |
| 244 const GURL& page_url, | 245 const GURL& page_url, |
| 245 scoped_refptr<base::RefCountedBytes>* data); | 246 scoped_refptr<base::RefCountedBytes>* data); |
| 246 | 247 |
| 247 void MigrateThumbnailsDatabase(); | 248 void MigrateThumbnailsDatabase(); |
| 248 | 249 |
| 249 // Favicon ------------------------------------------------------------------- | 250 // Favicon ------------------------------------------------------------------- |
| 250 | 251 |
| 251 void GetFavicon(scoped_refptr<GetFaviconRequest> request, | 252 void GetFavicons(scoped_refptr<GetFaviconRequest> request, |
| 252 const GURL& icon_url, | 253 const std::vector<GURL>& icon_urls, |
| 253 int icon_types); | 254 int icon_types, |
| 255 int desired_size_in_dip, | |
| 256 const std::vector<ui::ScaleFactor>& desired_scale_factors); | |
| 254 | 257 |
| 255 void GetFaviconForURL(scoped_refptr<GetFaviconRequest> request, | 258 void GetFaviconsForURL( |
| 256 const GURL& page_url, | 259 scoped_refptr<GetFaviconRequest> request, |
| 257 int icon_types); | 260 const GURL& page_url, |
| 261 int icon_types, | |
| 262 int desired_size_in_dip, | |
| 263 const std::vector<ui::ScaleFactor>& desired_scale_factors); | |
| 258 | 264 |
| 259 void GetFaviconForID(scoped_refptr<GetFaviconRequest> request, FaviconID id); | 265 void GetFaviconForID( |
| 266 scoped_refptr<GetFaviconRequest> request, | |
| 267 FaviconID favicon_id, | |
| 268 int desired_size_in_dip, | |
| 269 ui::ScaleFactor desired_scale_factor); | |
| 260 | 270 |
| 261 void SetFavicon(const GURL& page_url, | 271 void UpdateFaviconMappingsAndFetch( |
| 262 const GURL& icon_url, | 272 scoped_refptr<GetFaviconRequest> request, |
| 263 scoped_refptr<base::RefCountedMemory> data, | 273 const GURL& page_url, |
| 264 IconType icon_type); | 274 const std::vector<GURL>& icon_urls, |
| 275 int icon_types, | |
| 276 int desired_size_in_dip, | |
| 277 const std::vector<ui::ScaleFactor>& desired_scale_factors); | |
| 265 | 278 |
| 266 void UpdateFaviconMappingAndFetch(scoped_refptr<GetFaviconRequest> request, | 279 void MergeFavicon( |
| 267 const GURL& page_url, | 280 const GURL& page_url, |
| 268 const GURL& icon_url, | 281 const GURL& icon_url, |
| 269 IconType icon_type); | 282 IconType icon_type, |
| 283 scoped_refptr<base::RefCountedMemory> bitmap_data, | |
| 284 const gfx::Size& pixel_size); | |
| 270 | 285 |
| 271 void SetFaviconOutOfDateForPage(const GURL& page_url); | 286 void SetFavicons( |
| 287 const GURL& page_url, | |
| 288 IconType icon_type, | |
| 289 const std::vector<FaviconBitmapData>& favicon_bitmap_data, | |
| 290 const IconURLSizesMap& icon_url_sizes); | |
| 272 | 291 |
| 273 void CloneFavicon(const GURL& old_page_url, const GURL& new_page_url); | 292 void SetFaviconsOutOfDateForPage(const GURL& page_url); |
| 293 | |
| 294 void CloneFavicons(const GURL& old_page_url, const GURL& new_page_url); | |
| 274 | 295 |
| 275 void SetImportedFavicons( | 296 void SetImportedFavicons( |
| 276 const std::vector<ImportedFaviconUsage>& favicon_usage); | 297 const std::vector<ImportedFaviconUsage>& favicon_usage); |
| 277 | 298 |
| 278 // Downloads ----------------------------------------------------------------- | 299 // Downloads ----------------------------------------------------------------- |
| 279 | 300 |
| 280 void GetNextDownloadId(scoped_refptr<DownloadNextIdRequest> request); | 301 void GetNextDownloadId(scoped_refptr<DownloadNextIdRequest> request); |
| 281 void QueryDownloads(scoped_refptr<DownloadQueryRequest> request); | 302 void QueryDownloads(scoped_refptr<DownloadQueryRequest> request); |
| 282 void CleanUpInProgressEntries(); | 303 void CleanUpInProgressEntries(); |
| 283 void UpdateDownload(const content::DownloadPersistentStoreInfo& data); | 304 void UpdateDownload(const content::DownloadPersistentStoreInfo& data); |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 452 friend class HistoryTest; // So the unit tests can poke our innards. | 473 friend class HistoryTest; // So the unit tests can poke our innards. |
| 453 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, DeleteAll); | 474 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, DeleteAll); |
| 454 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, DeleteAllThenAddData); | 475 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, DeleteAllThenAddData); |
| 455 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, ImportedFaviconsTest); | 476 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, ImportedFaviconsTest); |
| 456 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, URLsNoLongerBookmarked); | 477 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, URLsNoLongerBookmarked); |
| 457 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, StripUsernamePasswordTest); | 478 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, StripUsernamePasswordTest); |
| 458 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, DeleteThumbnailsDatabaseTest); | 479 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, DeleteThumbnailsDatabaseTest); |
| 459 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, AddPageVisitSource); | 480 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, AddPageVisitSource); |
| 460 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, AddPageArgsSource); | 481 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, AddPageArgsSource); |
| 461 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, AddVisitsSource); | 482 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, AddVisitsSource); |
| 483 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, GetMostRecentVisits); | |
| 462 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, RemoveVisitsSource); | 484 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, RemoveVisitsSource); |
| 463 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, RemoveVisitsTransitions); | 485 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, RemoveVisitsTransitions); |
| 464 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, MigrationVisitSource); | 486 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, MigrationVisitSource); |
| 465 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, MigrationIconMapping); | 487 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, MigrationIconMapping); |
| 466 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, SetFaviconMapping); | 488 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, |
| 467 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, AddOrUpdateIconMapping); | 489 SetFaviconMappingsForPageAndRedirects); |
| 468 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, SetSameFaviconURLForTwoPages); | 490 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, |
| 469 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, GetMostRecentVisits); | 491 SetFaviconMappingsForPageDuplicates); |
| 470 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, GetFaviconForURL); | 492 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, SetFavicons); |
| 493 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, | |
| 494 SetFaviconsSameFaviconURLForTwoPages); | |
| 495 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, SetFaviconsDeleteBitmaps); | |
| 496 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, SetFaviconsReplaceBitmapData); | |
| 497 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, IsMergeValid); | |
| 498 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, MergeFaviconPageURLNotInDB); | |
| 499 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, MergeFaviconPageURLInDB); | |
| 500 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, | |
| 501 UpdateFaviconMappingsAndFetchMultipleIconTypes); | |
| 502 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, GetFaviconsFromDBEmpty); | |
| 503 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, | |
| 504 GetFaviconsFromDBSelectClosestMatch); | |
| 505 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, GetFaviconsFromDBSingleIconURL); | |
| 506 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, GetFaviconsFromDBIconType); | |
| 507 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, GetFaviconsFromDBExpired); | |
| 471 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, | 508 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, |
| 472 CloneFaviconIsRestrictedToSameDomain); | 509 CloneFaviconIsRestrictedToSameDomain); |
| 473 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, QueryFilteredURLs); | 510 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, QueryFilteredURLs); |
| 474 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, UpdateVisitDuration); | 511 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, UpdateVisitDuration); |
| 475 | 512 |
| 476 friend class ::TestingProfile; | 513 friend class ::TestingProfile; |
| 477 | 514 |
| 478 // Computes the name of the specified database on disk. | 515 // Computes the name of the specified database on disk. |
| 479 FilePath GetThumbnailFileName() const; | 516 FilePath GetThumbnailFileName() const; |
| 480 | 517 |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 572 // Update the segment information. This is called internally when a page is | 609 // Update the segment information. This is called internally when a page is |
| 573 // added. Return the segment id of the segment that has been updated. | 610 // added. Return the segment id of the segment that has been updated. |
| 574 SegmentID UpdateSegments(const GURL& url, | 611 SegmentID UpdateSegments(const GURL& url, |
| 575 VisitID from_visit, | 612 VisitID from_visit, |
| 576 VisitID visit_id, | 613 VisitID visit_id, |
| 577 content::PageTransition transition_type, | 614 content::PageTransition transition_type, |
| 578 const base::Time ts); | 615 const base::Time ts); |
| 579 | 616 |
| 580 // Favicons ------------------------------------------------------------------ | 617 // Favicons ------------------------------------------------------------------ |
| 581 | 618 |
| 582 // Used by both UpdateFaviconMappingAndFetch and GetFavicon. | 619 // Used by both UpdateFaviconMappingsAndFetch and GetFavicons. |
| 583 // If page_url is non-null and SetFavicon has previously been invoked for | 620 // If |page_url| is non-null, the icon urls for |page_url| (and all |
| 584 // icon_url the favicon url for page_url (and all redirects) is set to | 621 // redirects) are set to the subset of |icon_urls| for which icons are |
| 585 // icon_url. | 622 // already stored in the database. |
| 586 // Only a single type can be given in icon_type when page_url is specified. | 623 // |icon_types| can be multiple icon types only if |icon_types| is |
| 587 void UpdateFaviconMappingAndFetchImpl( | 624 // TOUCH_ICON | TOUCH_PRECOMPOSED_ICON. |
| 625 // If multiple icon types are specified, |page_url| will be mapped to the | |
| 626 // icon URLs of the largest type available in the database. | |
| 627 void UpdateFaviconMappingsAndFetchImpl( | |
| 628 scoped_refptr<GetFaviconRequest> request, | |
| 588 const GURL* page_url, | 629 const GURL* page_url, |
| 589 const GURL& icon_url, | 630 const std::vector<GURL>& icon_urls, |
| 590 scoped_refptr<GetFaviconRequest> request, | 631 int icon_types, |
| 591 int icon_type); | 632 int desired_size_in_dip, |
| 633 const std::vector<ui::ScaleFactor>& desired_scale_factors); | |
| 592 | 634 |
| 593 // Sets the favicon url id for page_url to id. This will also broadcast | 635 // Returns true if it is valid to map |page_url| to |icon_url| and set a |
| 594 // notifications as necessary. | 636 // favicon bitmap of |pixel_size| at |icon_url|. If the merge is valid, |
| 595 void SetFaviconMapping(const GURL& page_url, | 637 // |merge_pixel_size| is set to the pixel size to use for adding / setting |
| 596 FaviconID id, | 638 // the favicon bitmap for the merge to be valid. |
|
sky
2012/09/04 20:52:29
Document its set to empty if new.
| |
| 597 IconType icon_type); | 639 bool IsMergeValid(const GURL& page_url, |
| 640 const GURL& icon_url, | |
| 641 IconType icon_type, | |
| 642 const gfx::Size& pixel_size, | |
| 643 gfx::Size* merge_pixe_size); | |
| 598 | 644 |
| 599 // Updates the FaviconID associated with the url of a page. If there is an | 645 // Set the favicon bitmaps for the favicon at |icon_id|. |
| 600 // existing mapping between |page_url| and |id| this does nothing and returns | 646 void SetFaviconBitmaps( |
| 601 // false. If the mapping needs to be added or updated, true is returned. If | 647 FaviconID icon_id, |
| 602 // there is an existing mapping but it does not map to |id|, then the |id| of | 648 const std::vector<FaviconBitmapData>& favicon_bitmap_data); |
| 603 // the replaced FaviconID is set in |replaced_icon_id|. | 649 |
| 604 bool AddOrUpdateIconMapping(const GURL& page_url, | 650 // Returns true if |favicon_bitmap_data| and |icon_url_sizes| passed to |
| 605 FaviconID id, | 651 // SetFavicons are valid. |
|
michaelbai
2012/09/05 19:08:18
Could you add comment for what the valid params ar
| |
| 606 IconType icon_type, | 652 bool ValidateSetFaviconsParams( |
| 607 FaviconID* replaced_icon_id); | 653 const std::vector<FaviconBitmapData>& favicon_bitmap_data, |
| 654 const IconURLSizesMap& icon_url_sizes) const; | |
| 655 | |
| 656 // Sets the sizes that the thumbnail database knows that the favicon at | |
| 657 // |icon_id| is available from the web. See history_types.h for a more | |
| 658 // detailed description of FaviconSizes. | |
| 659 void SetFaviconSizes(FaviconID icon_id, const FaviconSizes& sizes); | |
| 660 | |
| 661 // Returns true if there are favicons for |page_url| and one of the types in | |
| 662 // |icon_types|. | |
| 663 // |favicon_bitmap_results| is set to the favicon bitmaps which most closely | |
| 664 // match |desired_dip_size| and |desired_scale_factors|. | |
| 665 // If |icon_types| contains multiple icon types and there are several matched | |
| 666 // icon types in the database, results will only returned for a single icon | |
| 667 // type in the priority of TOUCH_PRECOMPOSED_ICON, TOUCH_ICON, and FAVICON. | |
| 668 // See the comment for GetFaviconResultsForBestMatch() for more details on how | |
| 669 // |favicon_bitmap_results| is constructed. | |
| 670 // |icon_url_sizes| is set to a mapping of all the icon URLs which are mapped | |
| 671 // to |page_url| to the sizes of the favicon bitmaps available at each icon | |
| 672 // URL on the web. | |
| 673 bool GetFaviconsFromDB( | |
| 674 const GURL& page_url, | |
| 675 int icon_types, | |
| 676 const int desired_size_in_dip, | |
| 677 const std::vector<ui::ScaleFactor>& desired_scale_factors, | |
| 678 std::vector<FaviconBitmapResult>* favicon_bitmap_results, | |
| 679 IconURLSizesMap* icon_url_sizes); | |
| 680 | |
| 681 // Returns the favicon bitmaps which most closly match |desired_dip_size| and | |
| 682 // |desired_scale_factors| in |favicon_bitmap_results|. Goodness is computed | |
| 683 // on a per favicon id basis, thus all of |favicon_bitmap_results| are | |
| 684 // guaranteed to be for the same FaviconID. |favicon_bitmap_results| may not | |
| 685 // contain all the favicon bitmaps for the selected FaviconID which are in | |
| 686 // the database. | |
| 687 // Returns true on success. | |
|
michaelbai
2012/09/05 19:08:18
From this comment, it is not clear to me that,
-
pkotwicz
2012/09/05 22:39:26
Updated the comment to address your concerns.
The
| |
| 688 bool GetFaviconBitmapResultsForBestMatch( | |
| 689 const std::vector<FaviconID>& candidate_favicon_ids, | |
| 690 int desired_size_in_dip, | |
| 691 const std::vector<ui::ScaleFactor>& desired_scale_factors, | |
| 692 std::vector<FaviconBitmapResult>* favicon_bitmap_results); | |
| 693 | |
| 694 // Build mapping of the icon URLs for |favicon_ids| to the sizes of the | |
| 695 // favicon bitmaps available at each icon URL on the web. Favicon bitmaps | |
| 696 // may not be cached in the thumbnail database for any of the sizes in the | |
| 697 // returned map. See history_types.h for a more detailed description of | |
| 698 // IconURLSizesMap. | |
| 699 // Returns true if map was successfully built. | |
| 700 bool BuildIconURLSizesMap(const std::vector<FaviconID>& favicon_ids, | |
|
sky
2012/09/05 00:15:51
nit, when you wrap wrap all arguments (like you di
| |
| 701 IconURLSizesMap* icon_url_sizes); | |
| 702 | |
| 703 // Define type used solely in SetFaviconMappingsForPageAndRedirects. | |
| 704 typedef std::map<GURL, FaviconID> IconURLFaviconIDMap; | |
| 705 | |
| 706 // Maps the favicon ids in |icon_url_id_map| to |page_url| (and all | |
| 707 // redirects) for |icon_type|. This will also broadcast notifications as | |
| 708 // necessary. | |
| 709 void SetFaviconMappingsForPageAndRedirects( | |
| 710 const GURL& page_url, | |
| 711 IconType icon_type, | |
| 712 const IconURLFaviconIDMap& icon_url_id_map); | |
| 713 | |
| 714 // Maps the favicon ids in |icon_url_id_map| to |page_url| for |icon_type|. | |
| 715 // Returns true if the function changed some of the mappings to |page_url|. | |
| 716 bool SetFaviconMappingsForPage(const GURL& page_url, | |
| 717 IconType icon_type, | |
| 718 const IconURLFaviconIDMap& icon_url_id_map); | |
| 608 | 719 |
| 609 // Generic stuff ------------------------------------------------------------- | 720 // Generic stuff ------------------------------------------------------------- |
| 610 | 721 |
| 611 // Processes the next scheduled HistoryDBTask, scheduling this method | 722 // Processes the next scheduled HistoryDBTask, scheduling this method |
| 612 // to be invoked again if there are more tasks that need to run. | 723 // to be invoked again if there are more tasks that need to run. |
| 613 void ProcessDBTaskImpl(); | 724 void ProcessDBTaskImpl(); |
| 614 | 725 |
| 615 // Release all tasks in history_db_tasks_ and clears it. | 726 // Release all tasks in history_db_tasks_ and clears it. |
| 616 void ReleaseDBTasks(); | 727 void ReleaseDBTasks(); |
| 617 | 728 |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 641 // set of URLs in the URL table (these should correspond to the bookmarked | 752 // set of URLs in the URL table (these should correspond to the bookmarked |
| 642 // URLs). | 753 // URLs). |
| 643 // | 754 // |
| 644 // The IDs of the URLs may change. | 755 // The IDs of the URLs may change. |
| 645 bool ClearAllMainHistory(const URLRows& kept_urls); | 756 bool ClearAllMainHistory(const URLRows& kept_urls); |
| 646 | 757 |
| 647 // Returns the BookmarkService, blocking until it is loaded. This may return | 758 // Returns the BookmarkService, blocking until it is loaded. This may return |
| 648 // NULL during testing. | 759 // NULL during testing. |
| 649 BookmarkService* GetBookmarkService(); | 760 BookmarkService* GetBookmarkService(); |
| 650 | 761 |
| 651 // If there is a favicon for |page_url| and one of the types in |icon_types|, | |
| 652 // |favicon| is set appropriately and true is returned. | |
| 653 bool GetFaviconFromDB( | |
| 654 const GURL& page_url, | |
| 655 int icon_types, | |
| 656 std::vector<FaviconBitmapResult>* favicon_bitmap_results); | |
| 657 | |
| 658 // Get favicon by the given |favicon_id|, the |favicon| is set appropriately | |
| 659 // and true if returned on success, otherwise false is returned. | |
| 660 bool GetFaviconFromDB( | |
| 661 FaviconID favicon_id, | |
| 662 std::vector<FaviconBitmapResult>* favicon_bitmap_results); | |
| 663 | |
| 664 // Notify any observers of an addition to the visit database. | 762 // Notify any observers of an addition to the visit database. |
| 665 void NotifyVisitObservers(const VisitRow& visit); | 763 void NotifyVisitObservers(const VisitRow& visit); |
| 666 | 764 |
| 667 // Data ---------------------------------------------------------------------- | 765 // Data ---------------------------------------------------------------------- |
| 668 | 766 |
| 669 // Delegate. See the class definition above for more information. This will | 767 // Delegate. See the class definition above for more information. This will |
| 670 // be NULL before Init is called and after Cleanup, but is guaranteed | 768 // be NULL before Init is called and after Cleanup, but is guaranteed |
| 671 // non-NULL in between. | 769 // non-NULL in between. |
| 672 scoped_ptr<Delegate> delegate_; | 770 scoped_ptr<Delegate> delegate_; |
| 673 | 771 |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 759 // Used to provide the Android ContentProvider APIs. | 857 // Used to provide the Android ContentProvider APIs. |
| 760 scoped_ptr<AndroidProviderBackend> android_provider_backend_; | 858 scoped_ptr<AndroidProviderBackend> android_provider_backend_; |
| 761 #endif | 859 #endif |
| 762 | 860 |
| 763 DISALLOW_COPY_AND_ASSIGN(HistoryBackend); | 861 DISALLOW_COPY_AND_ASSIGN(HistoryBackend); |
| 764 }; | 862 }; |
| 765 | 863 |
| 766 } // namespace history | 864 } // namespace history |
| 767 | 865 |
| 768 #endif // CHROME_BROWSER_HISTORY_HISTORY_BACKEND_H_ | 866 #endif // CHROME_BROWSER_HISTORY_HISTORY_BACKEND_H_ |
| OLD | NEW |