| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/sessions2/sessions_sync_manager.h" | 5 #include "chrome/browser/sync/sessions2/sessions_sync_manager.h" |
| 6 | 6 |
| 7 #include "chrome/browser/chrome_notification_types.h" | 7 #include "chrome/browser/chrome_notification_types.h" |
| 8 #if !defined(OS_ANDROID) | 8 #if !defined(OS_ANDROID) |
| 9 #include "chrome/browser/network_time/navigation_time_helper.h" | 9 #include "chrome/browser/network_time/navigation_time_helper.h" |
| 10 #endif | 10 #endif |
| (...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 481 case syncer::SyncChange::ACTION_ADD: | 481 case syncer::SyncChange::ACTION_ADD: |
| 482 case syncer::SyncChange::ACTION_UPDATE: | 482 case syncer::SyncChange::ACTION_UPDATE: |
| 483 if (current_machine_tag() == session.session_tag()) { | 483 if (current_machine_tag() == session.session_tag()) { |
| 484 // We should only ever receive a change to our own machine's session | 484 // We should only ever receive a change to our own machine's session |
| 485 // info if encryption was turned on. In that case, the data is still | 485 // info if encryption was turned on. In that case, the data is still |
| 486 // the same, so we can ignore. | 486 // the same, so we can ignore. |
| 487 LOG(WARNING) << "Dropping modification to local session."; | 487 LOG(WARNING) << "Dropping modification to local session."; |
| 488 return syncer::SyncError(); | 488 return syncer::SyncError(); |
| 489 } | 489 } |
| 490 UpdateTrackerWithForeignSession( | 490 UpdateTrackerWithForeignSession( |
| 491 session, it->sync_data().GetRemoteModifiedTime()); | 491 session, it->sync_data().remote().GetRemoteModifiedTime()); |
| 492 break; | 492 break; |
| 493 default: | 493 default: |
| 494 NOTREACHED() << "Processing sync changes failed, unknown change type."; | 494 NOTREACHED() << "Processing sync changes failed, unknown change type."; |
| 495 } | 495 } |
| 496 } | 496 } |
| 497 | 497 |
| 498 content::NotificationService::current()->Notify( | 498 content::NotificationService::current()->Notify( |
| 499 chrome::NOTIFICATION_FOREIGN_SESSION_UPDATED, | 499 chrome::NOTIFICATION_FOREIGN_SESSION_UPDATED, |
| 500 content::Source<Profile>(profile_), | 500 content::Source<Profile>(profile_), |
| 501 content::NotificationService::NoDetails()); | 501 content::NotificationService::NoDetails()); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 534 const syncer::SyncData& data = *it; | 534 const syncer::SyncData& data = *it; |
| 535 DCHECK(data.GetSpecifics().has_session()); | 535 DCHECK(data.GetSpecifics().has_session()); |
| 536 const sync_pb::SessionSpecifics& specifics = data.GetSpecifics().session(); | 536 const sync_pb::SessionSpecifics& specifics = data.GetSpecifics().session(); |
| 537 if (specifics.session_tag().empty() || | 537 if (specifics.session_tag().empty() || |
| 538 (specifics.has_tab() && (!specifics.has_tab_node_id() || | 538 (specifics.has_tab() && (!specifics.has_tab_node_id() || |
| 539 !specifics.tab().has_tab_id()))) { | 539 !specifics.tab().has_tab_id()))) { |
| 540 syncer::SyncChange tombstone(TombstoneTab(specifics)); | 540 syncer::SyncChange tombstone(TombstoneTab(specifics)); |
| 541 if (tombstone.IsValid()) | 541 if (tombstone.IsValid()) |
| 542 new_changes->push_back(tombstone); | 542 new_changes->push_back(tombstone); |
| 543 } else if (specifics.session_tag() != current_machine_tag()) { | 543 } else if (specifics.session_tag() != current_machine_tag()) { |
| 544 UpdateTrackerWithForeignSession(specifics, data.GetRemoteModifiedTime()); | 544 UpdateTrackerWithForeignSession(specifics, |
| 545 data.remote().GetRemoteModifiedTime()); |
| 545 } else { | 546 } else { |
| 546 // This is previously stored local session information. | 547 // This is previously stored local session information. |
| 547 if (specifics.has_header() && !found_current_header) { | 548 if (specifics.has_header() && !found_current_header) { |
| 548 // This is our previous header node, reuse it. | 549 // This is our previous header node, reuse it. |
| 549 found_current_header = true; | 550 found_current_header = true; |
| 550 if (specifics.header().has_client_name()) | 551 if (specifics.header().has_client_name()) |
| 551 current_session_name_ = specifics.header().client_name(); | 552 current_session_name_ = specifics.header().client_name(); |
| 552 } else { | 553 } else { |
| 553 if (specifics.has_header() || !specifics.has_tab()) { | 554 if (specifics.has_header() || !specifics.has_tab()) { |
| 554 LOG(WARNING) << "Found more than one session header node with local " | 555 LOG(WARNING) << "Found more than one session header node with local " |
| (...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 994 << " with age " << session_age_in_days << ", deleting."; | 995 << " with age " << session_age_in_days << ", deleting."; |
| 995 DeleteForeignSessionInternal(session_tag, &changes); | 996 DeleteForeignSessionInternal(session_tag, &changes); |
| 996 } | 997 } |
| 997 } | 998 } |
| 998 | 999 |
| 999 if (!changes.empty()) | 1000 if (!changes.empty()) |
| 1000 sync_processor_->ProcessSyncChanges(FROM_HERE, changes); | 1001 sync_processor_->ProcessSyncChanges(FROM_HERE, changes); |
| 1001 } | 1002 } |
| 1002 | 1003 |
| 1003 }; // namespace browser_sync | 1004 }; // namespace browser_sync |
| OLD | NEW |