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

Side by Side Diff: chrome/browser/ui/webui/devtools_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 (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 "chrome/browser/ui/webui/devtools_ui.h" 5 #include "chrome/browser/ui/webui/devtools_ui.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/memory/ref_counted_memory.h" 10 #include "base/memory/ref_counted_memory.h"
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 Profile* profile, 261 Profile* profile,
262 const std::string url, 262 const std::string url,
263 const DevToolsAndroidBridge::RemotePageCallback& callback); 263 const DevToolsAndroidBridge::RemotePageCallback& callback);
264 virtual ~OpenRemotePageRequest() {} 264 virtual ~OpenRemotePageRequest() {}
265 265
266 private: 266 private:
267 // DevToolsAndroidBridge::Listener overrides. 267 // DevToolsAndroidBridge::Listener overrides.
268 virtual void DeviceListChanged( 268 virtual void DeviceListChanged(
269 const DevToolsAndroidBridge::RemoteDevices& devices) OVERRIDE; 269 const DevToolsAndroidBridge::RemoteDevices& devices) OVERRIDE;
270 270
271 bool OpenInBrowser(DevToolsAndroidBridge::RemoteBrowser* browser); 271 bool OpenInBrowser(
272 void RemotePageOpened(DevToolsAndroidBridge::RemotePage* page); 272 scoped_refptr<DevToolsAndroidBridge::RemoteBrowser> browser);
273 void RemotePageOpened(scoped_refptr<DevToolsAndroidBridge::RemotePage> page);
273 274
274 std::string url_; 275 std::string url_;
275 DevToolsAndroidBridge::RemotePageCallback callback_; 276 DevToolsAndroidBridge::RemotePageCallback callback_;
276 bool opening_; 277 bool opening_;
277 scoped_refptr<DevToolsAndroidBridge> android_bridge_; 278 scoped_refptr<DevToolsAndroidBridge> android_bridge_;
278 279
279 DISALLOW_COPY_AND_ASSIGN(OpenRemotePageRequest); 280 DISALLOW_COPY_AND_ASSIGN(OpenRemotePageRequest);
280 }; 281 };
281 282
282 OpenRemotePageRequest::OpenRemotePageRequest( 283 OpenRemotePageRequest::OpenRemotePageRequest(
(...skipping 24 matching lines...) Expand all
307 browsers.begin(); bit != browsers.end(); ++bit) { 308 browsers.begin(); bit != browsers.end(); ++bit) {
308 if (OpenInBrowser(bit->get())) { 309 if (OpenInBrowser(bit->get())) {
309 opening_ = true; 310 opening_ = true;
310 return; 311 return;
311 } 312 }
312 } 313 }
313 } 314 }
314 } 315 }
315 316
316 bool OpenRemotePageRequest::OpenInBrowser( 317 bool OpenRemotePageRequest::OpenInBrowser(
317 DevToolsAndroidBridge::RemoteBrowser* browser) { 318 scoped_refptr<DevToolsAndroidBridge::RemoteBrowser> browser) {
318 if (!browser->IsChrome()) 319 if (!browser->IsChrome())
319 return false; 320 return false;
320 #if defined(DEBUG_DEVTOOLS) 321 #if defined(DEBUG_DEVTOOLS)
321 if (browser->serial() == kLocalSerial) 322 if (browser->serial() == kLocalSerial)
322 return false; 323 return false;
323 #endif // defined(DEBUG_DEVTOOLS) 324 #endif // defined(DEBUG_DEVTOOLS)
324 android_bridge_->Open(browser, url_, 325 android_bridge_->Open(browser, url_,
325 base::Bind(&OpenRemotePageRequest::RemotePageOpened, 326 base::Bind(&OpenRemotePageRequest::RemotePageOpened,
326 base::Unretained(this))); 327 base::Unretained(this)));
327 return true; 328 return true;
328 } 329 }
329 330
330 void OpenRemotePageRequest::RemotePageOpened( 331 void OpenRemotePageRequest::RemotePageOpened(
331 DevToolsAndroidBridge::RemotePage* page) { 332 scoped_refptr<DevToolsAndroidBridge::RemotePage> page) {
332 callback_.Run(page); 333 callback_.Run(page);
333 android_bridge_->RemoveDeviceListListener(this); 334 android_bridge_->RemoveDeviceListListener(this);
334 delete this; 335 delete this;
335 } 336 }
336 337
337 } // namespace 338 } // namespace
338 339
339 // DevToolsUI ----------------------------------------------------------------- 340 // DevToolsUI -----------------------------------------------------------------
340 341
341 // static 342 // static
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 bindings_.Detach(); 386 bindings_.Detach();
386 remote_page_opening_url_ = entry->GetVirtualURL(); 387 remote_page_opening_url_ = entry->GetVirtualURL();
387 new OpenRemotePageRequest(Profile::FromWebUI(web_ui()), 388 new OpenRemotePageRequest(Profile::FromWebUI(web_ui()),
388 entry->GetVirtualURL().query(), 389 entry->GetVirtualURL().query(),
389 base::Bind(&DevToolsUI::RemotePageOpened, 390 base::Bind(&DevToolsUI::RemotePageOpened,
390 weak_factory_.GetWeakPtr(), 391 weak_factory_.GetWeakPtr(),
391 entry->GetVirtualURL())); 392 entry->GetVirtualURL()));
392 } 393 }
393 394
394 void DevToolsUI::RemotePageOpened( 395 void DevToolsUI::RemotePageOpened(
395 const GURL& virtual_url, DevToolsAndroidBridge::RemotePage* page) { 396 const GURL& virtual_url,
397 scoped_refptr<DevToolsAndroidBridge::RemotePage> page) {
396 // Already navigated away while connecting to remote device. 398 // Already navigated away while connecting to remote device.
397 if (remote_page_opening_url_ != virtual_url) 399 if (remote_page_opening_url_ != virtual_url)
398 return; 400 return;
399 401
400 scoped_ptr<DevToolsAndroidBridge::RemotePage> my_page(page); 402 scoped_refptr<DevToolsAndroidBridge::RemotePage> my_page = page;
dgozman 2014/09/30 09:23:48 Remove this |my_page|.
vkuzkokov 2014/10/01 09:05:18 Done.
401 remote_page_opening_url_ = GURL(); 403 remote_page_opening_url_ = GURL();
402 404
403 Profile* profile = Profile::FromWebUI(web_ui()); 405 Profile* profile = Profile::FromWebUI(web_ui());
404 GURL url = DevToolsUIBindings::ApplyThemeToURL(profile, 406 GURL url = DevToolsUIBindings::ApplyThemeToURL(profile,
405 DevToolsUI::GetProxyURL(page->GetFrontendURL())); 407 DevToolsUI::GetProxyURL(page->frontend_url()));
406 408
407 content::NavigationController& navigation_controller = 409 content::NavigationController& navigation_controller =
408 web_ui()->GetWebContents()->GetController(); 410 web_ui()->GetWebContents()->GetController();
409 content::NavigationController::LoadURLParams params(url); 411 content::NavigationController::LoadURLParams params(url);
410 params.should_replace_current_entry = true; 412 params.should_replace_current_entry = true;
411 remote_frontend_loading_url_ = virtual_url; 413 remote_frontend_loading_url_ = virtual_url;
412 navigation_controller.LoadURLWithParams(params); 414 navigation_controller.LoadURLWithParams(params);
413 navigation_controller.GetPendingEntry()->SetVirtualURL(virtual_url); 415 navigation_controller.GetPendingEntry()->SetVirtualURL(virtual_url);
414 416
415 bindings_.AttachTo(page->GetTarget()->GetAgentHost()); 417 DevToolsAndroidBridge* bridge =
418 DevToolsAndroidBridge::Factory::GetForProfile(profile);
419 DevToolsTargetImpl* target = bridge->CreatePageTarget(page);
420 bindings_.AttachTo(target->GetAgentHost());
421 delete target;
416 } 422 }
OLDNEW
« chrome/browser/devtools/devtools_targets_ui.cc ('K') | « chrome/browser/ui/webui/devtools_ui.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698