OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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/debugger/devtools_manager.h" | 5 #include "chrome/browser/debugger/devtools_manager.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
335 DCHECK(window); | 335 DCHECK(window); |
336 window->SetDocked(docked); | 336 window->SetDocked(docked); |
337 } | 337 } |
338 | 338 |
339 void DevToolsManager::ToggleDevToolsWindow(RenderViewHost* inspected_rvh, | 339 void DevToolsManager::ToggleDevToolsWindow(RenderViewHost* inspected_rvh, |
340 bool force_open, | 340 bool force_open, |
341 bool open_console) { | 341 bool open_console) { |
342 bool do_open = force_open; | 342 bool do_open = force_open; |
343 DevToolsClientHost* host = GetDevToolsClientHostFor(inspected_rvh); | 343 DevToolsClientHost* host = GetDevToolsClientHostFor(inspected_rvh); |
344 if (!host) { | 344 if (!host) { |
345 #if defined OS_MACOSX | |
346 // TODO(pfeldman): Implement dock on Mac OS. | |
347 bool docked = false; | |
348 #else | |
349 bool docked = inspected_rvh->process()->profile()->GetPrefs()-> | 345 bool docked = inspected_rvh->process()->profile()->GetPrefs()-> |
350 GetBoolean(prefs::kDevToolsOpenDocked); | 346 GetBoolean(prefs::kDevToolsOpenDocked); |
351 #endif | |
352 host = new DevToolsWindow( | 347 host = new DevToolsWindow( |
353 inspected_rvh->site_instance()->browsing_instance()->profile(), | 348 inspected_rvh->site_instance()->browsing_instance()->profile(), |
354 inspected_rvh, | 349 inspected_rvh, |
355 docked); | 350 docked); |
356 RegisterDevToolsClientHostFor(inspected_rvh, host); | 351 RegisterDevToolsClientHostFor(inspected_rvh, host); |
357 do_open = true; | 352 do_open = true; |
358 } | 353 } |
359 DevToolsWindow* window = host->AsDevToolsWindow(); | 354 DevToolsWindow* window = host->AsDevToolsWindow(); |
360 if (!window) | 355 if (!window) |
361 return; | 356 return; |
362 | 357 |
363 // If window is docked and visible, we hide it on toggle. If window is | 358 // If window is docked and visible, we hide it on toggle. If window is |
364 // undocked, we show (activate) it. | 359 // undocked, we show (activate) it. |
365 if (!window->is_docked() || do_open) { | 360 if (!window->is_docked() || do_open) { |
366 AutoReset auto_reset_in_initial_show(&in_initial_show_, true); | 361 AutoReset auto_reset_in_initial_show(&in_initial_show_, true); |
367 window->Show(open_console); | 362 window->Show(open_console); |
368 } else { | 363 } else { |
369 CloseWindow(host); | 364 CloseWindow(host); |
370 } | 365 } |
371 } | 366 } |
372 | 367 |
373 void DevToolsManager::CloseWindow(DevToolsClientHost* client_host) { | 368 void DevToolsManager::CloseWindow(DevToolsClientHost* client_host) { |
374 RenderViewHost* inspected_rvh = GetInspectedRenderViewHost(client_host); | 369 RenderViewHost* inspected_rvh = GetInspectedRenderViewHost(client_host); |
375 DCHECK(inspected_rvh); | 370 DCHECK(inspected_rvh); |
376 SendDetachToAgent(inspected_rvh); | 371 SendDetachToAgent(inspected_rvh); |
377 | 372 |
378 UnregisterDevToolsClientHostFor(inspected_rvh); | 373 UnregisterDevToolsClientHostFor(inspected_rvh); |
379 } | 374 } |
OLD | NEW |