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 <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <utility> | 10 #include <utility> |
(...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
402 #endif // defined(OS_ANDROID) | 402 #endif // defined(OS_ANDROID) |
403 | 403 |
404 // Generic operations -------------------------------------------------------- | 404 // Generic operations -------------------------------------------------------- |
405 | 405 |
406 void ProcessDBTask(scoped_refptr<HistoryDBTaskRequest> request); | 406 void ProcessDBTask(scoped_refptr<HistoryDBTaskRequest> request); |
407 | 407 |
408 virtual bool GetAllTypedURLs(URLRows* urls); | 408 virtual bool GetAllTypedURLs(URLRows* urls); |
409 | 409 |
410 virtual bool GetVisitsForURL(URLID id, VisitVector* visits); | 410 virtual bool GetVisitsForURL(URLID id, VisitVector* visits); |
411 | 411 |
| 412 virtual bool GetVisitsForURLWithOptions(URLID id, |
| 413 const QueryOptions& options, |
| 414 VisitVector* visits); |
| 415 |
412 // Fetches up to |max_visits| most recent visits for the passed URL. | 416 // Fetches up to |max_visits| most recent visits for the passed URL. |
413 virtual bool GetMostRecentVisitsForURL(URLID id, | 417 virtual bool GetMostRecentVisitsForURL(URLID id, |
414 int max_visits, | 418 int max_visits, |
415 VisitVector* visits); | 419 VisitVector* visits); |
416 | 420 |
417 virtual bool UpdateURL(URLID id, const history::URLRow& url); | 421 virtual bool UpdateURL(URLID id, const history::URLRow& url); |
418 | 422 |
419 // While adding visits in batch, the source needs to be provided. | 423 // While adding visits in batch, the source needs to be provided. |
420 virtual bool AddVisits(const GURL& url, | 424 virtual bool AddVisits(const GURL& url, |
421 const std::vector<history::VisitInfo>& visits, | 425 const std::vector<history::VisitInfo>& visits, |
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
618 // When a simple GetMostRecentRedirectsFrom() fails, this method is | 622 // When a simple GetMostRecentRedirectsFrom() fails, this method is |
619 // called which searches the last N visit sessions instead of just | 623 // called which searches the last N visit sessions instead of just |
620 // the current one. Returns true and puts thumbnail data in |data| | 624 // the current one. Returns true and puts thumbnail data in |data| |
621 // if a proper thumbnail was found. Returns false otherwise. Assumes | 625 // if a proper thumbnail was found. Returns false otherwise. Assumes |
622 // that this HistoryBackend object has been Init()ed successfully. | 626 // that this HistoryBackend object has been Init()ed successfully. |
623 bool GetThumbnailFromOlderRedirect( | 627 bool GetThumbnailFromOlderRedirect( |
624 const GURL& page_url, std::vector<unsigned char>* data); | 628 const GURL& page_url, std::vector<unsigned char>* data); |
625 | 629 |
626 // Querying ------------------------------------------------------------------ | 630 // Querying ------------------------------------------------------------------ |
627 | 631 |
628 // Backends for QueryHistory. *Basic() handles queries that are not FTS (full | 632 // Backends for QueryHistory. *Basic() handles queries that are not |
629 // text search) queries and can just be given directly to the history DB). | 633 // text search queries and can just be given directly to the history DB. |
630 // The FTS version queries the text_database, then merges with the history DB. | 634 // The *Text() version performs a brute force query of the history DB to |
| 635 // search for results which match the given text query. |
631 // Both functions assume QueryHistory already checked the DB for validity. | 636 // Both functions assume QueryHistory already checked the DB for validity. |
632 void QueryHistoryBasic(URLDatabase* url_db, VisitDatabase* visit_db, | 637 void QueryHistoryBasic(URLDatabase* url_db, VisitDatabase* visit_db, |
633 const QueryOptions& options, QueryResults* result); | 638 const QueryOptions& options, QueryResults* result); |
| 639 void QueryHistoryText(URLDatabase* url_db, |
| 640 VisitDatabase* visit_db, |
| 641 const string16& text_query, |
| 642 const QueryOptions& options, |
| 643 QueryResults* result); |
634 void QueryHistoryFTS(const string16& text_query, | 644 void QueryHistoryFTS(const string16& text_query, |
635 const QueryOptions& options, | 645 const QueryOptions& options, |
636 QueryResults* result); | 646 QueryResults* result); |
637 | 647 |
638 // Committing ---------------------------------------------------------------- | 648 // Committing ---------------------------------------------------------------- |
639 | 649 |
640 // We always keep a transaction open on the history database so that multiple | 650 // We always keep a transaction open on the history database so that multiple |
641 // transactions can be batched. Periodically, these are flushed (use | 651 // transactions can be batched. Periodically, these are flushed (use |
642 // ScheduleCommit). This function does the commit to write any new changes to | 652 // ScheduleCommit). This function does the commit to write any new changes to |
643 // disk and opens a new transaction. This will be called automatically by | 653 // disk and opens a new transaction. This will be called automatically by |
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
909 // Used to manage syncing of the typed urls datatype. This will be NULL | 919 // Used to manage syncing of the typed urls datatype. This will be NULL |
910 // before Init is called. | 920 // before Init is called. |
911 scoped_ptr<TypedUrlSyncableService> typed_url_syncable_service_; | 921 scoped_ptr<TypedUrlSyncableService> typed_url_syncable_service_; |
912 | 922 |
913 DISALLOW_COPY_AND_ASSIGN(HistoryBackend); | 923 DISALLOW_COPY_AND_ASSIGN(HistoryBackend); |
914 }; | 924 }; |
915 | 925 |
916 } // namespace history | 926 } // namespace history |
917 | 927 |
918 #endif // CHROME_BROWSER_HISTORY_HISTORY_BACKEND_H_ | 928 #endif // CHROME_BROWSER_HISTORY_HISTORY_BACKEND_H_ |
OLD | NEW |