OLD | NEW |
---|---|
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 "chrome/browser/sync/sessions/sync_sessions_web_contents_router.h" | 5 #include "chrome/browser/sync/sessions/sync_sessions_web_contents_router.h" |
6 | 6 |
7 #include "chrome/browser/history/history_service_factory.h" | 7 #include "chrome/browser/history/history_service_factory.h" |
8 #include "chrome/browser/profiles/profile.h" | 8 #include "chrome/browser/profiles/profile.h" |
9 #if !defined(OS_ANDROID) | 9 #if !defined(OS_ANDROID) |
10 #include "chrome/browser/sync/sessions/browser_list_router_helper.h" | 10 #include "chrome/browser/sync/sessions/browser_list_router_helper.h" |
11 #else | 11 #else |
12 #include "chrome/browser/android/tab_android.h" | 12 #include "chrome/browser/android/tab_android.h" |
13 #endif // !defined(OS_ANDROID) | 13 #endif // !defined(OS_ANDROID) |
14 #include "chrome/browser/ui/sync/tab_contents_synced_tab_delegate.h" | 14 #include "chrome/browser/ui/sync/tab_contents_synced_tab_delegate.h" |
15 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 15 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
16 #include "components/history/core/browser/history_service.h" | 16 #include "components/history/core/browser/history_service.h" |
17 #include "components/sync_sessions/sync_sessions_client.h" | |
17 #include "components/sync_sessions/synced_tab_delegate.h" | 18 #include "components/sync_sessions/synced_tab_delegate.h" |
18 | 19 |
19 namespace sync_sessions { | 20 namespace sync_sessions { |
20 | 21 |
21 namespace { | 22 namespace { |
22 | 23 |
23 SyncedTabDelegate* GetSyncedTabDelegateFromWebContents( | 24 SyncedTabDelegate* GetSyncedTabDelegateFromWebContents( |
24 content::WebContents* web_contents) { | 25 content::WebContents* web_contents) { |
25 #if defined(OS_ANDROID) | 26 #if defined(OS_ANDROID) |
26 TabAndroid* tab = TabAndroid::FromWebContents(web_contents); | 27 TabAndroid* tab = TabAndroid::FromWebContents(web_contents); |
(...skipping 22 matching lines...) Expand all Loading... | |
49 #endif // !defined(OS_ANDROID) | 50 #endif // !defined(OS_ANDROID) |
50 } | 51 } |
51 | 52 |
52 SyncSessionsWebContentsRouter::~SyncSessionsWebContentsRouter() {} | 53 SyncSessionsWebContentsRouter::~SyncSessionsWebContentsRouter() {} |
53 | 54 |
54 void SyncSessionsWebContentsRouter::NotifyTabModified( | 55 void SyncSessionsWebContentsRouter::NotifyTabModified( |
55 content::WebContents* web_contents) { | 56 content::WebContents* web_contents) { |
56 if (handler_ && web_contents) { | 57 if (handler_ && web_contents) { |
57 SyncedTabDelegate* delegate = | 58 SyncedTabDelegate* delegate = |
58 GetSyncedTabDelegateFromWebContents(web_contents); | 59 GetSyncedTabDelegateFromWebContents(web_contents); |
59 if (delegate) | 60 if (delegate) { |
60 handler_->OnLocalTabModified(delegate); | 61 handler_->OnLocalTabModified(delegate); |
61 } | 62 if (sessions_client_ && !delegate->ShouldSync(sessions_client_)) |
63 return; | |
skym
2017/04/18 15:50:51
This early return feels really oddly structured.
Patrick Noland
2017/04/18 22:37:41
Done.
| |
64 } | |
62 | 65 |
63 if (!flare_.is_null()) { | 66 if (!flare_.is_null()) { |
skym
2017/04/18 15:50:51
This looks broken to me. My understanding is that
Patrick Noland
2017/04/18 22:37:41
Done.
| |
64 flare_.Run(syncer::SESSIONS); | 67 flare_.Run(syncer::SESSIONS); |
65 flare_.Reset(); | 68 flare_.Reset(); |
69 } | |
66 } | 70 } |
67 } | 71 } |
68 | 72 |
69 void SyncSessionsWebContentsRouter::InjectStartSyncFlare( | 73 void SyncSessionsWebContentsRouter::InjectStartSyncFlare( |
70 syncer::SyncableService::StartSyncFlare flare) { | 74 syncer::SyncableService::StartSyncFlare flare) { |
71 flare_ = flare; | 75 flare_ = flare; |
72 } | 76 } |
73 | 77 |
74 void SyncSessionsWebContentsRouter::StartRoutingTo( | 78 void SyncSessionsWebContentsRouter::StartRoutingTo( |
75 LocalSessionEventHandler* handler) { | 79 LocalSessionEventHandler* handler) { |
(...skipping 13 matching lines...) Expand all Loading... | |
89 | 93 |
90 void SyncSessionsWebContentsRouter::Shutdown() { | 94 void SyncSessionsWebContentsRouter::Shutdown() { |
91 favicon_changed_subscription_.reset(); | 95 favicon_changed_subscription_.reset(); |
92 | 96 |
93 #if !defined(OS_ANDROID) | 97 #if !defined(OS_ANDROID) |
94 browser_list_helper_.reset(); | 98 browser_list_helper_.reset(); |
95 #endif // !defined(OS_ANDROID) | 99 #endif // !defined(OS_ANDROID) |
96 } | 100 } |
97 | 101 |
98 } // namespace sync_sessions | 102 } // namespace sync_sessions |
OLD | NEW |