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

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

Issue 573553004: Eliminate NOTIFICATION_HISTORY_LOADED notification (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add ScopedObserver to InMemoryHistoryBackend,PrerenderLocalPredictor,ChromeTemplateURLServiceClient Created 6 years 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 <vector> 9 #include <vector>
10 10
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 class PageUsageRequest; 46 class PageUsageRequest;
47 class Profile; 47 class Profile;
48 struct ImportedFaviconUsage; 48 struct ImportedFaviconUsage;
49 class SkBitmap; 49 class SkBitmap;
50 50
51 namespace base { 51 namespace base {
52 class FilePath; 52 class FilePath;
53 class Thread; 53 class Thread;
54 } 54 }
55 55
56 namespace safe_browsing {
57 class LastDownloadFinder;
58 }
59
56 namespace visitedlink { 60 namespace visitedlink {
57 class VisitedLinkMaster; 61 class VisitedLinkMaster;
58 } 62 }
59 63
60 namespace history { 64 namespace history {
61 65
62 class HistoryBackend; 66 class HistoryBackend;
63 class HistoryClient; 67 class HistoryClient;
64 class HistoryDatabase; 68 class HistoryDatabase;
65 class HistoryDBTask; 69 class HistoryDBTask;
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 friend class FaviconService; 536 friend class FaviconService;
533 friend class history::HistoryBackend; 537 friend class history::HistoryBackend;
534 friend class history::HistoryQueryTest; 538 friend class history::HistoryQueryTest;
535 friend class HistoryOperation; 539 friend class HistoryOperation;
536 friend class HistoryQuickProviderTest; 540 friend class HistoryQuickProviderTest;
537 friend class history::HistoryTest; 541 friend class history::HistoryTest;
538 friend class HistoryURLProvider; 542 friend class HistoryURLProvider;
539 friend class HistoryURLProviderTest; 543 friend class HistoryURLProviderTest;
540 friend class history::InMemoryURLIndexTest; 544 friend class history::InMemoryURLIndexTest;
541 template<typename Info, typename Callback> friend class DownloadRequest; 545 template<typename Info, typename Callback> friend class DownloadRequest;
546 friend class safe_browsing::LastDownloadFinder;
542 friend class PageUsageRequest; 547 friend class PageUsageRequest;
543 friend class RedirectRequest; 548 friend class RedirectRequest;
549 friend class SyncBookmarkDataTypeControllerTest;
544 friend class TestingProfile; 550 friend class TestingProfile;
545 551
546 // Called on shutdown, this will tell the history backend to complete and 552 // Called on shutdown, this will tell the history backend to complete and
547 // will release pointers to it. No other functions should be called once 553 // will release pointers to it. No other functions should be called once
548 // cleanup has happened that may dispatch to the history thread (because it 554 // cleanup has happened that may dispatch to the history thread (because it
549 // will be NULL). 555 // will be NULL).
550 // 556 //
551 // In practice, this will be called by the service manager (BrowserProcess) 557 // In practice, this will be called by the service manager (BrowserProcess)
552 // when it is being destroyed. Because that reference is being destroyed, it 558 // when it is being destroyed. Because that reference is being destroyed, it
553 // should be impossible for anybody else to call the service, even if it is 559 // should be impossible for anybody else to call the service, even if it is
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
600 // |redirects| is an empty vector. 606 // |redirects| is an empty vector.
601 void NotifyURLVisited(ui::PageTransition transition, 607 void NotifyURLVisited(ui::PageTransition transition,
602 const history::URLRow& row, 608 const history::URLRow& row,
603 const history::RedirectList& redirects, 609 const history::RedirectList& redirects,
604 base::Time visit_time); 610 base::Time visit_time);
605 611
606 // Notify all HistoryServiceObservers registered that URLs have been added or 612 // Notify all HistoryServiceObservers registered that URLs have been added or
607 // modified. |changed_urls| contains the list of affects URLs. 613 // modified. |changed_urls| contains the list of affects URLs.
608 void NotifyURLsModified(const history::URLRows& changed_urls); 614 void NotifyURLsModified(const history::URLRows& changed_urls);
609 615
616 // Notify all HistoryServiceObservers registered that the
617 // HistoryService has finished loading.
618 void NotifyHistoryServiceLoaded();
619
620 // HistoryService is being deleted.
621 void NotifyHistoryServiceBeingDeleted();
622
610 // Favicon ------------------------------------------------------------------- 623 // Favicon -------------------------------------------------------------------
611 624
612 // These favicon methods are exposed to the FaviconService. Instead of calling 625 // These favicon methods are exposed to the FaviconService. Instead of calling
613 // these methods directly you should call the respective method on the 626 // these methods directly you should call the respective method on the
614 // FaviconService. 627 // FaviconService.
615 628
616 // Used by FaviconService to get the favicon bitmaps from the history backend 629 // Used by FaviconService to get the favicon bitmaps from the history backend
617 // whose edge sizes most closely match |desired_sizes| for |icon_types|. If 630 // whose edge sizes most closely match |desired_sizes| for |icon_types|. If
618 // |desired_sizes| has a '0' entry, the largest favicon bitmap for 631 // |desired_sizes| has a '0' entry, the largest favicon bitmap for
619 // |icon_types| is returned. The returned FaviconBitmapResults will have at 632 // |icon_types| is returned. The returned FaviconBitmapResults will have at
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
838 const ArgB& b, 851 const ArgB& b,
839 const ArgC& c, 852 const ArgC& c,
840 const ArgD& d, 853 const ArgD& d,
841 const ArgE& e) { 854 const ArgE& e) {
842 DCHECK(thread_) << "History service being called after cleanup"; 855 DCHECK(thread_) << "History service being called after cleanup";
843 DCHECK(thread_checker_.CalledOnValidThread()); 856 DCHECK(thread_checker_.CalledOnValidThread());
844 ScheduleTask(priority, base::Bind(func, history_backend_.get(), 857 ScheduleTask(priority, base::Bind(func, history_backend_.get(),
845 a, b, c, d, e)); 858 a, b, c, d, e));
846 } 859 }
847 860
861 // TODO(sdefresne): http://crbug.com/430070 remove this method.
862 Profile* profile() { return profile_; }
863
848 base::ThreadChecker thread_checker_; 864 base::ThreadChecker thread_checker_;
849 865
850 content::NotificationRegistrar registrar_; 866 content::NotificationRegistrar registrar_;
851 867
852 // The thread used by the history service to run complicated operations. 868 // The thread used by the history service to run complicated operations.
853 // |thread_| is NULL once |Cleanup| is NULL. 869 // |thread_| is NULL once |Cleanup| is NULL.
854 base::Thread* thread_; 870 base::Thread* thread_;
855 871
856 // This class has most of the implementation and runs on the 'thread_'. 872 // This class has most of the implementation and runs on the 'thread_'.
857 // You MUST communicate with this class ONLY through the thread_'s 873 // You MUST communicate with this class ONLY through the thread_'s
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
897 913
898 history::DeleteDirectiveHandler delete_directive_handler_; 914 history::DeleteDirectiveHandler delete_directive_handler_;
899 915
900 // All vended weak pointers are invalidated in Cleanup(). 916 // All vended weak pointers are invalidated in Cleanup().
901 base::WeakPtrFactory<HistoryService> weak_ptr_factory_; 917 base::WeakPtrFactory<HistoryService> weak_ptr_factory_;
902 918
903 DISALLOW_COPY_AND_ASSIGN(HistoryService); 919 DISALLOW_COPY_AND_ASSIGN(HistoryService);
904 }; 920 };
905 921
906 #endif // CHROME_BROWSER_HISTORY_HISTORY_SERVICE_H_ 922 #endif // CHROME_BROWSER_HISTORY_HISTORY_SERVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698