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..fe19793b27b88c662b83f5dedadec37b0795edef 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 { |
@@ -52,15 +53,17 @@ SyncSessionsWebContentsRouter::SyncSessionsWebContentsRouter(Profile* profile) { |
SyncSessionsWebContentsRouter::~SyncSessionsWebContentsRouter() {} |
void SyncSessionsWebContentsRouter::NotifyTabModified( |
- content::WebContents* web_contents) { |
- if (handler_ && web_contents) { |
- SyncedTabDelegate* delegate = |
- GetSyncedTabDelegateFromWebContents(web_contents); |
- if (delegate) |
- handler_->OnLocalTabModified(delegate); |
+ content::WebContents* web_contents, |
+ bool page_load_completed) { |
+ SyncedTabDelegate* delegate = nullptr; |
+ if (web_contents) |
+ delegate = GetSyncedTabDelegateFromWebContents(web_contents); |
+ |
+ if (handler_ && delegate) { |
+ handler_->OnLocalTabModified(delegate); |
} |
- if (!flare_.is_null()) { |
+ if (!flare_.is_null() && delegate && page_load_completed) { |
flare_.Run(syncer::SESSIONS); |
flare_.Reset(); |
} |