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

Side by Side Diff: net/proxy/proxy_config_service_linux_unittest.cc

Issue 540593002: Use scoped_refptr<SingleThreadTaskRunner> when initializing ProxyConfigService (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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
« no previous file with comments | « net/proxy/proxy_config_service_linux.cc ('k') | net/proxy/proxy_config_service_mac.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "net/proxy/proxy_config_service_linux.h" 5 #include "net/proxy/proxy_config_service_linux.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 &values.ignore_hosts; 168 &values.ignore_hosts;
169 Reset(); 169 Reset();
170 } 170 }
171 171
172 // Zeros all environment values. 172 // Zeros all environment values.
173 void Reset() { 173 void Reset() {
174 GConfValues zero_values = { 0 }; 174 GConfValues zero_values = { 0 };
175 values = zero_values; 175 values = zero_values;
176 } 176 }
177 177
178 virtual bool Init(base::SingleThreadTaskRunner* glib_thread_task_runner, 178 virtual bool Init(
179 base::MessageLoopForIO* file_loop) OVERRIDE { 179 const scoped_refptr<base::SingleThreadTaskRunner>& glib_task_runner,
180 const scoped_refptr<base::SingleThreadTaskRunner>& file_task_runner)
181 OVERRIDE {
182 task_runner_ = glib_task_runner;
180 return true; 183 return true;
181 } 184 }
182 185
183 virtual void ShutDown() OVERRIDE {} 186 virtual void ShutDown() OVERRIDE {}
184 187
185 virtual bool SetUpNotifications(ProxyConfigServiceLinux::Delegate* delegate) 188 virtual bool SetUpNotifications(ProxyConfigServiceLinux::Delegate* delegate)
186 OVERRIDE { 189 OVERRIDE {
187 return true; 190 return true;
188 } 191 }
189 192
190 virtual base::SingleThreadTaskRunner* GetNotificationTaskRunner() OVERRIDE { 193 virtual const scoped_refptr<base::SingleThreadTaskRunner>&
191 return NULL; 194 GetNotificationTaskRunner() OVERRIDE {
195 return task_runner_;
192 } 196 }
193 197
194 virtual ProxyConfigSource GetConfigSource() OVERRIDE { 198 virtual ProxyConfigSource GetConfigSource() OVERRIDE {
195 return PROXY_CONFIG_SOURCE_TEST; 199 return PROXY_CONFIG_SOURCE_TEST;
196 } 200 }
197 201
198 virtual bool GetString(StringSetting key, std::string* result) OVERRIDE { 202 virtual bool GetString(StringSetting key, std::string* result) OVERRIDE {
199 const char* value = strings_table.Get(key); 203 const char* value = strings_table.Get(key);
200 if (value) { 204 if (value) {
201 *result = value; 205 *result = value;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 } 240 }
237 241
238 virtual bool MatchHostsUsingSuffixMatching() OVERRIDE { 242 virtual bool MatchHostsUsingSuffixMatching() OVERRIDE {
239 return false; 243 return false;
240 } 244 }
241 245
242 // Intentionally public, for convenience when setting up a test. 246 // Intentionally public, for convenience when setting up a test.
243 GConfValues values; 247 GConfValues values;
244 248
245 private: 249 private:
250 scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
246 SettingsTable<StringSetting, const char*> strings_table; 251 SettingsTable<StringSetting, const char*> strings_table;
247 SettingsTable<BoolSetting, BoolSettingValue> bools_table; 252 SettingsTable<BoolSetting, BoolSettingValue> bools_table;
248 SettingsTable<IntSetting, int> ints_table; 253 SettingsTable<IntSetting, int> ints_table;
249 SettingsTable<StringListSetting, 254 SettingsTable<StringListSetting,
250 std::vector<std::string> > string_lists_table; 255 std::vector<std::string> > string_lists_table;
251 }; 256 };
252 257
253 } // namespace 258 } // namespace
254 } // namespace net 259 } // namespace net
255 260
(...skipping 25 matching lines...) Expand all
281 // Clean up the IO thread. 286 // Clean up the IO thread.
282 io_thread_.message_loop()->PostTask(FROM_HERE, 287 io_thread_.message_loop()->PostTask(FROM_HERE,
283 base::Bind(&SynchConfigGetter::CleanUp, base::Unretained(this))); 288 base::Bind(&SynchConfigGetter::CleanUp, base::Unretained(this)));
284 Wait(); 289 Wait();
285 } 290 }
286 291
287 // Does gconf setup and initial fetch of the proxy config, 292 // Does gconf setup and initial fetch of the proxy config,
288 // all on the calling thread (meant to be the thread with the 293 // all on the calling thread (meant to be the thread with the
289 // default glib main loop, which is the UI thread). 294 // default glib main loop, which is the UI thread).
290 void SetupAndInitialFetch() { 295 void SetupAndInitialFetch() {
291 base::MessageLoop* file_loop = io_thread_.message_loop();
292 DCHECK_EQ(base::MessageLoop::TYPE_IO, file_loop->type());
293 // We pass the mock IO thread as both the IO and file threads. 296 // We pass the mock IO thread as both the IO and file threads.
294 config_service_->SetupAndFetchInitialConfig( 297 config_service_->SetupAndFetchInitialConfig(
295 base::MessageLoopProxy::current().get(), 298 base::MessageLoopProxy::current(),
296 io_thread_.message_loop_proxy().get(), 299 io_thread_.message_loop_proxy(),
297 static_cast<base::MessageLoopForIO*>(file_loop)); 300 io_thread_.message_loop_proxy());
298 } 301 }
299 // Synchronously gets the proxy config. 302 // Synchronously gets the proxy config.
300 net::ProxyConfigService::ConfigAvailability SyncGetLatestProxyConfig( 303 net::ProxyConfigService::ConfigAvailability SyncGetLatestProxyConfig(
301 net::ProxyConfig* config) { 304 net::ProxyConfig* config) {
302 io_thread_.message_loop()->PostTask(FROM_HERE, 305 io_thread_.message_loop()->PostTask(FROM_HERE,
303 base::Bind(&SynchConfigGetter::GetLatestConfigOnIOThread, 306 base::Bind(&SynchConfigGetter::GetLatestConfigOnIOThread,
304 base::Unretained(this))); 307 base::Unretained(this)));
305 Wait(); 308 Wait();
306 *config = proxy_config_; 309 *config = proxy_config_;
307 return get_latest_config_result_; 310 return get_latest_config_result_;
(...skipping 1300 matching lines...) Expand 10 before | Expand all | Expand 10 after
1608 ProxyConfig config; 1611 ProxyConfig config;
1609 sync_config_getter.SetupAndInitialFetch(); 1612 sync_config_getter.SetupAndInitialFetch();
1610 EXPECT_EQ(ProxyConfigService::CONFIG_VALID, 1613 EXPECT_EQ(ProxyConfigService::CONFIG_VALID,
1611 sync_config_getter.SyncGetLatestProxyConfig(&config)); 1614 sync_config_getter.SyncGetLatestProxyConfig(&config));
1612 EXPECT_TRUE(config.auto_detect()); 1615 EXPECT_TRUE(config.auto_detect());
1613 EXPECT_EQ(GURL(), config.pac_url()); 1616 EXPECT_EQ(GURL(), config.pac_url());
1614 } 1617 }
1615 } 1618 }
1616 1619
1617 } // namespace net 1620 } // namespace net
OLDNEW
« no previous file with comments | « net/proxy/proxy_config_service_linux.cc ('k') | net/proxy/proxy_config_service_mac.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698