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

Side by Side Diff: chrome/browser/sync/sessions/sessions_sync_manager.cc

Issue 1133463005: Update all bookmarks which use an icon URL when a favicon's bitmap is updated (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@startup_do_not_unexpire
Patch Set: Created 5 years, 5 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/sessions_sync_manager.h" 5 #include "chrome/browser/sync/sessions/sessions_sync_manager.h"
6 6
7 #include "base/metrics/field_trial.h" 7 #include "base/metrics/field_trial.h"
8 #include "chrome/browser/chrome_notification_types.h" 8 #include "chrome/browser/chrome_notification_types.h"
9 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/sync/glue/synced_tab_delegate.h" 10 #include "chrome/browser/sync/glue/synced_tab_delegate.h"
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 syncer::SyncChangeList changes; 389 syncer::SyncChangeList changes;
390 // Associate tabs first so the synced session tracker is aware of them. 390 // Associate tabs first so the synced session tracker is aware of them.
391 AssociateTab(modified_tab, &changes); 391 AssociateTab(modified_tab, &changes);
392 // Note, we always associate windows because it's possible a tab became 392 // Note, we always associate windows because it's possible a tab became
393 // "interesting" by going to a valid URL, in which case it needs to be added 393 // "interesting" by going to a valid URL, in which case it needs to be added
394 // to the window's tab information. 394 // to the window's tab information.
395 AssociateWindows(DONT_RELOAD_TABS, syncer::SyncDataList(), &changes); 395 AssociateWindows(DONT_RELOAD_TABS, syncer::SyncDataList(), &changes);
396 sync_processor_->ProcessSyncChanges(FROM_HERE, changes); 396 sync_processor_->ProcessSyncChanges(FROM_HERE, changes);
397 } 397 }
398 398
399 void SessionsSyncManager::OnFaviconPageUrlsUpdated( 399 void SessionsSyncManager::OnFaviconsChanged(
400 const std::set<GURL>& updated_favicon_page_urls) { 400 const std::set<GURL>& page_urls,
401 const GURL& /* icon_url */) {
401 // TODO(zea): consider a separate container for tabs with outstanding favicon 402 // TODO(zea): consider a separate container for tabs with outstanding favicon
402 // loads so we don't have to iterate through all tabs comparing urls. 403 // loads so we don't have to iterate through all tabs comparing urls.
403 for (std::set<GURL>::const_iterator i = updated_favicon_page_urls.begin(); 404 for (const GURL& page_url : page_urls) {
404 i != updated_favicon_page_urls.end(); ++i) {
405 for (TabLinksMap::iterator tab_iter = local_tab_map_.begin(); 405 for (TabLinksMap::iterator tab_iter = local_tab_map_.begin();
406 tab_iter != local_tab_map_.end(); 406 tab_iter != local_tab_map_.end();
407 ++tab_iter) { 407 ++tab_iter) {
408 if (tab_iter->second->url() == *i) 408 if (tab_iter->second->url() == page_url)
409 favicon_cache_.OnPageFaviconUpdated(*i); 409 favicon_cache_.OnPageFaviconUpdated(page_url);
410 } 410 }
411 } 411 }
412 } 412 }
413 413
414 void SessionsSyncManager::StopSyncing(syncer::ModelType type) { 414 void SessionsSyncManager::StopSyncing(syncer::ModelType type) {
415 local_event_router_->Stop(); 415 local_event_router_->Stop();
416 sync_processor_.reset(NULL); 416 sync_processor_.reset(NULL);
417 error_handler_.reset(); 417 error_handler_.reset();
418 session_tracker_.Clear(); 418 session_tracker_.Clear();
419 local_tab_map_.clear(); 419 local_tab_map_.clear();
(...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after
1064 << " with age " << session_age_in_days << ", deleting."; 1064 << " with age " << session_age_in_days << ", deleting.";
1065 DeleteForeignSessionInternal(session_tag, &changes); 1065 DeleteForeignSessionInternal(session_tag, &changes);
1066 } 1066 }
1067 } 1067 }
1068 1068
1069 if (!changes.empty()) 1069 if (!changes.empty())
1070 sync_processor_->ProcessSyncChanges(FROM_HERE, changes); 1070 sync_processor_->ProcessSyncChanges(FROM_HERE, changes);
1071 } 1071 }
1072 1072
1073 }; // namespace browser_sync 1073 }; // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698