OLD | NEW |
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/push_messaging/push_messaging_service_impl.h" | 5 #include "chrome/browser/push_messaging/push_messaging_service_impl.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/barrier_closure.h" | 9 #include "base/barrier_closure.h" |
10 #include "base/base64url.h" | 10 #include "base/base64url.h" |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 : profile_(profile), | 156 : profile_(profile), |
157 push_subscription_count_(0), | 157 push_subscription_count_(0), |
158 pending_push_subscription_count_(0), | 158 pending_push_subscription_count_(0), |
159 notification_manager_(profile), | 159 notification_manager_(profile), |
160 push_messaging_service_observer_(PushMessagingServiceObserver::Create()), | 160 push_messaging_service_observer_(PushMessagingServiceObserver::Create()), |
161 weak_factory_(this) { | 161 weak_factory_(this) { |
162 DCHECK(profile); | 162 DCHECK(profile); |
163 HostContentSettingsMapFactory::GetForProfile(profile_)->AddObserver(this); | 163 HostContentSettingsMapFactory::GetForProfile(profile_)->AddObserver(this); |
164 } | 164 } |
165 | 165 |
166 PushMessagingServiceImpl::~PushMessagingServiceImpl() { | 166 PushMessagingServiceImpl::~PushMessagingServiceImpl() = default; |
167 HostContentSettingsMapFactory::GetForProfile(profile_)->RemoveObserver(this); | |
168 } | |
169 | 167 |
170 void PushMessagingServiceImpl::IncreasePushSubscriptionCount(int add, | 168 void PushMessagingServiceImpl::IncreasePushSubscriptionCount(int add, |
171 bool is_pending) { | 169 bool is_pending) { |
172 DCHECK(add > 0); | 170 DCHECK(add > 0); |
173 if (push_subscription_count_ + pending_push_subscription_count_ == 0) { | 171 if (push_subscription_count_ + pending_push_subscription_count_ == 0) { |
174 GetGCMDriver()->AddAppHandler(kPushMessagingAppIdentifierPrefix, this); | 172 GetGCMDriver()->AddAppHandler(kPushMessagingAppIdentifierPrefix, this); |
175 } | 173 } |
176 if (is_pending) { | 174 if (is_pending) { |
177 pending_push_subscription_count_ += add; | 175 pending_push_subscription_count_ += add; |
178 } else { | 176 } else { |
(...skipping 740 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
919 | 917 |
920 void PushMessagingServiceImpl::SetContentSettingChangedCallbackForTesting( | 918 void PushMessagingServiceImpl::SetContentSettingChangedCallbackForTesting( |
921 const base::Closure& callback) { | 919 const base::Closure& callback) { |
922 content_setting_changed_callback_for_testing_ = callback; | 920 content_setting_changed_callback_for_testing_ = callback; |
923 } | 921 } |
924 | 922 |
925 // KeyedService methods ------------------------------------------------------- | 923 // KeyedService methods ------------------------------------------------------- |
926 | 924 |
927 void PushMessagingServiceImpl::Shutdown() { | 925 void PushMessagingServiceImpl::Shutdown() { |
928 GetGCMDriver()->RemoveAppHandler(kPushMessagingAppIdentifierPrefix); | 926 GetGCMDriver()->RemoveAppHandler(kPushMessagingAppIdentifierPrefix); |
| 927 HostContentSettingsMapFactory::GetForProfile(profile_)->RemoveObserver(this); |
929 } | 928 } |
930 | 929 |
931 // BackgroundTrigger methods --------------------------------------------------- | 930 // BackgroundTrigger methods --------------------------------------------------- |
932 base::string16 PushMessagingServiceImpl::GetName() { | 931 base::string16 PushMessagingServiceImpl::GetName() { |
933 return l10n_util::GetStringUTF16(IDS_NOTIFICATIONS_BACKGROUND_SERVICE_NAME); | 932 return l10n_util::GetStringUTF16(IDS_NOTIFICATIONS_BACKGROUND_SERVICE_NAME); |
934 } | 933 } |
935 | 934 |
936 gfx::ImageSkia* PushMessagingServiceImpl::GetIcon() { | 935 gfx::ImageSkia* PushMessagingServiceImpl::GetIcon() { |
937 return nullptr; | 936 return nullptr; |
938 } | 937 } |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
989 } | 988 } |
990 | 989 |
991 instance_id::InstanceIDDriver* PushMessagingServiceImpl::GetInstanceIDDriver() | 990 instance_id::InstanceIDDriver* PushMessagingServiceImpl::GetInstanceIDDriver() |
992 const { | 991 const { |
993 instance_id::InstanceIDProfileService* instance_id_profile_service = | 992 instance_id::InstanceIDProfileService* instance_id_profile_service = |
994 instance_id::InstanceIDProfileServiceFactory::GetForProfile(profile_); | 993 instance_id::InstanceIDProfileServiceFactory::GetForProfile(profile_); |
995 CHECK(instance_id_profile_service); | 994 CHECK(instance_id_profile_service); |
996 CHECK(instance_id_profile_service->driver()); | 995 CHECK(instance_id_profile_service->driver()); |
997 return instance_id_profile_service->driver(); | 996 return instance_id_profile_service->driver(); |
998 } | 997 } |
OLD | NEW |