| Index: chrome/browser/devtools/devtools_window.cc
|
| diff --git a/chrome/browser/devtools/devtools_window.cc b/chrome/browser/devtools/devtools_window.cc
|
| index 0123c053cf61eac1699904e6c08a09a59847df87..a45a1b5336502845d3bc4ff4d8df23051a2c11b3 100644
|
| --- a/chrome/browser/devtools/devtools_window.cc
|
| +++ b/chrome/browser/devtools/devtools_window.cc
|
| @@ -498,20 +498,28 @@ void DevToolsWindow::AddDevToolsExtensionsToClient() {
|
|
|
| WebContents* DevToolsWindow::OpenURLFromTab(WebContents* source,
|
| const OpenURLParams& params) {
|
| - if (params.url.SchemeIs(chrome::kChromeDevToolsScheme)) {
|
| - chrome::NavigateParams nav_params(profile_, params.url, params.transition);
|
| - FillNavigateParamsFromOpenURLParams(&nav_params, params);
|
| - nav_params.source_contents = source;
|
| - nav_params.tabstrip_add_types = TabStripModel::ADD_NONE;
|
| - nav_params.window_action = chrome::NavigateParams::SHOW_WINDOW;
|
| - nav_params.user_gesture = true;
|
| - chrome::Navigate(&nav_params);
|
| - return nav_params.target_contents;
|
| - }
|
| -
|
| - if (inspected_web_contents_)
|
| - return inspected_web_contents_->OpenURL(params);
|
| - return NULL;
|
| + if (!params.url.SchemeIs(chrome::kChromeDevToolsScheme)) {
|
| + if (inspected_web_contents_)
|
| + return inspected_web_contents_->OpenURL(params);
|
| + return NULL;
|
| + }
|
| +
|
| + DevToolsManager* manager = DevToolsManager::GetInstance();
|
| + scoped_refptr<DevToolsAgentHost> agent_host(
|
| + manager->GetDevToolsAgentHostFor(frontend_host_.get()));
|
| + if (!agent_host)
|
| + return NULL;
|
| + manager->ClientHostClosing(frontend_host_.get());
|
| + manager->RegisterDevToolsClientHostFor(agent_host, frontend_host_.get());
|
| +
|
| + chrome::NavigateParams nav_params(profile_, params.url, params.transition);
|
| + FillNavigateParamsFromOpenURLParams(&nav_params, params);
|
| + nav_params.source_contents = source;
|
| + nav_params.tabstrip_add_types = TabStripModel::ADD_NONE;
|
| + nav_params.window_action = chrome::NavigateParams::SHOW_WINDOW;
|
| + nav_params.user_gesture = true;
|
| + chrome::Navigate(&nav_params);
|
| + return nav_params.target_contents;
|
| }
|
|
|
| void DevToolsWindow::CallClientFunction(const std::string& function_name,
|
|
|