Title: [93042] trunk/Source/WebCore
- Revision
- 93042
- Author
- pfeld...@chromium.org
- Date
- 2011-08-15 07:32:41 -0700 (Mon, 15 Aug 2011)
Log Message
Web Inspector: [V8] crash upon stepIn while not on pause.
https://bugs.webkit.org/show_bug.cgi?id=66221
Reviewed by Yury Semikhatsky.
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::resume):
(WebCore::InspectorDebuggerAgent::stepOver):
(WebCore::InspectorDebuggerAgent::stepInto):
(WebCore::InspectorDebuggerAgent::stepOut):
(WebCore::InspectorDebuggerAgent::assertPaused):
* inspector/InspectorDebuggerAgent.h:
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._stepOverClicked):
(WebInspector.ScriptsPanel.prototype._stepIntoClicked):
(WebInspector.ScriptsPanel.prototype._stepOutClicked):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (93041 => 93042)
--- trunk/Source/WebCore/ChangeLog 2011-08-15 14:26:24 UTC (rev 93041)
+++ trunk/Source/WebCore/ChangeLog 2011-08-15 14:32:41 UTC (rev 93042)
@@ -1,3 +1,22 @@
+2011-08-15 Pavel Feldman <pfeld...@google.com>
+
+ Web Inspector: [V8] crash upon stepIn while not on pause.
+ https://bugs.webkit.org/show_bug.cgi?id=66221
+
+ Reviewed by Yury Semikhatsky.
+
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::resume):
+ (WebCore::InspectorDebuggerAgent::stepOver):
+ (WebCore::InspectorDebuggerAgent::stepInto):
+ (WebCore::InspectorDebuggerAgent::stepOut):
+ (WebCore::InspectorDebuggerAgent::assertPaused):
+ * inspector/InspectorDebuggerAgent.h:
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._stepOverClicked):
+ (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
+ (WebInspector.ScriptsPanel.prototype._stepOutClicked):
+
2011-08-15 Vsevolod Vlasov <vse...@chromium.org>
Web Inspector: Network panel: display the current search match index in the toolbar.
Modified: trunk/Source/WebCore/inspector/InspectorDebuggerAgent.cpp (93041 => 93042)
--- trunk/Source/WebCore/inspector/InspectorDebuggerAgent.cpp 2011-08-15 14:26:24 UTC (rev 93041)
+++ trunk/Source/WebCore/inspector/InspectorDebuggerAgent.cpp 2011-08-15 14:32:41 UTC (rev 93042)
@@ -356,24 +356,32 @@
m_javaScriptPauseScheduled = true;
}
-void InspectorDebuggerAgent::resume(ErrorString*)
+void InspectorDebuggerAgent::resume(ErrorString* errorString)
{
+ if (!assertPaused(errorString))
+ return;
m_injectedScriptManager->releaseObjectGroup(InspectorDebuggerAgent::backtraceObjectGroup);
scriptDebugServer().continueProgram();
}
-void InspectorDebuggerAgent::stepOver(ErrorString*)
+void InspectorDebuggerAgent::stepOver(ErrorString* errorString)
{
+ if (!assertPaused(errorString))
+ return;
scriptDebugServer().stepOverStatement();
}
-void InspectorDebuggerAgent::stepInto(ErrorString*)
+void InspectorDebuggerAgent::stepInto(ErrorString* errorString)
{
+ if (!assertPaused(errorString))
+ return;
scriptDebugServer().stepIntoStatement();
}
-void InspectorDebuggerAgent::stepOut(ErrorString*)
+void InspectorDebuggerAgent::stepOut(ErrorString* errorString)
{
+ if (!assertPaused(errorString))
+ return;
scriptDebugServer().stepOutOfFunction();
}
@@ -505,6 +513,15 @@
m_javaScriptPauseScheduled = false;
}
+bool InspectorDebuggerAgent::assertPaused(ErrorString* errorString)
+{
+ if (!m_pausedScriptState) {
+ *errorString = "Can only perform operation while paused.";
+ return false;
+ }
+ return true;
+}
+
} // namespace WebCore
#endif // ENABLE(_javascript__DEBUGGER) && ENABLE(INSPECTOR)
Modified: trunk/Source/WebCore/inspector/InspectorDebuggerAgent.h (93041 => 93042)
--- trunk/Source/WebCore/inspector/InspectorDebuggerAgent.h 2011-08-15 14:26:24 UTC (rev 93041)
+++ trunk/Source/WebCore/inspector/InspectorDebuggerAgent.h 2011-08-15 14:32:41 UTC (rev 93042)
@@ -136,6 +136,7 @@
PassRefPtr<InspectorObject> resolveBreakpoint(const String& breakpointId, const String& scriptId, const ScriptBreakpoint&);
void clear();
+ bool assertPaused(ErrorString*);
typedef HashMap<String, Script> ScriptsMap;
typedef HashMap<String, Vector<String> > BreakpointIdToDebugServerBreakpointIdsMap;
Modified: trunk/Source/WebCore/inspector/front-end/ScriptsPanel.js (93041 => 93042)
--- trunk/Source/WebCore/inspector/front-end/ScriptsPanel.js 2011-08-15 14:26:24 UTC (rev 93041)
+++ trunk/Source/WebCore/inspector/front-end/ScriptsPanel.js 2011-08-15 14:32:41 UTC (rev 93042)
@@ -950,6 +950,9 @@
_stepOverClicked: function()
{
+ if (!this._paused)
+ return;
+
this._paused = false;
this._stepping = true;
@@ -960,6 +963,9 @@
_stepIntoClicked: function()
{
+ if (!this._paused)
+ return;
+
this._paused = false;
this._stepping = true;
@@ -970,6 +976,9 @@
_stepOutClicked: function()
{
+ if (!this._paused)
+ return;
+
this._paused = false;
this._stepping = true;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes