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

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

Issue 612913002: DevTools: Split RemotePage and RemotePageTarget (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@values
Patch Set: 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 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 } 298 }
299 299
300 AdbTargetsUIHandler::~AdbTargetsUIHandler() { 300 AdbTargetsUIHandler::~AdbTargetsUIHandler() {
301 DevToolsAndroidBridge* android_bridge = GetAndroidBridge(); 301 DevToolsAndroidBridge* android_bridge = GetAndroidBridge();
302 if (android_bridge) 302 if (android_bridge)
303 android_bridge->RemoveDeviceListListener(this); 303 android_bridge->RemoveDeviceListListener(this);
304 } 304 }
305 305
306 static void CallOnTarget( 306 static void CallOnTarget(
307 const DevToolsTargetsUIHandler::TargetCallback& callback, 307 const DevToolsTargetsUIHandler::TargetCallback& callback,
308 DevToolsAndroidBridge::RemotePage* page) { 308 scoped_refptr<DevToolsAndroidBridge> bridge,
309 scoped_ptr<DevToolsAndroidBridge::RemotePage> my_page(page); 309 scoped_refptr<DevToolsAndroidBridge::RemotePage> page) {
310 callback.Run(my_page ? my_page->GetTarget() : NULL); 310 callback.Run(page.get() ? bridge->CreatePageTarget(page) : 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 return; 319 return;
320 320
321 DevToolsAndroidBridge* android_bridge = GetAndroidBridge(); 321 scoped_refptr<DevToolsAndroidBridge> android_bridge = GetAndroidBridge();
dgozman 2014/09/30 09:23:48 scoped_refptr<DevToolsAndroidBridge> android_bridg
vkuzkokov 2014/10/01 09:05:17 Done.
322 if (android_bridge) 322 if (android_bridge.get()) {
323 android_bridge->Open(it->second, url, base::Bind(&CallOnTarget, callback)); 323 android_bridge->Open(it->second, url,
324 base::Bind(&CallOnTarget, callback, android_bridge));
325 }
324 } 326 }
325 327
326 scoped_refptr<content::DevToolsAgentHost> 328 scoped_refptr<content::DevToolsAgentHost>
327 AdbTargetsUIHandler::GetBrowserAgentHost( 329 AdbTargetsUIHandler::GetBrowserAgentHost(
328 const std::string& browser_id) { 330 const std::string& browser_id) {
329 RemoteBrowsers::iterator it = remote_browsers_.find(browser_id); 331 RemoteBrowsers::iterator it = remote_browsers_.find(browser_id);
330 if (it == remote_browsers_.end()) 332 if (it == remote_browsers_.end())
331 return NULL; 333 return NULL;
332 334
333 DevToolsAndroidBridge* android_bridge = GetAndroidBridge(); 335 DevToolsAndroidBridge* android_bridge = GetAndroidBridge();
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 chrome::VersionInfo version_info; 385 chrome::VersionInfo version_info;
384 base::Version local_version(version_info.Version()); 386 base::Version local_version(version_info.Version());
385 387
386 browser_data->SetBoolean(kCompatibleVersion, 388 browser_data->SetBoolean(kCompatibleVersion,
387 (!remote_version.IsValid()) || (!local_version.IsValid()) || 389 (!remote_version.IsValid()) || (!local_version.IsValid()) ||
388 remote_version.components()[0] <= local_version.components()[0]); 390 remote_version.components()[0] <= local_version.components()[0]);
389 391
390 base::ListValue* page_list = new base::ListValue(); 392 base::ListValue* page_list = new base::ListValue();
391 remote_browsers_[browser_id] = browser; 393 remote_browsers_[browser_id] = browser;
392 browser_data->Set(kAdbPagesList, page_list); 394 browser_data->Set(kAdbPagesList, page_list);
393 std::vector<DevToolsAndroidBridge::RemotePage*> pages = 395 const DevToolsAndroidBridge::RemotePages& pages = browser->pages();
394 android_bridge->CreatePages(browser); 396 for (DevToolsAndroidBridge::RemotePages::const_iterator it =
395 for (std::vector<DevToolsAndroidBridge::RemotePage*>::iterator it =
396 pages.begin(); it != pages.end(); ++it) { 397 pages.begin(); it != pages.end(); ++it) {
397 DevToolsAndroidBridge::RemotePage* page = *it; 398 DevToolsTargetImpl* target = android_bridge->CreatePageTarget(*it);
398 DevToolsTargetImpl* target = page->GetTarget();
399 base::DictionaryValue* target_data = Serialize(*target); 399 base::DictionaryValue* target_data = Serialize(*target);
400 target_data->SetBoolean( 400 target_data->SetBoolean(
401 kAdbAttachedForeignField, 401 kAdbAttachedForeignField,
402 target->IsAttached() && 402 target->IsAttached() &&
403 !android_bridge->HasDevToolsWindow(target->GetId())); 403 !android_bridge->HasDevToolsWindow(target->GetId()));
404 // Pass the screen size in the target object to make sure that 404 // Pass the screen size in the target object to make sure that
405 // the caching logic does not prevent the target item from updating 405 // the caching logic does not prevent the target item from updating
406 // when the screen size changes. 406 // when the screen size changes.
407 gfx::Size screen_size = device->screen_size(); 407 gfx::Size screen_size = device->screen_size();
408 target_data->SetInteger(kAdbScreenWidthField, screen_size.width()); 408 target_data->SetInteger(kAdbScreenWidthField, screen_size.width());
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 base::StringPrintf("%d", it->first), it->second); 526 base::StringPrintf("%d", it->first), it->second);
527 } 527 }
528 528
529 std::string device_id = base::StringPrintf( 529 std::string device_id = base::StringPrintf(
530 kAdbDeviceIdFormat, 530 kAdbDeviceIdFormat,
531 sit->first.c_str()); 531 sit->first.c_str());
532 result.Set(device_id, device_status_dict); 532 result.Set(device_id, device_status_dict);
533 } 533 }
534 callback_.Run(result); 534 callback_.Run(result);
535 } 535 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698