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

Side by Side Diff: chrome/browser/services/gcm/fake_gcm_profile_service.cc

Issue 278493002: Split GCMDriver into platform-specific implementations (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix trybots Created 6 years, 6 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 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/services/gcm/fake_gcm_profile_service.h" 5 #include "chrome/browser/services/gcm/fake_gcm_profile_service.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile.h"
11 #include "components/gcm_driver/fake_gcm_client_factory.h" 11 #include "components/gcm_driver/fake_gcm_client_factory.h"
12 #include "components/gcm_driver/fake_gcm_driver.h"
13 #include "components/gcm_driver/gcm_driver.h"
12 #include "content/public/browser/browser_context.h" 14 #include "content/public/browser/browser_context.h"
13 15
14 namespace gcm { 16 namespace gcm {
15 17
16 namespace { 18 namespace {
17 19
18 class FakeGCMDriver : public GCMDriver { 20 class CustomFakeGCMDriver : public FakeGCMDriver {
19 public: 21 public:
20 explicit FakeGCMDriver(FakeGCMProfileService* service); 22 explicit CustomFakeGCMDriver(FakeGCMProfileService* service);
21 virtual ~FakeGCMDriver(); 23 virtual ~CustomFakeGCMDriver();
22 24
23 // GCMDriver overrides. 25 // GCMDriver overrides:
24 virtual void Shutdown() OVERRIDE;
25 virtual void AddAppHandler(const std::string& app_id,
26 GCMAppHandler* handler) OVERRIDE;
27 virtual void RemoveAppHandler(const std::string& app_id) OVERRIDE;
28 virtual void Register(const std::string& app_id, 26 virtual void Register(const std::string& app_id,
29 const std::vector<std::string>& sender_ids, 27 const std::vector<std::string>& sender_ids,
30 const RegisterCallback& callback) OVERRIDE; 28 const RegisterCallback& callback) OVERRIDE;
31 virtual void Unregister(const std::string& app_id, 29 virtual void Unregister(const std::string& app_id,
32 const UnregisterCallback& callback) OVERRIDE; 30 const UnregisterCallback& callback) OVERRIDE;
33 virtual void Send(const std::string& app_id, 31 virtual void Send(const std::string& app_id,
34 const std::string& receiver_id, 32 const std::string& receiver_id,
35 const GCMClient::OutgoingMessage& message, 33 const GCMClient::OutgoingMessage& message,
36 const SendCallback& callback) OVERRIDE; 34 const SendCallback& callback) OVERRIDE;
37 35
38 private: 36 private:
39 FakeGCMProfileService* service_; 37 FakeGCMProfileService* service_;
40 38
41 DISALLOW_COPY_AND_ASSIGN(FakeGCMDriver); 39 DISALLOW_COPY_AND_ASSIGN(CustomFakeGCMDriver);
42 }; 40 };
43 41
44 FakeGCMDriver::FakeGCMDriver(FakeGCMProfileService* service) 42 CustomFakeGCMDriver::CustomFakeGCMDriver(FakeGCMProfileService* service)
45 : service_(service) { 43 : service_(service) {
46 } 44 }
47 45
48 FakeGCMDriver::~FakeGCMDriver() { 46 CustomFakeGCMDriver::~CustomFakeGCMDriver() {
49 } 47 }
50 48
51 void FakeGCMDriver::Shutdown() { 49 void CustomFakeGCMDriver::Register(const std::string& app_id,
52 }
53
54 void FakeGCMDriver::AddAppHandler(const std::string& app_id,
55 GCMAppHandler* handler) {
56 }
57
58 void FakeGCMDriver::RemoveAppHandler(const std::string& app_id) {
59 }
60
61 void FakeGCMDriver::Register(const std::string& app_id,
62 const std::vector<std::string>& sender_ids, 50 const std::vector<std::string>& sender_ids,
63 const RegisterCallback& callback) { 51 const RegisterCallback& callback) {
64 base::MessageLoop::current()->PostTask( 52 base::MessageLoop::current()->PostTask(
65 FROM_HERE, 53 FROM_HERE,
66 base::Bind(&FakeGCMProfileService::RegisterFinished, 54 base::Bind(&FakeGCMProfileService::RegisterFinished,
67 base::Unretained(service_), 55 base::Unretained(service_),
68 app_id, 56 app_id,
69 sender_ids, 57 sender_ids,
70 callback)); 58 callback));
71 } 59 }
72 60
73 void FakeGCMDriver::Unregister(const std::string& app_id, 61 void CustomFakeGCMDriver::Unregister(const std::string& app_id,
74 const UnregisterCallback& callback) { 62 const UnregisterCallback& callback) {
75 base::MessageLoop::current()->PostTask( 63 base::MessageLoop::current()->PostTask(
76 FROM_HERE, base::Bind( 64 FROM_HERE, base::Bind(
77 &FakeGCMProfileService::UnregisterFinished, 65 &FakeGCMProfileService::UnregisterFinished,
78 base::Unretained(service_), 66 base::Unretained(service_),
79 app_id, 67 app_id,
80 callback)); 68 callback));
81 } 69 }
82 70
83 void FakeGCMDriver::Send(const std::string& app_id, 71 void CustomFakeGCMDriver::Send(const std::string& app_id,
84 const std::string& receiver_id, 72 const std::string& receiver_id,
85 const GCMClient::OutgoingMessage& message, 73 const GCMClient::OutgoingMessage& message,
86 const SendCallback& callback) { 74 const SendCallback& callback) {
87 base::MessageLoop::current()->PostTask( 75 base::MessageLoop::current()->PostTask(
88 FROM_HERE, 76 FROM_HERE,
89 base::Bind(&FakeGCMProfileService::SendFinished, 77 base::Bind(&FakeGCMProfileService::SendFinished,
90 base::Unretained(service_), 78 base::Unretained(service_),
91 app_id, 79 app_id,
92 receiver_id, 80 receiver_id,
93 message, 81 message,
94 callback)); 82 callback));
95 } 83 }
96 84
97 } // namespace 85 } // namespace
98 86
99 // static 87 // static
100 KeyedService* FakeGCMProfileService::Build(content::BrowserContext* context) { 88 KeyedService* FakeGCMProfileService::Build(content::BrowserContext* context) {
101 Profile* profile = static_cast<Profile*>(context); 89 Profile* profile = static_cast<Profile*>(context);
102 FakeGCMProfileService* service = new FakeGCMProfileService(profile); 90 FakeGCMProfileService* service = new FakeGCMProfileService(profile);
103 service->SetDriverForTesting(new FakeGCMDriver(service)); 91 service->SetDriverForTesting(new CustomFakeGCMDriver(service));
104 return service; 92 return service;
105 } 93 }
106 94
107 FakeGCMProfileService::FakeGCMProfileService(Profile* profile) 95 FakeGCMProfileService::FakeGCMProfileService(Profile* profile)
108 : collect_(false) {} 96 : collect_(false) {}
109 97
110 FakeGCMProfileService::~FakeGCMProfileService() {} 98 FakeGCMProfileService::~FakeGCMProfileService() {}
111 99
112 void FakeGCMProfileService::RegisterFinished( 100 void FakeGCMProfileService::RegisterFinished(
113 const std::string& app_id, 101 const std::string& app_id,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 133
146 callback.Run(message.id, GCMClient::SUCCESS); 134 callback.Run(message.id, GCMClient::SUCCESS);
147 } 135 }
148 136
149 void FakeGCMProfileService::AddExpectedUnregisterResponse( 137 void FakeGCMProfileService::AddExpectedUnregisterResponse(
150 GCMClient::Result result) { 138 GCMClient::Result result) {
151 unregister_responses_.push_back(result); 139 unregister_responses_.push_back(result);
152 } 140 }
153 141
154 } // namespace gcm 142 } // namespace gcm
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698