OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/utility/importer/firefox_importer_unittest_utils.h" | 5 #include "chrome/utility/importer/firefox_importer_unittest_utils.h" |
6 | 6 |
7 #include "base/base_switches.h" | 7 #include "base/base_switches.h" |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 sender_ = sender; | 80 sender_ = sender; |
81 } | 81 } |
82 | 82 |
83 void OnInitDecryptorResponse(bool result) { | 83 void OnInitDecryptorResponse(bool result) { |
84 DCHECK(!got_result); | 84 DCHECK(!got_result); |
85 result_bool = result; | 85 result_bool = result; |
86 got_result = true; | 86 got_result = true; |
87 base::MessageLoop::current()->Quit(); | 87 base::MessageLoop::current()->Quit(); |
88 } | 88 } |
89 | 89 |
90 void OnDecryptedTextResonse(const string16& decrypted_text) { | 90 void OnDecryptedTextResonse(const base::string16& decrypted_text) { |
91 DCHECK(!got_result); | 91 DCHECK(!got_result); |
92 result_string = decrypted_text; | 92 result_string = decrypted_text; |
93 got_result = true; | 93 got_result = true; |
94 base::MessageLoop::current()->Quit(); | 94 base::MessageLoop::current()->Quit(); |
95 } | 95 } |
96 | 96 |
97 void QuitClient() { | 97 void QuitClient() { |
98 if (sender_) | 98 if (sender_) |
99 sender_->Send(new Msg_Decryptor_Quit()); | 99 sender_->Send(new Msg_Decryptor_Quit()); |
100 } | 100 } |
101 | 101 |
102 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE { | 102 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE { |
103 bool handled = true; | 103 bool handled = true; |
104 IPC_BEGIN_MESSAGE_MAP(FFDecryptorServerChannelListener, msg) | 104 IPC_BEGIN_MESSAGE_MAP(FFDecryptorServerChannelListener, msg) |
105 IPC_MESSAGE_HANDLER(Msg_Decryptor_InitReturnCode, OnInitDecryptorResponse) | 105 IPC_MESSAGE_HANDLER(Msg_Decryptor_InitReturnCode, OnInitDecryptorResponse) |
106 IPC_MESSAGE_HANDLER(Msg_Decryptor_Response, OnDecryptedTextResonse) | 106 IPC_MESSAGE_HANDLER(Msg_Decryptor_Response, OnDecryptedTextResonse) |
107 IPC_MESSAGE_UNHANDLED(handled = false) | 107 IPC_MESSAGE_UNHANDLED(handled = false) |
108 IPC_END_MESSAGE_MAP() | 108 IPC_END_MESSAGE_MAP() |
109 return handled; | 109 return handled; |
110 } | 110 } |
111 | 111 |
112 // If an error occured, just kill the message Loop. | 112 // If an error occured, just kill the message Loop. |
113 virtual void OnChannelError() OVERRIDE { | 113 virtual void OnChannelError() OVERRIDE { |
114 got_result = false; | 114 got_result = false; |
115 base::MessageLoop::current()->Quit(); | 115 base::MessageLoop::current()->Quit(); |
116 } | 116 } |
117 | 117 |
118 // Results of IPC calls. | 118 // Results of IPC calls. |
119 string16 result_string; | 119 base::string16 result_string; |
120 bool result_bool; | 120 bool result_bool; |
121 // True if IPC call succeeded and data in above variables is valid. | 121 // True if IPC call succeeded and data in above variables is valid. |
122 bool got_result; | 122 bool got_result; |
123 | 123 |
124 private: | 124 private: |
125 IPC::Sender* sender_; // weak | 125 IPC::Sender* sender_; // weak |
126 }; | 126 }; |
127 | 127 |
128 FFUnitTestDecryptorProxy::FFUnitTestDecryptorProxy() | 128 FFUnitTestDecryptorProxy::FFUnitTestDecryptorProxy() |
129 : child_process_(0) { | 129 : child_process_(0) { |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 const base::FilePath& db_path) { | 199 const base::FilePath& db_path) { |
200 channel_->Send(new Msg_Decryptor_Init(dll_path, db_path)); | 200 channel_->Send(new Msg_Decryptor_Init(dll_path, db_path)); |
201 bool ok = WaitForClientResponse(); | 201 bool ok = WaitForClientResponse(); |
202 if (ok && listener_->got_result) { | 202 if (ok && listener_->got_result) { |
203 listener_->got_result = false; | 203 listener_->got_result = false; |
204 return listener_->result_bool; | 204 return listener_->result_bool; |
205 } | 205 } |
206 return false; | 206 return false; |
207 } | 207 } |
208 | 208 |
209 string16 FFUnitTestDecryptorProxy::Decrypt(const std::string& crypt) { | 209 base::string16 FFUnitTestDecryptorProxy::Decrypt(const std::string& crypt) { |
210 channel_->Send(new Msg_Decrypt(crypt)); | 210 channel_->Send(new Msg_Decrypt(crypt)); |
211 bool ok = WaitForClientResponse(); | 211 bool ok = WaitForClientResponse(); |
212 if (ok && listener_->got_result) { | 212 if (ok && listener_->got_result) { |
213 listener_->got_result = false; | 213 listener_->got_result = false; |
214 return listener_->result_string; | 214 return listener_->result_string; |
215 } | 215 } |
216 return string16(); | 216 return base::string16(); |
217 } | 217 } |
218 | 218 |
219 //---------------------------- Child Process ----------------------- | 219 //---------------------------- Child Process ----------------------- |
220 | 220 |
221 // Class to listen on the client side of the ipc channel, it calls through | 221 // Class to listen on the client side of the ipc channel, it calls through |
222 // to the NSSDecryptor and sends back a reply. | 222 // to the NSSDecryptor and sends back a reply. |
223 class FFDecryptorClientChannelListener : public IPC::Listener { | 223 class FFDecryptorClientChannelListener : public IPC::Listener { |
224 public: | 224 public: |
225 FFDecryptorClientChannelListener() | 225 FFDecryptorClientChannelListener() |
226 : sender_(NULL) {} | 226 : sender_(NULL) {} |
227 | 227 |
228 void SetSender(IPC::Sender* sender) { | 228 void SetSender(IPC::Sender* sender) { |
229 sender_ = sender; | 229 sender_ = sender; |
230 } | 230 } |
231 | 231 |
232 void OnDecryptor_Init(base::FilePath dll_path, base::FilePath db_path) { | 232 void OnDecryptor_Init(base::FilePath dll_path, base::FilePath db_path) { |
233 bool ret = decryptor_.Init(dll_path, db_path); | 233 bool ret = decryptor_.Init(dll_path, db_path); |
234 sender_->Send(new Msg_Decryptor_InitReturnCode(ret)); | 234 sender_->Send(new Msg_Decryptor_InitReturnCode(ret)); |
235 } | 235 } |
236 | 236 |
237 void OnDecrypt(std::string crypt) { | 237 void OnDecrypt(std::string crypt) { |
238 string16 unencrypted_str = decryptor_.Decrypt(crypt); | 238 base::string16 unencrypted_str = decryptor_.Decrypt(crypt); |
239 sender_->Send(new Msg_Decryptor_Response(unencrypted_str)); | 239 sender_->Send(new Msg_Decryptor_Response(unencrypted_str)); |
240 } | 240 } |
241 | 241 |
242 void OnQuitRequest() { | 242 void OnQuitRequest() { |
243 base::MessageLoop::current()->Quit(); | 243 base::MessageLoop::current()->Quit(); |
244 } | 244 } |
245 | 245 |
246 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE { | 246 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE { |
247 bool handled = true; | 247 bool handled = true; |
248 IPC_BEGIN_MESSAGE_MAP(FFDecryptorClientChannelListener, msg) | 248 IPC_BEGIN_MESSAGE_MAP(FFDecryptorClientChannelListener, msg) |
(...skipping 21 matching lines...) Expand all Loading... |
270 | 270 |
271 IPC::Channel channel(kTestChannelID, IPC::Channel::MODE_CLIENT, &listener); | 271 IPC::Channel channel(kTestChannelID, IPC::Channel::MODE_CLIENT, &listener); |
272 CHECK(channel.Connect()); | 272 CHECK(channel.Connect()); |
273 listener.SetSender(&channel); | 273 listener.SetSender(&channel); |
274 | 274 |
275 // run message loop | 275 // run message loop |
276 base::MessageLoop::current()->Run(); | 276 base::MessageLoop::current()->Run(); |
277 | 277 |
278 return 0; | 278 return 0; |
279 } | 279 } |
OLD | NEW |