1513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch// found in the LICENSE file. 4513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 5513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch#include "base/debug/debugger.h" 6513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 73f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen#include "base/threading/platform_thread.h" 8513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 9513209b27ff55e2841eac0e4120199c23acce758Ben Murdochnamespace base { 10513209b27ff55e2841eac0e4120199c23acce758Ben Murdochnamespace debug { 11513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 123f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsenstatic bool is_debug_ui_suppressed = false; 133f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen 14513209b27ff55e2841eac0e4120199c23acce758Ben Murdochbool WaitForDebugger(int wait_seconds, bool silent) { 15513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch for (int i = 0; i < wait_seconds * 10; ++i) { 16513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch if (BeingDebugged()) { 17513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch if (!silent) 18513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch BreakDebugger(); 19513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch return true; 20513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch } 21513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch PlatformThread::Sleep(100); 22513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch } 23513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch return false; 24513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch} 25513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 263f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsenvoid SetSuppressDebugUI(bool suppress) { 273f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen is_debug_ui_suppressed = suppress; 283f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen} 293f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen 303f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsenbool IsDebugUISuppressed() { 313f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen return is_debug_ui_suppressed; 323f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen} 333f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen 34513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch} // namespace debug 35513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch} // namespace base 36