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

Side by Side Diff: components/sync_sessions/revisit/page_revisit_broadcaster.cc

Issue 2343463003: [Sync] Fix namespaces for the sync_sessions component. (Closed)
Patch Set: Fix gn. Created 4 years, 3 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 #include "components/sync_sessions/revisit/page_revisit_broadcaster.h" 5 #include "components/sync_sessions/revisit/page_revisit_broadcaster.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/macros.h" 11 #include "base/macros.h"
12 #include "base/memory/ptr_util.h" 12 #include "base/memory/ptr_util.h"
13 #include "base/metrics/field_trial.h" 13 #include "base/metrics/field_trial.h"
14 #include "components/bookmarks/browser/bookmark_model.h" 14 #include "components/bookmarks/browser/bookmark_model.h"
15 #include "components/history/core/browser/history_service.h" 15 #include "components/history/core/browser/history_service.h"
16 #include "components/sync_sessions/revisit/bookmarks_by_url_provider_impl.h" 16 #include "components/sync_sessions/revisit/bookmarks_by_url_provider_impl.h"
17 #include "components/sync_sessions/revisit/bookmarks_page_revisit_observer.h" 17 #include "components/sync_sessions/revisit/bookmarks_page_revisit_observer.h"
18 #include "components/sync_sessions/revisit/sessions_page_revisit_observer.h" 18 #include "components/sync_sessions/revisit/sessions_page_revisit_observer.h"
19 #include "components/sync_sessions/revisit/typed_url_page_revisit_observer.h" 19 #include "components/sync_sessions/revisit/typed_url_page_revisit_observer.h"
20 #include "components/sync_sessions/sessions_sync_manager.h" 20 #include "components/sync_sessions/sessions_sync_manager.h"
21 #include "components/sync_sessions/sync_sessions_client.h" 21 #include "components/sync_sessions/sync_sessions_client.h"
22 22
23 namespace browser_sync { 23 namespace sync_sessions {
24 24
25 namespace { 25 namespace {
26 26
27 // Simple implementation of ForeignSessionsProvider that delegates to 27 // Simple implementation of ForeignSessionsProvider that delegates to
28 // SessionsSyncManager. It holds onto a non-owning pointer, with the assumption 28 // SessionsSyncManager. It holds onto a non-owning pointer, with the assumption
29 // that this class is only used by classes owned by SessionsSyncManager itself. 29 // that this class is only used by classes owned by SessionsSyncManager itself.
30 class SessionsSyncManagerWrapper 30 class SessionsSyncManagerWrapper : public ForeignSessionsProvider {
31 : public sync_sessions::ForeignSessionsProvider {
32 public: 31 public:
33 explicit SessionsSyncManagerWrapper(SessionsSyncManager* manager) 32 explicit SessionsSyncManagerWrapper(SessionsSyncManager* manager)
34 : manager_(manager) {} 33 : manager_(manager) {}
35 ~SessionsSyncManagerWrapper() override{}; 34 ~SessionsSyncManagerWrapper() override{};
36 bool GetAllForeignSessions( 35 bool GetAllForeignSessions(
37 std::vector<const sync_driver::SyncedSession*>* sessions) override { 36 std::vector<const SyncedSession*>* sessions) override {
38 return manager_->GetAllForeignSessions(sessions); 37 return manager_->GetAllForeignSessions(sessions);
39 } 38 }
40 39
41 private: 40 private:
42 SessionsSyncManager* manager_; 41 SessionsSyncManager* manager_;
43 DISALLOW_COPY_AND_ASSIGN(SessionsSyncManagerWrapper); 42 DISALLOW_COPY_AND_ASSIGN(SessionsSyncManagerWrapper);
44 }; 43 };
45 44
46 } // namespace 45 } // namespace
47 46
48 PageRevisitBroadcaster::PageRevisitBroadcaster( 47 PageRevisitBroadcaster::PageRevisitBroadcaster(
49 SessionsSyncManager* manager, 48 SessionsSyncManager* manager,
50 sync_sessions::SyncSessionsClient* sessions_client) 49 SyncSessionsClient* sessions_client)
51 : sessions_client_(sessions_client) { 50 : sessions_client_(sessions_client) {
52 const std::string group_name = 51 const std::string group_name =
53 base::FieldTrialList::FindFullName("PageRevisitInstrumentation"); 52 base::FieldTrialList::FindFullName("PageRevisitInstrumentation");
54 bool shouldInstrument = group_name == "Enabled"; 53 bool shouldInstrument = group_name == "Enabled";
55 if (shouldInstrument) { 54 if (shouldInstrument) {
56 revisit_observers_.push_back(new sync_sessions::SessionsPageRevisitObserver( 55 revisit_observers_.push_back(new SessionsPageRevisitObserver(
57 base::MakeUnique<SessionsSyncManagerWrapper>(manager))); 56 base::MakeUnique<SessionsSyncManagerWrapper>(manager)));
58 57
59 history::HistoryService* history = sessions_client_->GetHistoryService(); 58 history::HistoryService* history = sessions_client_->GetHistoryService();
60 if (history) { 59 if (history) {
61 revisit_observers_.push_back( 60 revisit_observers_.push_back(new TypedUrlPageRevisitObserver(history));
62 new sync_sessions::TypedUrlPageRevisitObserver(history));
63 } 61 }
64 62
65 bookmarks::BookmarkModel* bookmarks = sessions_client_->GetBookmarkModel(); 63 bookmarks::BookmarkModel* bookmarks = sessions_client_->GetBookmarkModel();
66 if (bookmarks) { 64 if (bookmarks) {
67 revisit_observers_.push_back( 65 revisit_observers_.push_back(new BookmarksPageRevisitObserver(
68 new sync_sessions::BookmarksPageRevisitObserver( 66 base::MakeUnique<BookmarksByUrlProviderImpl>(bookmarks)));
69 base::MakeUnique<sync_sessions::BookmarksByUrlProviderImpl>(
70 bookmarks)));
71 } 67 }
72 } 68 }
73 } 69 }
74 70
75 PageRevisitBroadcaster::~PageRevisitBroadcaster() {} 71 PageRevisitBroadcaster::~PageRevisitBroadcaster() {}
76 72
77 void PageRevisitBroadcaster::OnPageVisit(const GURL& url, 73 void PageRevisitBroadcaster::OnPageVisit(const GURL& url,
78 const ui::PageTransition transition) { 74 const ui::PageTransition transition) {
79 if (sessions_client_->ShouldSyncURL(url)) { 75 if (sessions_client_->ShouldSyncURL(url)) {
80 sync_sessions::PageVisitObserver::TransitionType converted( 76 PageVisitObserver::TransitionType converted(
81 ConvertTransitionEnum(transition)); 77 ConvertTransitionEnum(transition));
82 for (auto* observer : revisit_observers_) { 78 for (auto* observer : revisit_observers_) {
83 observer->OnPageVisit(url, converted); 79 observer->OnPageVisit(url, converted);
84 } 80 }
85 } 81 }
86 } 82 }
87 83
88 // Static 84 // Static
89 sync_sessions::PageVisitObserver::TransitionType 85 PageVisitObserver::TransitionType PageRevisitBroadcaster::ConvertTransitionEnum(
90 PageRevisitBroadcaster::ConvertTransitionEnum(
91 const ui::PageTransition original) { 86 const ui::PageTransition original) {
92 switch (ui::PageTransitionStripQualifier(original)) { 87 switch (ui::PageTransitionStripQualifier(original)) {
93 case ui::PAGE_TRANSITION_LINK: 88 case ui::PAGE_TRANSITION_LINK:
94 if (original & ui::PAGE_TRANSITION_FROM_ADDRESS_BAR) { 89 if (original & ui::PAGE_TRANSITION_FROM_ADDRESS_BAR) {
95 return sync_sessions::PageVisitObserver::kTransitionCopyPaste; 90 return PageVisitObserver::kTransitionCopyPaste;
96 } else { 91 } else {
97 return sync_sessions::PageVisitObserver::kTransitionPage; 92 return PageVisitObserver::kTransitionPage;
98 } 93 }
99 case ui::PAGE_TRANSITION_TYPED: 94 case ui::PAGE_TRANSITION_TYPED:
100 return sync_sessions::PageVisitObserver::kTransitionOmniboxUrl; 95 return PageVisitObserver::kTransitionOmniboxUrl;
101 96
102 case ui::PAGE_TRANSITION_AUTO_BOOKMARK: 97 case ui::PAGE_TRANSITION_AUTO_BOOKMARK:
103 return sync_sessions::PageVisitObserver::kTransitionBookmark; 98 return PageVisitObserver::kTransitionBookmark;
104 99
105 case ui::PAGE_TRANSITION_AUTO_SUBFRAME: 100 case ui::PAGE_TRANSITION_AUTO_SUBFRAME:
106 case ui::PAGE_TRANSITION_MANUAL_SUBFRAME: 101 case ui::PAGE_TRANSITION_MANUAL_SUBFRAME:
107 // These are not expected, we only expect top-level frame transitions. 102 // These are not expected, we only expect top-level frame transitions.
108 return sync_sessions::PageVisitObserver::kTransitionUnknown; 103 return PageVisitObserver::kTransitionUnknown;
109 104
110 case ui::PAGE_TRANSITION_GENERATED: 105 case ui::PAGE_TRANSITION_GENERATED:
111 return sync_sessions::PageVisitObserver::kTransitionOmniboxDefaultSearch; 106 return PageVisitObserver::kTransitionOmniboxDefaultSearch;
112 107
113 case ui::PAGE_TRANSITION_AUTO_TOPLEVEL: 108 case ui::PAGE_TRANSITION_AUTO_TOPLEVEL:
114 if (original & ui::PAGE_TRANSITION_FORWARD_BACK) { 109 if (original & ui::PAGE_TRANSITION_FORWARD_BACK) {
115 return sync_sessions::PageVisitObserver::kTransitionForwardBackward; 110 return PageVisitObserver::kTransitionForwardBackward;
116 } else { 111 } else {
117 return sync_sessions::PageVisitObserver::kTransitionUnknown; 112 return PageVisitObserver::kTransitionUnknown;
118 } 113 }
119 114
120 case ui::PAGE_TRANSITION_FORM_SUBMIT: 115 case ui::PAGE_TRANSITION_FORM_SUBMIT:
121 return sync_sessions::PageVisitObserver::kTransitionPage; 116 return PageVisitObserver::kTransitionPage;
122 117
123 case ui::PAGE_TRANSITION_RELOAD: 118 case ui::PAGE_TRANSITION_RELOAD:
124 // Refreshing pages also carry PAGE_TRANSITION_RELOAD but the url never 119 // Refreshing pages also carry PAGE_TRANSITION_RELOAD but the url never
125 // changes so we don't expect to ever get them. 120 // changes so we don't expect to ever get them.
126 return sync_sessions::PageVisitObserver::kTransitionRestore; 121 return PageVisitObserver::kTransitionRestore;
127 122
128 case ui::PAGE_TRANSITION_KEYWORD: 123 case ui::PAGE_TRANSITION_KEYWORD:
129 case ui::PAGE_TRANSITION_KEYWORD_GENERATED: 124 case ui::PAGE_TRANSITION_KEYWORD_GENERATED:
130 return sync_sessions::PageVisitObserver::kTransitionOmniboxTemplateSearch; 125 return PageVisitObserver::kTransitionOmniboxTemplateSearch;
131 126
132 default: 127 default:
133 return sync_sessions::PageVisitObserver::kTransitionUnknown; 128 return PageVisitObserver::kTransitionUnknown;
134 } 129 }
135 } 130 }
136 131
137 } // namespace browser_sync 132 } // namespace sync_sessions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698