Index: chrome/browser/sync/sessions/sync_sessions_web_contents_router.cc |
diff --git a/chrome/browser/sync/sessions/sync_sessions_web_contents_router.cc b/chrome/browser/sync/sessions/sync_sessions_web_contents_router.cc |
index cc5ecea9384ddd638c5c96be25352ec1b5bd32e4..e682c0493d7f48ef8605057e76c78bd6185a049d 100644 |
--- a/chrome/browser/sync/sessions/sync_sessions_web_contents_router.cc |
+++ b/chrome/browser/sync/sessions/sync_sessions_web_contents_router.cc |
@@ -14,6 +14,7 @@ |
#include "chrome/browser/ui/sync/tab_contents_synced_tab_delegate.h" |
#include "chrome/browser/ui/tabs/tab_strip_model.h" |
#include "components/history/core/browser/history_service.h" |
+#include "components/sync_sessions/sync_sessions_client.h" |
#include "components/sync_sessions/synced_tab_delegate.h" |
namespace sync_sessions { |
@@ -56,13 +57,16 @@ void SyncSessionsWebContentsRouter::NotifyTabModified( |
if (handler_ && web_contents) { |
SyncedTabDelegate* delegate = |
GetSyncedTabDelegateFromWebContents(web_contents); |
- if (delegate) |
+ if (delegate) { |
handler_->OnLocalTabModified(delegate); |
- } |
- |
- if (!flare_.is_null()) { |
- flare_.Run(syncer::SESSIONS); |
- flare_.Reset(); |
+ if (sessions_client_ && !delegate->ShouldSync(sessions_client_)) |
+ return; |
skym
2017/04/18 15:50:51
This early return feels really oddly structured.
Patrick Noland
2017/04/18 22:37:41
Done.
|
+ } |
+ |
+ 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.
|
+ flare_.Run(syncer::SESSIONS); |
+ flare_.Reset(); |
+ } |
} |
} |