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

Side by Side Diff: chrome/browser/invalidation/invalidation_service_android.cc

Issue 23754021: Invalidation trickles mega-patch (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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/invalidation/invalidation_service_android.h" 5 #include "chrome/browser/invalidation/invalidation_service_android.h"
6 6
7 #include "chrome/browser/chrome_notification_types.h" 7 #include "chrome/browser/chrome_notification_types.h"
8 #include "chrome/browser/invalidation/invalidation_controller_android.h" 8 #include "chrome/browser/invalidation/invalidation_controller_android.h"
9 #include "content/public/browser/notification_service.h" 9 #include "content/public/browser/notification_service.h"
10 #include "sync/notifier/object_id_invalidation_map.h"
10 11
11 namespace invalidation { 12 namespace invalidation {
12 13
13 InvalidationServiceAndroid::InvalidationServiceAndroid( 14 InvalidationServiceAndroid::InvalidationServiceAndroid(
14 Profile* profile, 15 Profile* profile,
15 InvalidationControllerAndroid* invalidation_controller) 16 InvalidationControllerAndroid* invalidation_controller)
16 : invalidator_state_(syncer::INVALIDATIONS_ENABLED), 17 : invalidator_state_(syncer::INVALIDATIONS_ENABLED),
17 invalidation_controller_(invalidation_controller) { 18 invalidation_controller_(invalidation_controller) {
18 DCHECK(CalledOnValidThread()); 19 DCHECK(CalledOnValidThread());
19 DCHECK(invalidation_controller); 20 DCHECK(invalidation_controller);
(...skipping 17 matching lines...) Expand all
37 invalidation_controller_->SetRegisteredObjectIds( 38 invalidation_controller_->SetRegisteredObjectIds(
38 invalidator_registrar_.GetAllRegisteredIds()); 39 invalidator_registrar_.GetAllRegisteredIds());
39 } 40 }
40 41
41 void InvalidationServiceAndroid::UnregisterInvalidationHandler( 42 void InvalidationServiceAndroid::UnregisterInvalidationHandler(
42 syncer::InvalidationHandler* handler) { 43 syncer::InvalidationHandler* handler) {
43 DCHECK(CalledOnValidThread()); 44 DCHECK(CalledOnValidThread());
44 invalidator_registrar_.UnregisterHandler(handler); 45 invalidator_registrar_.UnregisterHandler(handler);
45 } 46 }
46 47
47 void InvalidationServiceAndroid::AcknowledgeInvalidation(
48 const invalidation::ObjectId& id,
49 const syncer::AckHandle& ack_handle) {
50 DCHECK(CalledOnValidThread());
51 // Do nothing. The Android invalidator does not support ack tracking.
52 }
53
54 syncer::InvalidatorState 48 syncer::InvalidatorState
55 InvalidationServiceAndroid::GetInvalidatorState() const { 49 InvalidationServiceAndroid::GetInvalidatorState() const {
56 DCHECK(CalledOnValidThread()); 50 DCHECK(CalledOnValidThread());
57 return invalidator_state_; 51 return invalidator_state_;
58 } 52 }
59 53
60 std::string InvalidationServiceAndroid::GetInvalidatorClientId() const { 54 std::string InvalidationServiceAndroid::GetInvalidatorClientId() const {
61 DCHECK(CalledOnValidThread()); 55 DCHECK(CalledOnValidThread());
62 // TODO: Return a valid ID here. See crbug.com/172391. 56 // TODO: Return a valid ID here. See crbug.com/172391.
63 return "Bogus"; 57 return "Bogus";
64 } 58 }
65 59
66 void InvalidationServiceAndroid::Observe( 60 void InvalidationServiceAndroid::Observe(
67 int type, 61 int type,
68 const content::NotificationSource& source, 62 const content::NotificationSource& source,
69 const content::NotificationDetails& details) { 63 const content::NotificationDetails& details) {
70 DCHECK(CalledOnValidThread()); 64 DCHECK(CalledOnValidThread());
71 DCHECK_EQ(type, chrome::NOTIFICATION_SYNC_REFRESH_REMOTE); 65 DCHECK_EQ(type, chrome::NOTIFICATION_SYNC_REFRESH_REMOTE);
72 66
73 content::Details<const syncer::ObjectIdInvalidationMap> 67 content::Details<const syncer::ObjectIdInvalidationMap>
74 state_details(details); 68 state_details(details);
75 const syncer::ObjectIdInvalidationMap object_invalidation_map = 69 const syncer::ObjectIdInvalidationMap object_invalidation_map =
76 *(state_details.ptr()); 70 *(state_details.ptr());
77 71
78 // An empty map implies that we should invalidate all. 72 // An empty map implies that we should invalidate all.
79 const syncer::ObjectIdInvalidationMap& effective_invalidation_map = 73 const syncer::ObjectIdInvalidationMap& effective_invalidation_map =
80 object_invalidation_map.empty() ? 74 object_invalidation_map.Empty() ?
81 ObjectIdSetToInvalidationMap( 75 syncer::ObjectIdInvalidationMap::InvalidateAll(
82 invalidator_registrar_.GetAllRegisteredIds(), 76 invalidator_registrar_.GetAllRegisteredIds()) :
83 syncer::Invalidation::kUnknownVersion,
84 std::string()) :
85 object_invalidation_map; 77 object_invalidation_map;
86 78
87 invalidator_registrar_.DispatchInvalidationsToHandlers( 79 invalidator_registrar_.DispatchInvalidationsToHandlers(
88 effective_invalidation_map); 80 effective_invalidation_map);
89 } 81 }
90 82
91 void InvalidationServiceAndroid::TriggerStateChangeForTest( 83 void InvalidationServiceAndroid::TriggerStateChangeForTest(
92 syncer::InvalidatorState state) { 84 syncer::InvalidatorState state) {
93 DCHECK(CalledOnValidThread()); 85 DCHECK(CalledOnValidThread());
94 invalidator_state_ = state; 86 invalidator_state_ = state;
95 invalidator_registrar_.UpdateInvalidatorState(invalidator_state_); 87 invalidator_registrar_.UpdateInvalidatorState(invalidator_state_);
96 } 88 }
97 89
98 } // namespace invalidation 90 } // namespace invalidation
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698