Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(404)

Side by Side Diff: chrome/browser/history/history_service.h

Issue 971423002: Abstract code filtering URLs added to the history (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@keyed-service
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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_SERVICE_H_ 5 #ifndef CHROME_BROWSER_HISTORY_HISTORY_SERVICE_H_
6 #define CHROME_BROWSER_HISTORY_HISTORY_SERVICE_H_ 6 #define CHROME_BROWSER_HISTORY_HISTORY_SERVICE_H_
7 7
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 463 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 int visit_count, 474 int visit_count,
475 int typed_count, 475 int typed_count,
476 base::Time last_visit, 476 base::Time last_visit,
477 bool hidden, 477 bool hidden,
478 history::VisitSource visit_source); 478 history::VisitSource visit_source);
479 479
480 // The same as AddPageWithDetails() but takes a vector. 480 // The same as AddPageWithDetails() but takes a vector.
481 void AddPagesWithDetails(const history::URLRows& info, 481 void AddPagesWithDetails(const history::URLRows& info,
482 history::VisitSource visit_source); 482 history::VisitSource visit_source);
483 483
484 // Returns true if this looks like the type of URL we want to add to the
485 // history. We filter out some URLs such as JavaScript.
486 static bool CanAddURL(const GURL& url);
487
488 base::WeakPtr<HistoryService> AsWeakPtr(); 484 base::WeakPtr<HistoryService> AsWeakPtr();
489 485
490 // syncer::SyncableService implementation. 486 // syncer::SyncableService implementation.
491 syncer::SyncMergeResult MergeDataAndStartSyncing( 487 syncer::SyncMergeResult MergeDataAndStartSyncing(
492 syncer::ModelType type, 488 syncer::ModelType type,
493 const syncer::SyncDataList& initial_sync_data, 489 const syncer::SyncDataList& initial_sync_data,
494 scoped_ptr<syncer::SyncChangeProcessor> sync_processor, 490 scoped_ptr<syncer::SyncChangeProcessor> sync_processor,
495 scoped_ptr<syncer::SyncErrorFactory> error_handler) override; 491 scoped_ptr<syncer::SyncErrorFactory> error_handler) override;
496 void StopSyncing(syncer::ModelType type) override; 492 void StopSyncing(syncer::ModelType type) override;
497 syncer::SyncDataList GetAllSyncData(syncer::ModelType type) const override; 493 syncer::SyncDataList GetAllSyncData(syncer::ModelType type) const override;
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
765 // Call to schedule a given task for running on the history thread with the 761 // Call to schedule a given task for running on the history thread with the
766 // specified priority. The task will have ownership taken. 762 // specified priority. The task will have ownership taken.
767 void ScheduleTask(SchedulePriority priority, const base::Closure& task); 763 void ScheduleTask(SchedulePriority priority, const base::Closure& task);
768 764
769 // Invokes all callback registered by AddFaviconChangedCallback. 765 // Invokes all callback registered by AddFaviconChangedCallback.
770 void NotifyFaviconChanged(const std::set<GURL>& changed_favicons); 766 void NotifyFaviconChanged(const std::set<GURL>& changed_favicons);
771 767
772 base::ThreadChecker thread_checker_; 768 base::ThreadChecker thread_checker_;
773 769
774 // The thread used by the history service to run complicated operations. 770 // The thread used by the history service to run complicated operations.
775 // |thread_| is NULL once |Cleanup| is NULL. 771 // |thread_| is null once Cleanup() is called.
776 base::Thread* thread_; 772 base::Thread* thread_;
777 773
778 // This class has most of the implementation and runs on the 'thread_'. 774 // This class has most of the implementation and runs on the 'thread_'.
779 // You MUST communicate with this class ONLY through the thread_'s 775 // You MUST communicate with this class ONLY through the thread_'s
780 // message_loop(). 776 // message_loop().
781 // 777 //
782 // This pointer will be NULL once Cleanup() has been called, meaning no 778 // This pointer will be null once Cleanup() has been called, meaning no
783 // more calls should be made to the history thread. 779 // more calls should be made to the history thread.
784 scoped_refptr<history::HistoryBackend> history_backend_; 780 scoped_refptr<history::HistoryBackend> history_backend_;
785 781
786 // A cache of the user-typed URLs kept in memory that is used by the 782 // A cache of the user-typed URLs kept in memory that is used by the
787 // autocomplete system. This will be NULL until the database has been created 783 // autocomplete system. This will be null until the database has been created
788 // on the background thread. 784 // on the background thread.
789 // TODO(mrossetti): Consider changing ownership. See http://crbug.com/138321 785 // TODO(mrossetti): Consider changing ownership. See http://crbug.com/138321
790 scoped_ptr<history::InMemoryHistoryBackend> in_memory_backend_; 786 scoped_ptr<history::InMemoryHistoryBackend> in_memory_backend_;
791 787
792 // The history service will inform its VisitDelegate of URLs recorded and 788 // The history service will inform its VisitDelegate of URLs recorded and
793 // removed from the history database. This may be null during testing. 789 // removed from the history database. This may be null during testing.
794 scoped_ptr<history::VisitDelegate> visit_delegate_; 790 scoped_ptr<history::VisitDelegate> visit_delegate_;
795 791
796 // The history client, may be null when testing. The object should otherwise 792 // The history client, may be null when testing. The object should otherwise
797 // outlive |HistoryService|. 793 // outlive |HistoryService|.
798 history::HistoryClient* history_client_; 794 history::HistoryClient* history_client_;
799 795
800 // Has the backend finished loading? The backend is loaded once Init has 796 // Has the backend finished loading? The backend is loaded once Init has
801 // completed. 797 // completed.
802 bool backend_loaded_; 798 bool backend_loaded_;
803 799
804 ObserverList<history::HistoryServiceObserver> observers_; 800 ObserverList<history::HistoryServiceObserver> observers_;
805 base::CallbackList<void(const std::set<GURL>&)> 801 base::CallbackList<void(const std::set<GURL>&)>
806 favicon_changed_callback_list_; 802 favicon_changed_callback_list_;
807 803
808 history::DeleteDirectiveHandler delete_directive_handler_; 804 history::DeleteDirectiveHandler delete_directive_handler_;
809 805
810 // All vended weak pointers are invalidated in Cleanup(). 806 // All vended weak pointers are invalidated in Cleanup().
811 base::WeakPtrFactory<HistoryService> weak_ptr_factory_; 807 base::WeakPtrFactory<HistoryService> weak_ptr_factory_;
812 808
813 DISALLOW_COPY_AND_ASSIGN(HistoryService); 809 DISALLOW_COPY_AND_ASSIGN(HistoryService);
814 }; 810 };
815 811
816 #endif // CHROME_BROWSER_HISTORY_HISTORY_SERVICE_H_ 812 #endif // CHROME_BROWSER_HISTORY_HISTORY_SERVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698