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

Side by Side Diff: chromeos/network/network_state_handler_unittest.cc

Issue 24348002: Migrate DBus service constants from flimflam namespace to shill namespace. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased to ToT Created 7 years, 2 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 | « chromeos/network/network_state_handler.cc ('k') | chromeos/network/network_state_unittest.cc » ('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 "chromeos/network/network_state_handler.h" 5 #include "chromeos/network/network_state_handler.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 10
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 network_state_handler_->InitShillPropertyHandler(); 157 network_state_handler_->InitShillPropertyHandler();
158 } 158 }
159 159
160 protected: 160 protected:
161 void SetupDefaultShillState() { 161 void SetupDefaultShillState() {
162 message_loop_.RunUntilIdle(); // Process any pending updates 162 message_loop_.RunUntilIdle(); // Process any pending updates
163 ShillDeviceClient::TestInterface* device_test = 163 ShillDeviceClient::TestInterface* device_test =
164 DBusThreadManager::Get()->GetShillDeviceClient()->GetTestInterface(); 164 DBusThreadManager::Get()->GetShillDeviceClient()->GetTestInterface();
165 device_test->ClearDevices(); 165 device_test->ClearDevices();
166 device_test->AddDevice("/device/stub_wifi_device1", 166 device_test->AddDevice("/device/stub_wifi_device1",
167 flimflam::kTypeWifi, "stub_wifi_device1"); 167 shill::kTypeWifi, "stub_wifi_device1");
168 device_test->AddDevice("/device/stub_cellular_device1", 168 device_test->AddDevice("/device/stub_cellular_device1",
169 flimflam::kTypeCellular, "stub_cellular_device1"); 169 shill::kTypeCellular, "stub_cellular_device1");
170 170
171 ShillServiceClient::TestInterface* service_test = 171 ShillServiceClient::TestInterface* service_test =
172 DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface(); 172 DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface();
173 service_test->ClearServices(); 173 service_test->ClearServices();
174 const bool add_to_visible = true; 174 const bool add_to_visible = true;
175 const bool add_to_watchlist = true; 175 const bool add_to_watchlist = true;
176 service_test->AddService(kShillManagerClientStubDefaultService, 176 service_test->AddService(kShillManagerClientStubDefaultService,
177 kShillManagerClientStubDefaultService, 177 kShillManagerClientStubDefaultService,
178 flimflam::kTypeEthernet, flimflam::kStateOnline, 178 shill::kTypeEthernet, shill::kStateOnline,
179 add_to_visible, add_to_watchlist); 179 add_to_visible, add_to_watchlist);
180 service_test->AddService(kShillManagerClientStubDefaultWireless, 180 service_test->AddService(kShillManagerClientStubDefaultWireless,
181 kShillManagerClientStubDefaultWireless, 181 kShillManagerClientStubDefaultWireless,
182 flimflam::kTypeWifi, flimflam::kStateOnline, 182 shill::kTypeWifi, shill::kStateOnline,
183 add_to_visible, add_to_watchlist); 183 add_to_visible, add_to_watchlist);
184 service_test->AddService(kShillManagerClientStubWireless2, 184 service_test->AddService(kShillManagerClientStubWireless2,
185 kShillManagerClientStubWireless2, 185 kShillManagerClientStubWireless2,
186 flimflam::kTypeWifi, flimflam::kStateIdle, 186 shill::kTypeWifi, shill::kStateIdle,
187 add_to_visible, add_to_watchlist); 187 add_to_visible, add_to_watchlist);
188 service_test->AddService(kShillManagerClientStubCellular, 188 service_test->AddService(kShillManagerClientStubCellular,
189 kShillManagerClientStubCellular, 189 kShillManagerClientStubCellular,
190 flimflam::kTypeCellular, flimflam::kStateIdle, 190 shill::kTypeCellular, shill::kStateIdle,
191 add_to_visible, add_to_watchlist); 191 add_to_visible, add_to_watchlist);
192 } 192 }
193 193
194 base::MessageLoopForUI message_loop_; 194 base::MessageLoopForUI message_loop_;
195 scoped_ptr<NetworkStateHandler> network_state_handler_; 195 scoped_ptr<NetworkStateHandler> network_state_handler_;
196 scoped_ptr<TestObserver> test_observer_; 196 scoped_ptr<TestObserver> test_observer_;
197 197
198 private: 198 private:
199 DISALLOW_COPY_AND_ASSIGN(NetworkStateHandlerTest); 199 DISALLOW_COPY_AND_ASSIGN(NetworkStateHandlerTest);
200 }; 200 };
(...skipping 15 matching lines...) Expand all
216 EXPECT_EQ(kShillManagerClientStubDefaultWireless, 216 EXPECT_EQ(kShillManagerClientStubDefaultWireless,
217 network_state_handler_->ConnectedNetworkByType( 217 network_state_handler_->ConnectedNetworkByType(
218 NetworkTypePattern::Wireless())->path()); 218 NetworkTypePattern::Wireless())->path());
219 EXPECT_EQ(kShillManagerClientStubCellular, 219 EXPECT_EQ(kShillManagerClientStubCellular,
220 network_state_handler_->FirstNetworkByType( 220 network_state_handler_->FirstNetworkByType(
221 NetworkTypePattern::Mobile())->path()); 221 NetworkTypePattern::Mobile())->path());
222 EXPECT_EQ( 222 EXPECT_EQ(
223 kShillManagerClientStubCellular, 223 kShillManagerClientStubCellular,
224 network_state_handler_->FirstNetworkByType(NetworkTypePattern::Cellular()) 224 network_state_handler_->FirstNetworkByType(NetworkTypePattern::Cellular())
225 ->path()); 225 ->path());
226 EXPECT_EQ(flimflam::kStateOnline, 226 EXPECT_EQ(shill::kStateOnline,
227 test_observer_->default_network_connection_state()); 227 test_observer_->default_network_connection_state());
228 } 228 }
229 229
230 TEST_F(NetworkStateHandlerTest, TechnologyChanged) { 230 TEST_F(NetworkStateHandlerTest, TechnologyChanged) {
231 // There may be several manager changes during initialization. 231 // There may be several manager changes during initialization.
232 size_t initial_changed_count = test_observer_->device_list_changed_count(); 232 size_t initial_changed_count = test_observer_->device_list_changed_count();
233 // Disable a technology. 233 // Disable a technology.
234 network_state_handler_->SetTechnologyEnabled( 234 network_state_handler_->SetTechnologyEnabled(
235 NetworkTypePattern::Wimax(), false, network_handler::ErrorCallback()); 235 NetworkTypePattern::Wimax(), false, network_handler::ErrorCallback());
236 EXPECT_NE( 236 EXPECT_NE(
(...skipping 17 matching lines...) Expand all
254 EXPECT_EQ(initial_changed_count + 4, 254 EXPECT_EQ(initial_changed_count + 4,
255 test_observer_->device_list_changed_count()); 255 test_observer_->device_list_changed_count());
256 EXPECT_EQ( 256 EXPECT_EQ(
257 NetworkStateHandler::TECHNOLOGY_ENABLED, 257 NetworkStateHandler::TECHNOLOGY_ENABLED,
258 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax())); 258 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax()));
259 } 259 }
260 260
261 TEST_F(NetworkStateHandlerTest, TechnologyState) { 261 TEST_F(NetworkStateHandlerTest, TechnologyState) {
262 ShillManagerClient::TestInterface* manager_test = 262 ShillManagerClient::TestInterface* manager_test =
263 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface(); 263 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface();
264 manager_test->RemoveTechnology(flimflam::kTypeWimax); 264 manager_test->RemoveTechnology(shill::kTypeWimax);
265 message_loop_.RunUntilIdle(); 265 message_loop_.RunUntilIdle();
266 EXPECT_EQ( 266 EXPECT_EQ(
267 NetworkStateHandler::TECHNOLOGY_UNAVAILABLE, 267 NetworkStateHandler::TECHNOLOGY_UNAVAILABLE,
268 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax())); 268 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax()));
269 269
270 manager_test->AddTechnology(flimflam::kTypeWimax, false); 270 manager_test->AddTechnology(shill::kTypeWimax, false);
271 message_loop_.RunUntilIdle(); 271 message_loop_.RunUntilIdle();
272 EXPECT_EQ( 272 EXPECT_EQ(
273 NetworkStateHandler::TECHNOLOGY_AVAILABLE, 273 NetworkStateHandler::TECHNOLOGY_AVAILABLE,
274 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax())); 274 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax()));
275 275
276 manager_test->SetTechnologyInitializing(flimflam::kTypeWimax, true); 276 manager_test->SetTechnologyInitializing(shill::kTypeWimax, true);
277 message_loop_.RunUntilIdle(); 277 message_loop_.RunUntilIdle();
278 EXPECT_EQ( 278 EXPECT_EQ(
279 NetworkStateHandler::TECHNOLOGY_UNINITIALIZED, 279 NetworkStateHandler::TECHNOLOGY_UNINITIALIZED,
280 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax())); 280 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax()));
281 281
282 manager_test->SetTechnologyInitializing(flimflam::kTypeWimax, false); 282 manager_test->SetTechnologyInitializing(shill::kTypeWimax, false);
283 network_state_handler_->SetTechnologyEnabled( 283 network_state_handler_->SetTechnologyEnabled(
284 NetworkTypePattern::Wimax(), true, network_handler::ErrorCallback()); 284 NetworkTypePattern::Wimax(), true, network_handler::ErrorCallback());
285 message_loop_.RunUntilIdle(); 285 message_loop_.RunUntilIdle();
286 EXPECT_EQ( 286 EXPECT_EQ(
287 NetworkStateHandler::TECHNOLOGY_ENABLED, 287 NetworkStateHandler::TECHNOLOGY_ENABLED,
288 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax())); 288 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax()));
289 289
290 manager_test->RemoveTechnology(flimflam::kTypeWimax); 290 manager_test->RemoveTechnology(shill::kTypeWimax);
291 message_loop_.RunUntilIdle(); 291 message_loop_.RunUntilIdle();
292 EXPECT_EQ( 292 EXPECT_EQ(
293 NetworkStateHandler::TECHNOLOGY_UNAVAILABLE, 293 NetworkStateHandler::TECHNOLOGY_UNAVAILABLE,
294 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax())); 294 network_state_handler_->GetTechnologyState(NetworkTypePattern::Wimax()));
295 } 295 }
296 296
297 TEST_F(NetworkStateHandlerTest, ServicePropertyChanged) { 297 TEST_F(NetworkStateHandlerTest, ServicePropertyChanged) {
298 // Set a service property. 298 // Set a service property.
299 const std::string eth1 = kShillManagerClientStubDefaultService; 299 const std::string eth1 = kShillManagerClientStubDefaultService;
300 EXPECT_EQ("", network_state_handler_->GetNetworkState(eth1)->security()); 300 EXPECT_EQ("", network_state_handler_->GetNetworkState(eth1)->security());
301 EXPECT_EQ(1, test_observer_->PropertyUpdatesForService(eth1)); 301 EXPECT_EQ(1, test_observer_->PropertyUpdatesForService(eth1));
302 base::StringValue security_value("TestSecurity"); 302 base::StringValue security_value("TestSecurity");
303 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( 303 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty(
304 dbus::ObjectPath(eth1), 304 dbus::ObjectPath(eth1),
305 flimflam::kSecurityProperty, security_value, 305 shill::kSecurityProperty, security_value,
306 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); 306 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction));
307 message_loop_.RunUntilIdle(); 307 message_loop_.RunUntilIdle();
308 EXPECT_EQ("TestSecurity", 308 EXPECT_EQ("TestSecurity",
309 network_state_handler_->GetNetworkState(eth1)->security()); 309 network_state_handler_->GetNetworkState(eth1)->security());
310 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(eth1)); 310 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(eth1));
311 311
312 // Changing a service to the existing value should not trigger an update. 312 // Changing a service to the existing value should not trigger an update.
313 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( 313 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty(
314 dbus::ObjectPath(eth1), 314 dbus::ObjectPath(eth1),
315 flimflam::kSecurityProperty, security_value, 315 shill::kSecurityProperty, security_value,
316 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); 316 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction));
317 message_loop_.RunUntilIdle(); 317 message_loop_.RunUntilIdle();
318 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(eth1)); 318 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(eth1));
319 } 319 }
320 320
321 TEST_F(NetworkStateHandlerTest, FavoriteState) { 321 TEST_F(NetworkStateHandlerTest, FavoriteState) {
322 // Set the profile entry of a service 322 // Set the profile entry of a service
323 const std::string wifi1 = kShillManagerClientStubDefaultWireless; 323 const std::string wifi1 = kShillManagerClientStubDefaultWireless;
324 ShillProfileClient::TestInterface* profile_test = 324 ShillProfileClient::TestInterface* profile_test =
325 DBusThreadManager::Get()->GetShillProfileClient()->GetTestInterface(); 325 DBusThreadManager::Get()->GetShillProfileClient()->GetTestInterface();
326 EXPECT_TRUE(profile_test->AddService("/profile/default", wifi1)); 326 EXPECT_TRUE(profile_test->AddService("/profile/default", wifi1));
327 message_loop_.RunUntilIdle(); 327 message_loop_.RunUntilIdle();
328 network_state_handler_->UpdateManagerProperties(); 328 network_state_handler_->UpdateManagerProperties();
329 message_loop_.RunUntilIdle(); 329 message_loop_.RunUntilIdle();
330 EXPECT_EQ(1u, test_observer_->favorite_count()); 330 EXPECT_EQ(1u, test_observer_->favorite_count());
331 } 331 }
332 332
333 TEST_F(NetworkStateHandlerTest, NetworkConnectionStateChanged) { 333 TEST_F(NetworkStateHandlerTest, NetworkConnectionStateChanged) {
334 // Change a network state. 334 // Change a network state.
335 ShillServiceClient::TestInterface* service_test = 335 ShillServiceClient::TestInterface* service_test =
336 DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface(); 336 DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface();
337 const std::string eth1 = kShillManagerClientStubDefaultService; 337 const std::string eth1 = kShillManagerClientStubDefaultService;
338 base::StringValue connection_state_idle_value(flimflam::kStateIdle); 338 base::StringValue connection_state_idle_value(shill::kStateIdle);
339 service_test->SetServiceProperty(eth1, flimflam::kStateProperty, 339 service_test->SetServiceProperty(eth1, shill::kStateProperty,
340 connection_state_idle_value); 340 connection_state_idle_value);
341 message_loop_.RunUntilIdle(); 341 message_loop_.RunUntilIdle();
342 EXPECT_EQ(flimflam::kStateIdle, 342 EXPECT_EQ(shill::kStateIdle,
343 test_observer_->NetworkConnectionStateForService(eth1)); 343 test_observer_->NetworkConnectionStateForService(eth1));
344 EXPECT_EQ(2, test_observer_->ConnectionStateChangesForService(eth1)); 344 EXPECT_EQ(2, test_observer_->ConnectionStateChangesForService(eth1));
345 // Confirm that changing the connection state to the same value does *not* 345 // Confirm that changing the connection state to the same value does *not*
346 // signal the observer. 346 // signal the observer.
347 service_test->SetServiceProperty(eth1, flimflam::kStateProperty, 347 service_test->SetServiceProperty(eth1, shill::kStateProperty,
348 connection_state_idle_value); 348 connection_state_idle_value);
349 message_loop_.RunUntilIdle(); 349 message_loop_.RunUntilIdle();
350 EXPECT_EQ(2, test_observer_->ConnectionStateChangesForService(eth1)); 350 EXPECT_EQ(2, test_observer_->ConnectionStateChangesForService(eth1));
351 } 351 }
352 352
353 TEST_F(NetworkStateHandlerTest, DefaultServiceChanged) { 353 TEST_F(NetworkStateHandlerTest, DefaultServiceChanged) {
354 ShillManagerClient::TestInterface* manager_test = 354 ShillManagerClient::TestInterface* manager_test =
355 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface(); 355 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface();
356 ASSERT_TRUE(manager_test); 356 ASSERT_TRUE(manager_test);
357 ShillServiceClient::TestInterface* service_test = 357 ShillServiceClient::TestInterface* service_test =
358 DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface(); 358 DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface();
359 ASSERT_TRUE(service_test); 359 ASSERT_TRUE(service_test);
360 360
361 // Change the default network by changing the state of eth1 to Idle which 361 // Change the default network by changing the state of eth1 to Idle which
362 // should re-sort Manager.Services. 362 // should re-sort Manager.Services.
363 const std::string eth1 = kShillManagerClientStubDefaultService; 363 const std::string eth1 = kShillManagerClientStubDefaultService;
364 const std::string wifi1 = kShillManagerClientStubDefaultWireless; 364 const std::string wifi1 = kShillManagerClientStubDefaultWireless;
365 base::StringValue connection_state_idle_value(flimflam::kStateIdle); 365 base::StringValue connection_state_idle_value(shill::kStateIdle);
366 service_test->SetServiceProperty(eth1, flimflam::kStateProperty, 366 service_test->SetServiceProperty(eth1, shill::kStateProperty,
367 connection_state_idle_value); 367 connection_state_idle_value);
368 message_loop_.RunUntilIdle(); 368 message_loop_.RunUntilIdle();
369 EXPECT_EQ(wifi1, test_observer_->default_network()); 369 EXPECT_EQ(wifi1, test_observer_->default_network());
370 EXPECT_EQ(flimflam::kStateOnline, 370 EXPECT_EQ(shill::kStateOnline,
371 test_observer_->default_network_connection_state()); 371 test_observer_->default_network_connection_state());
372 // We should have seen 2 default network updates - for the default 372 // We should have seen 2 default network updates - for the default
373 // service change, and for the state change. 373 // service change, and for the state change.
374 EXPECT_EQ(2u, test_observer_->default_network_change_count()); 374 EXPECT_EQ(2u, test_observer_->default_network_change_count());
375 375
376 // Updating a property on the default network should trigger 376 // Updating a property on the default network should trigger
377 // a default network change. 377 // a default network change.
378 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( 378 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty(
379 dbus::ObjectPath(wifi1), 379 dbus::ObjectPath(wifi1),
380 flimflam::kSecurityProperty, base::StringValue("TestSecurity"), 380 shill::kSecurityProperty, base::StringValue("TestSecurity"),
381 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); 381 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction));
382 message_loop_.RunUntilIdle(); 382 message_loop_.RunUntilIdle();
383 EXPECT_EQ(3u, test_observer_->default_network_change_count()); 383 EXPECT_EQ(3u, test_observer_->default_network_change_count());
384 384
385 // No default network updates for signal strength changes. 385 // No default network updates for signal strength changes.
386 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( 386 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty(
387 dbus::ObjectPath(wifi1), 387 dbus::ObjectPath(wifi1),
388 flimflam::kSignalStrengthProperty, base::FundamentalValue(32), 388 shill::kSignalStrengthProperty, base::FundamentalValue(32),
389 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); 389 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction));
390 message_loop_.RunUntilIdle(); 390 message_loop_.RunUntilIdle();
391 EXPECT_EQ(3u, test_observer_->default_network_change_count()); 391 EXPECT_EQ(3u, test_observer_->default_network_change_count());
392 } 392 }
393 393
394 TEST_F(NetworkStateHandlerTest, RequestUpdate) { 394 TEST_F(NetworkStateHandlerTest, RequestUpdate) {
395 // Request an update for kShillManagerClientStubDefaultWireless. 395 // Request an update for kShillManagerClientStubDefaultWireless.
396 EXPECT_EQ(1, test_observer_->PropertyUpdatesForService( 396 EXPECT_EQ(1, test_observer_->PropertyUpdatesForService(
397 kShillManagerClientStubDefaultWireless)); 397 kShillManagerClientStubDefaultWireless));
398 network_state_handler_->RequestUpdateForNetwork( 398 network_state_handler_->RequestUpdateForNetwork(
(...skipping 11 matching lines...) Expand all
410 // Other networks should have 2 updates (inital + request). 410 // Other networks should have 2 updates (inital + request).
411 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService( 411 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(
412 kShillManagerClientStubDefaultService)); 412 kShillManagerClientStubDefaultService));
413 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService( 413 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(
414 kShillManagerClientStubWireless2)); 414 kShillManagerClientStubWireless2));
415 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService( 415 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(
416 kShillManagerClientStubCellular)); 416 kShillManagerClientStubCellular));
417 } 417 }
418 418
419 } // namespace chromeos 419 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/network/network_state_handler.cc ('k') | chromeos/network/network_state_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698