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

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 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 DCHECK(android_bridge_.get()); 311 DCHECK(android_bridge_.get());
312 android_bridge_->AddDeviceListListener(this); 312 android_bridge_->AddDeviceListListener(this);
313 } 313 }
314 314
315 AdbTargetsUIHandler::~AdbTargetsUIHandler() { 315 AdbTargetsUIHandler::~AdbTargetsUIHandler() {
316 android_bridge_->RemoveDeviceListListener(this); 316 android_bridge_->RemoveDeviceListListener(this);
317 } 317 }
318 318
319 static void CallOnTarget( 319 static void CallOnTarget(
320 const DevToolsTargetsUIHandler::TargetCallback& callback, 320 const DevToolsTargetsUIHandler::TargetCallback& callback,
321 DevToolsAndroidBridge::RemotePage* page) { 321 scoped_refptr<DevToolsAndroidBridge> bridge,
322 scoped_ptr<DevToolsAndroidBridge::RemotePage> my_page(page); 322 scoped_refptr<DevToolsAndroidBridge::RemotePage> page) {
323 callback.Run(my_page ? my_page->GetTarget() : NULL); 323 callback.Run(page.get() ? bridge->CreatePageTarget(page) : NULL);
dgozman 2014/10/15 14:53:12 nit: nullptr
vkuzkokov 2014/10/15 15:24:19 Done.
324 } 324 }
325 325
326 void AdbTargetsUIHandler::Open( 326 void AdbTargetsUIHandler::Open(
327 const std::string& browser_id, 327 const std::string& browser_id,
328 const std::string& url, 328 const std::string& url,
329 const DevToolsTargetsUIHandler::TargetCallback& callback) { 329 const DevToolsTargetsUIHandler::TargetCallback& callback) {
330 RemoteBrowsers::iterator it = remote_browsers_.find(browser_id); 330 RemoteBrowsers::iterator it = remote_browsers_.find(browser_id);
331 if (it == remote_browsers_.end()) 331 if (it == remote_browsers_.end())
332 return; 332 return;
333 333
334 android_bridge_->OpenRemotePage(it->second, url, 334 android_bridge_->OpenRemotePage(
335 base::Bind(&CallOnTarget, callback)); 335 it->second,
336 url,
337 base::Bind(&CallOnTarget, callback, android_bridge_));
336 } 338 }
337 339
338 scoped_refptr<content::DevToolsAgentHost> 340 scoped_refptr<content::DevToolsAgentHost>
339 AdbTargetsUIHandler::GetBrowserAgentHost( 341 AdbTargetsUIHandler::GetBrowserAgentHost(
340 const std::string& browser_id) { 342 const std::string& browser_id) {
341 RemoteBrowsers::iterator it = remote_browsers_.find(browser_id); 343 RemoteBrowsers::iterator it = remote_browsers_.find(browser_id);
342 if (it == remote_browsers_.end()) 344 if (it == remote_browsers_.end())
343 return NULL; 345 return NULL;
344 346
345 return android_bridge_->GetBrowserAgentHost(it->second); 347 return android_bridge_->GetBrowserAgentHost(it->second);
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 chrome::VersionInfo version_info; 389 chrome::VersionInfo version_info;
388 base::Version local_version(version_info.Version()); 390 base::Version local_version(version_info.Version());
389 391
390 browser_data->SetBoolean(kCompatibleVersion, 392 browser_data->SetBoolean(kCompatibleVersion,
391 (!remote_version.IsValid()) || (!local_version.IsValid()) || 393 (!remote_version.IsValid()) || (!local_version.IsValid()) ||
392 remote_version.components()[0] <= local_version.components()[0]); 394 remote_version.components()[0] <= local_version.components()[0]);
393 395
394 base::ListValue* page_list = new base::ListValue(); 396 base::ListValue* page_list = new base::ListValue();
395 remote_browsers_[browser_id] = browser; 397 remote_browsers_[browser_id] = browser;
396 browser_data->Set(kAdbPagesList, page_list); 398 browser_data->Set(kAdbPagesList, page_list);
397 std::vector<DevToolsAndroidBridge::RemotePage*> pages = 399 const DevToolsAndroidBridge::RemotePages& pages = browser->pages();
398 android_bridge_->CreatePages(browser); 400 for (DevToolsAndroidBridge::RemotePages::const_iterator it =
dgozman 2014/10/15 14:53:12 nit: use for range iteration and auto
vkuzkokov 2014/10/15 15:24:19 Done.
399 for (std::vector<DevToolsAndroidBridge::RemotePage*>::iterator it =
400 pages.begin(); it != pages.end(); ++it) { 401 pages.begin(); it != pages.end(); ++it) {
401 DevToolsAndroidBridge::RemotePage* page = *it; 402 DevToolsTargetImpl* target = android_bridge_->CreatePageTarget(*it);
402 DevToolsTargetImpl* target = page->GetTarget();
403 base::DictionaryValue* target_data = Serialize(*target); 403 base::DictionaryValue* target_data = Serialize(*target);
404 target_data->SetBoolean( 404 target_data->SetBoolean(
405 kAdbAttachedForeignField, 405 kAdbAttachedForeignField,
406 target->IsAttached() && 406 target->IsAttached() &&
407 !android_bridge_->HasDevToolsWindow(target->GetId())); 407 !android_bridge_->HasDevToolsWindow(target->GetId()));
408 // Pass the screen size in the target object to make sure that 408 // Pass the screen size in the target object to make sure that
409 // the caching logic does not prevent the target item from updating 409 // the caching logic does not prevent the target item from updating
410 // when the screen size changes. 410 // when the screen size changes.
411 gfx::Size screen_size = device->screen_size(); 411 gfx::Size screen_size = device->screen_size();
412 target_data->SetInteger(kAdbScreenWidthField, screen_size.width()); 412 target_data->SetInteger(kAdbScreenWidthField, screen_size.width());
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
531 device_status_dict->SetString(kPortForwardingBrowserId, 531 device_status_dict->SetString(kPortForwardingBrowserId,
532 SerializeBrowserId(sit->first)); 532 SerializeBrowserId(sit->first));
533 533
534 std::string device_id = base::StringPrintf( 534 std::string device_id = base::StringPrintf(
535 kAdbDeviceIdFormat, 535 kAdbDeviceIdFormat,
536 sit->first->serial().c_str()); 536 sit->first->serial().c_str());
537 result.Set(device_id, device_status_dict); 537 result.Set(device_id, device_status_dict);
538 } 538 }
539 callback_.Run(result); 539 callback_.Run(result);
540 } 540 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698