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

Side by Side Diff: chrome/browser/sync/test/integration/p2p_sync_refresher.cc

Issue 772513004: Add new E2E sync multi profiles tests. This should not affect any existing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: implement OnSyncCycleCompleted send refresh notifications Created 6 years 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "chrome/browser/sync/test/integration/p2p_sync_refresher.h"
6
7 #include "chrome/browser/chrome_notification_types.h"
8 #include "chrome/browser/sync/profile_sync_service.h"
9 #include "chrome/browser/sync/test/integration/sync_datatype_helper.h"
10 #include "chrome/browser/sync/test/integration/sync_test.h"
11 #include "content/public/browser/notification_service.h"
12 #include "sync/internal_api/public/sessions/sync_session_snapshot.h"
13
14 P2PSyncRefresher::P2PSyncRefresher(ProfileSyncService* sync_service)
15 : sync_service_(sync_service){
16 sync_service_->AddObserver(this);
17 }
18
19 P2PSyncRefresher::~P2PSyncRefresher() {
20 sync_service_->RemoveObserver(this);
21 }
22
23 void P2PSyncRefresher::OnStateChanged() {}
24
25 void P2PSyncRefresher::OnSyncCycleCompleted() {
26 const syncer::sessions::SyncSessionSnapshot& snap =
27 sync_service_->GetLastSessionSnapshot();
28 bool is_notifiable_commit =
29 (snap.model_neutral_state().num_successful_commits > 0);
30 if (is_notifiable_commit) {
31 syncer::ModelTypeSet model_types =
32 snap.model_neutral_state().commit_request_types;
33 SyncTest* test = sync_datatype_helper::test();
34 for (int i = 0; i < test->num_clients(); ++i) {
35 if (sync_service_->profile() != test->GetProfile(i)) {
36 content::NotificationService::current()->Notify(
37 chrome::NOTIFICATION_SYNC_REFRESH_LOCAL,
38 content::Source<Profile>(test->GetProfile(i)),
39 content::Details<const syncer::ModelTypeSet>(&model_types));
40 }
41 }
42 }
43 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698