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

Side by Side Diff: chrome/browser/devtools/devtools_targets_ui.cc

Issue 596253003: DevTools: RemoteDevice and RemoteBrowser are now value types (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@pfc3
Patch Set: Fixed test Created 6 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
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/devtools/devtools_targets_ui.h" 5 #include "chrome/browser/devtools/devtools_targets_ui.h"
6 6
7 #include "base/memory/weak_ptr.h" 7 #include "base/memory/weak_ptr.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "base/strings/stringprintf.h" 9 #include "base/strings/stringprintf.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 DevToolsAndroidBridge::RemotePage* page) { 308 DevToolsAndroidBridge::RemotePage* page) {
309 scoped_ptr<DevToolsAndroidBridge::RemotePage> my_page(page); 309 scoped_ptr<DevToolsAndroidBridge::RemotePage> my_page(page);
310 callback.Run(my_page ? my_page->GetTarget() : NULL); 310 callback.Run(my_page ? my_page->GetTarget() : NULL);
311 } 311 }
312 312
313 void AdbTargetsUIHandler::Open( 313 void AdbTargetsUIHandler::Open(
314 const std::string& browser_id, 314 const std::string& browser_id,
315 const std::string& url, 315 const std::string& url,
316 const DevToolsTargetsUIHandler::TargetCallback& callback) { 316 const DevToolsTargetsUIHandler::TargetCallback& callback) {
317 RemoteBrowsers::iterator it = remote_browsers_.find(browser_id); 317 RemoteBrowsers::iterator it = remote_browsers_.find(browser_id);
318 if (it != remote_browsers_.end()) 318 if (it == remote_browsers_.end())
319 it->second->Open(url, base::Bind(&CallOnTarget, callback)); 319 return;
320
321 DevToolsAndroidBridge* android_bridge =
322 DevToolsAndroidBridge::Factory::GetForProfile(profile_);
323 if (android_bridge)
dgozman 2014/09/25 14:23:17 This class needs a getter android_bridge().
vkuzkokov 2014/09/25 16:48:47 GetAndroidBridge(). android_bridge() implies trivi
324 android_bridge->Open(it->second, url, base::Bind(&CallOnTarget, callback));
320 } 325 }
321 326
322 scoped_refptr<content::DevToolsAgentHost> 327 scoped_refptr<content::DevToolsAgentHost>
323 AdbTargetsUIHandler::GetBrowserAgentHost( 328 AdbTargetsUIHandler::GetBrowserAgentHost(
324 const std::string& browser_id) { 329 const std::string& browser_id) {
325 RemoteBrowsers::iterator it = remote_browsers_.find(browser_id); 330 RemoteBrowsers::iterator it = remote_browsers_.find(browser_id);
326 return it != remote_browsers_.end() ? it->second->GetAgentHost() : NULL; 331 if (it == remote_browsers_.end())
332 return NULL;
333
334 DevToolsAndroidBridge* android_bridge =
335 DevToolsAndroidBridge::Factory::GetForProfile(profile_);
336 return android_bridge ? android_bridge->GetAgentHost(it->second) : NULL;
327 } 337 }
328 338
329 void AdbTargetsUIHandler::DeviceListChanged( 339 void AdbTargetsUIHandler::DeviceListChanged(
330 const DevToolsAndroidBridge::RemoteDevices& devices) { 340 const DevToolsAndroidBridge::RemoteDevices& devices) {
331 remote_browsers_.clear(); 341 remote_browsers_.clear();
332 STLDeleteValues(&targets_); 342 STLDeleteValues(&targets_);
333 343
344 DevToolsAndroidBridge* android_bridge =
345 DevToolsAndroidBridge::Factory::GetForProfile(profile_);
346
334 base::ListValue device_list; 347 base::ListValue device_list;
335 for (DevToolsAndroidBridge::RemoteDevices::const_iterator dit = 348 for (DevToolsAndroidBridge::RemoteDevices::const_iterator dit =
336 devices.begin(); dit != devices.end(); ++dit) { 349 devices.begin(); dit != devices.end(); ++dit) {
337 DevToolsAndroidBridge::RemoteDevice* device = dit->get(); 350 DevToolsAndroidBridge::RemoteDevice* device = dit->get();
338 base::DictionaryValue* device_data = new base::DictionaryValue(); 351 base::DictionaryValue* device_data = new base::DictionaryValue();
339 device_data->SetString(kAdbModelField, device->model()); 352 device_data->SetString(kAdbModelField, device->model());
340 device_data->SetString(kAdbSerialField, device->serial()); 353 device_data->SetString(kAdbSerialField, device->serial());
341 device_data->SetBoolean(kAdbConnectedField, device->is_connected()); 354 device_data->SetBoolean(kAdbConnectedField, device->is_connected());
342 std::string device_id = base::StringPrintf( 355 std::string device_id = base::StringPrintf(
343 kAdbDeviceIdFormat, 356 kAdbDeviceIdFormat,
(...skipping 30 matching lines...) Expand all
374 base::Version local_version(version_info.Version()); 387 base::Version local_version(version_info.Version());
375 388
376 browser_data->SetBoolean(kCompatibleVersion, 389 browser_data->SetBoolean(kCompatibleVersion,
377 (!remote_version.IsValid()) || (!local_version.IsValid()) || 390 (!remote_version.IsValid()) || (!local_version.IsValid()) ||
378 remote_version.components()[0] <= local_version.components()[0]); 391 remote_version.components()[0] <= local_version.components()[0]);
379 392
380 base::ListValue* page_list = new base::ListValue(); 393 base::ListValue* page_list = new base::ListValue();
381 remote_browsers_[browser_id] = browser; 394 remote_browsers_[browser_id] = browser;
382 browser_data->Set(kAdbPagesList, page_list); 395 browser_data->Set(kAdbPagesList, page_list);
383 std::vector<DevToolsAndroidBridge::RemotePage*> pages = 396 std::vector<DevToolsAndroidBridge::RemotePage*> pages =
384 browser->CreatePages(); 397 android_bridge->CreatePages(browser);
385 for (std::vector<DevToolsAndroidBridge::RemotePage*>::iterator it = 398 for (std::vector<DevToolsAndroidBridge::RemotePage*>::iterator it =
386 pages.begin(); it != pages.end(); ++it) { 399 pages.begin(); it != pages.end(); ++it) {
387 DevToolsAndroidBridge::RemotePage* page = *it; 400 DevToolsAndroidBridge::RemotePage* page = *it;
388 DevToolsTargetImpl* target = page->GetTarget(); 401 DevToolsTargetImpl* target = page->GetTarget();
389 base::DictionaryValue* target_data = Serialize(*target); 402 base::DictionaryValue* target_data = Serialize(*target);
390 target_data->SetBoolean( 403 target_data->SetBoolean(
391 kAdbAttachedForeignField, 404 kAdbAttachedForeignField,
392 target->IsAttached() && 405 target->IsAttached() &&
393 !DevToolsAndroidBridge::HasDevToolsWindow(target->GetId())); 406 !DevToolsAndroidBridge::HasDevToolsWindow(target->GetId()));
394 // Pass the screen size in the target object to make sure that 407 // Pass the screen size in the target object to make sure that
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 base::StringPrintf("%d", it->first), it->second); 525 base::StringPrintf("%d", it->first), it->second);
513 } 526 }
514 527
515 std::string device_id = base::StringPrintf( 528 std::string device_id = base::StringPrintf(
516 kAdbDeviceIdFormat, 529 kAdbDeviceIdFormat,
517 sit->first.c_str()); 530 sit->first.c_str());
518 result.Set(device_id, device_status_dict); 531 result.Set(device_id, device_status_dict);
519 } 532 }
520 callback_.Run(result); 533 callback_.Run(result);
521 } 534 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698