| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2010 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2010-2011 Google Inc. All rights reserved. | 3 * Copyright (C) 2010-2011 Google Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * | 8 * |
| 9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 456 ScriptsMap::iterator it = m_scripts.find(scriptIdString); | 456 ScriptsMap::iterator it = m_scripts.find(scriptIdString); |
| 457 if (it == m_scripts.end()) | 457 if (it == m_scripts.end()) |
| 458 return String(); | 458 return String(); |
| 459 return it->value.url; | 459 return it->value.url; |
| 460 } | 460 } |
| 461 | 461 |
| 462 ScriptDebugListener::SkipPauseRequest InspectorDebuggerAgent::shouldSkipExceptio
nPause(RefPtr<JavaScriptCallFrame>& topFrame) | 462 ScriptDebugListener::SkipPauseRequest InspectorDebuggerAgent::shouldSkipExceptio
nPause(RefPtr<JavaScriptCallFrame>& topFrame) |
| 463 { | 463 { |
| 464 if (m_skipAllPauses) | 464 if (m_skipAllPauses) |
| 465 return ScriptDebugListener::Continue; | 465 return ScriptDebugListener::Continue; |
| 466 if (!topFrame) |
| 467 return ScriptDebugListener::NoSkip; |
| 466 | 468 |
| 467 String topFrameScriptUrl = scriptURL(topFrame.get()); | 469 String topFrameScriptUrl = scriptURL(topFrame.get()); |
| 468 if (m_cachedSkipStackRegExp && !topFrameScriptUrl.isEmpty() && m_cachedSkipS
tackRegExp->match(topFrameScriptUrl) != -1) | 470 if (m_cachedSkipStackRegExp && !topFrameScriptUrl.isEmpty() && m_cachedSkipS
tackRegExp->match(topFrameScriptUrl) != -1) |
| 469 return ScriptDebugListener::Continue; | 471 return ScriptDebugListener::Continue; |
| 470 | 472 |
| 471 // Prepare top frame parameters; | |
| 472 int topFrameLineNumber = topFrame->line(); | |
| 473 int topFrameColumnNumber = topFrame->column(); | |
| 474 | |
| 475 // Match against breakpoints. | 473 // Match against breakpoints. |
| 476 if (topFrameScriptUrl.isEmpty()) | 474 if (topFrameScriptUrl.isEmpty()) |
| 477 return ScriptDebugListener::NoSkip; | 475 return ScriptDebugListener::NoSkip; |
| 478 | 476 |
| 477 // Prepare top frame parameters. |
| 478 int topFrameLineNumber = topFrame->line(); |
| 479 int topFrameColumnNumber = topFrame->column(); |
| 480 |
| 479 RefPtr<JSONObject> breakpointsCookie = m_state->getObject(DebuggerAgentState
::javaScriptBreakpoints); | 481 RefPtr<JSONObject> breakpointsCookie = m_state->getObject(DebuggerAgentState
::javaScriptBreakpoints); |
| 480 for (JSONObject::iterator it = breakpointsCookie->begin(); it != breakpoints
Cookie->end(); ++it) { | 482 for (JSONObject::iterator it = breakpointsCookie->begin(); it != breakpoints
Cookie->end(); ++it) { |
| 481 RefPtr<JSONObject> breakpointObject = it->value->asObject(); | 483 RefPtr<JSONObject> breakpointObject = it->value->asObject(); |
| 482 bool isAntibreakpoint; | 484 bool isAntibreakpoint; |
| 483 breakpointObject->getBoolean(DebuggerAgentState::isAnti, &isAntibreakpoi
nt); | 485 breakpointObject->getBoolean(DebuggerAgentState::isAnti, &isAntibreakpoi
nt); |
| 484 if (!isAntibreakpoint) | 486 if (!isAntibreakpoint) |
| 485 continue; | 487 continue; |
| 486 | 488 |
| 487 int breakLineNumber; | 489 int breakLineNumber; |
| 488 breakpointObject->getNumber(DebuggerAgentState::lineNumber, &breakLineNu
mber); | 490 breakpointObject->getNumber(DebuggerAgentState::lineNumber, &breakLineNu
mber); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 505 return ScriptDebugListener::Continue; | 507 return ScriptDebugListener::Continue; |
| 506 } | 508 } |
| 507 | 509 |
| 508 return ScriptDebugListener::NoSkip; | 510 return ScriptDebugListener::NoSkip; |
| 509 } | 511 } |
| 510 | 512 |
| 511 ScriptDebugListener::SkipPauseRequest InspectorDebuggerAgent::shouldSkipBreakpoi
ntPause(RefPtr<JavaScriptCallFrame>& topFrame) | 513 ScriptDebugListener::SkipPauseRequest InspectorDebuggerAgent::shouldSkipBreakpoi
ntPause(RefPtr<JavaScriptCallFrame>& topFrame) |
| 512 { | 514 { |
| 513 if (m_skipAllPauses) | 515 if (m_skipAllPauses) |
| 514 return ScriptDebugListener::Continue; | 516 return ScriptDebugListener::Continue; |
| 517 if (!topFrame) |
| 518 return ScriptDebugListener::NoSkip; |
| 515 return ScriptDebugListener::NoSkip; | 519 return ScriptDebugListener::NoSkip; |
| 516 } | 520 } |
| 517 | 521 |
| 518 ScriptDebugListener::SkipPauseRequest InspectorDebuggerAgent::shouldSkipStepPaus
e(RefPtr<JavaScriptCallFrame>& topFrame) | 522 ScriptDebugListener::SkipPauseRequest InspectorDebuggerAgent::shouldSkipStepPaus
e(RefPtr<JavaScriptCallFrame>& topFrame) |
| 519 { | 523 { |
| 520 if (m_skipAllPauses) | 524 if (m_skipAllPauses) |
| 521 return ScriptDebugListener::Continue; | 525 return ScriptDebugListener::Continue; |
| 526 if (!topFrame) |
| 527 return ScriptDebugListener::NoSkip; |
| 522 | 528 |
| 523 if (m_cachedSkipStackRegExp) { | 529 if (m_cachedSkipStackRegExp) { |
| 524 String scriptUrl = scriptURL(topFrame.get()); | 530 String scriptUrl = scriptURL(topFrame.get()); |
| 525 if (!scriptUrl.isEmpty() && m_cachedSkipStackRegExp->match(scriptUrl) !=
-1) { | 531 if (!scriptUrl.isEmpty() && m_cachedSkipStackRegExp->match(scriptUrl) !=
-1) { |
| 526 if (m_skipStepInCount > 0) { | 532 if (m_skipStepInCount > 0) { |
| 527 --m_skipStepInCount; | 533 --m_skipStepInCount; |
| 528 return ScriptDebugListener::StepInto; | 534 return ScriptDebugListener::StepInto; |
| 529 } | 535 } |
| 530 return ScriptDebugListener::StepOut; | 536 return ScriptDebugListener::StepOut; |
| 531 } | 537 } |
| (...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1018 m_frontend->resumed(); | 1024 m_frontend->resumed(); |
| 1019 } | 1025 } |
| 1020 | 1026 |
| 1021 bool InspectorDebuggerAgent::canBreakProgram() | 1027 bool InspectorDebuggerAgent::canBreakProgram() |
| 1022 { | 1028 { |
| 1023 return scriptDebugServer().canBreakProgram(); | 1029 return scriptDebugServer().canBreakProgram(); |
| 1024 } | 1030 } |
| 1025 | 1031 |
| 1026 void InspectorDebuggerAgent::breakProgram(InspectorFrontend::Debugger::Reason::E
num breakReason, PassRefPtr<JSONObject> data) | 1032 void InspectorDebuggerAgent::breakProgram(InspectorFrontend::Debugger::Reason::E
num breakReason, PassRefPtr<JSONObject> data) |
| 1027 { | 1033 { |
| 1034 if (m_skipAllPauses) |
| 1035 return; |
| 1028 m_breakReason = breakReason; | 1036 m_breakReason = breakReason; |
| 1029 m_breakAuxData = data; | 1037 m_breakAuxData = data; |
| 1030 scriptDebugServer().breakProgram(); | 1038 scriptDebugServer().breakProgram(); |
| 1031 } | 1039 } |
| 1032 | 1040 |
| 1033 void InspectorDebuggerAgent::clear() | 1041 void InspectorDebuggerAgent::clear() |
| 1034 { | 1042 { |
| 1035 m_pausedScriptState = 0; | 1043 m_pausedScriptState = 0; |
| 1036 m_currentCallStack = ScriptValue(); | 1044 m_currentCallStack = ScriptValue(); |
| 1037 m_scripts.clear(); | 1045 m_scripts.clear(); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1073 void InspectorDebuggerAgent::reset() | 1081 void InspectorDebuggerAgent::reset() |
| 1074 { | 1082 { |
| 1075 m_scripts.clear(); | 1083 m_scripts.clear(); |
| 1076 m_breakpointIdToDebugServerBreakpointIds.clear(); | 1084 m_breakpointIdToDebugServerBreakpointIds.clear(); |
| 1077 if (m_frontend) | 1085 if (m_frontend) |
| 1078 m_frontend->globalObjectCleared(); | 1086 m_frontend->globalObjectCleared(); |
| 1079 } | 1087 } |
| 1080 | 1088 |
| 1081 } // namespace WebCore | 1089 } // namespace WebCore |
| 1082 | 1090 |
| OLD | NEW |