Diff
Modified: releases/WebKitGTK/webkit-2.28/LayoutTests/ChangeLog (255938 => 255939)
--- releases/WebKitGTK/webkit-2.28/LayoutTests/ChangeLog 2020-02-06 15:11:05 UTC (rev 255938)
+++ releases/WebKitGTK/webkit-2.28/LayoutTests/ChangeLog 2020-02-06 15:11:17 UTC (rev 255939)
@@ -1,3 +1,13 @@
+2020-02-05 Devin Rousso <[email protected]>
+
+ Web Inspector: Sources: add a special breakpoint for controlling whether `debugger` statements pause
+ https://bugs.webkit.org/show_bug.cgi?id=206818
+
+ Reviewed by Timothy Hatcher.
+
+ * inspector/debugger/setPauseOnDebuggerStatements.html: Added.
+ * inspector/debugger/setPauseOnDebuggerStatements-expected.txt: Added.
+
2020-02-05 Chris Dumez <[email protected]>
Regression(r248734) StorageAreaMap objects are getting leaked
Added: releases/WebKitGTK/webkit-2.28/LayoutTests/inspector/debugger/setPauseOnDebuggerStatements-expected.txt (0 => 255939)
--- releases/WebKitGTK/webkit-2.28/LayoutTests/inspector/debugger/setPauseOnDebuggerStatements-expected.txt (rev 0)
+++ releases/WebKitGTK/webkit-2.28/LayoutTests/inspector/debugger/setPauseOnDebuggerStatements-expected.txt 2020-02-06 15:11:17 UTC (rev 255939)
@@ -0,0 +1,10 @@
+Tests for Debugger.setPauseOnDebuggerStatements command.
+
+
+== Running test suite: Debugger.setPauseOnDebuggerStatements
+-- Running test case: Debugger.setPauseOnDebuggerStatements.Disabled
+PASS: Should not pause.
+
+-- Running test case: Debugger.setPauseOnDebuggerStatements.Enabled
+PASS: Should paused.
+
Added: releases/WebKitGTK/webkit-2.28/LayoutTests/inspector/debugger/setPauseOnDebuggerStatements.html (0 => 255939)
--- releases/WebKitGTK/webkit-2.28/LayoutTests/inspector/debugger/setPauseOnDebuggerStatements.html (rev 0)
+++ releases/WebKitGTK/webkit-2.28/LayoutTests/inspector/debugger/setPauseOnDebuggerStatements.html 2020-02-06 15:11:17 UTC (rev 255939)
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+<script>
+function triggerDebuggerStatement() {
+ debugger;
+}
+
+function test()
+{
+ let suite = InspectorTest.createAsyncSuite("Debugger.setPauseOnDebuggerStatements");
+
+ suite.addTestCase({
+ name: "Debugger.setPauseOnDebuggerStatements.Disabled",
+ description: "Test that the debugger does not pause on `debugger` statements when `setPauseOnDebuggerStatements` is disabled.",
+ test(resolve, reject) {
+ WI.debuggerManager.debuggerStatementsBreakpoint.disabled = true;
+
+ let listener = WI.debuggerManager.singleFireEventListener(WI.DebuggerManager.Event.Paused, (event) => {
+ InspectorTest.fail("Should not have paused.");
+ reject();
+ });
+
+ InspectorTest.evaluateInPage("triggerDebuggerStatement()", () => {
+ InspectorTest.pass("Should not pause.");
+ WI.debuggerManager.removeEventListener(WI.DebuggerManager.Event.Paused, listener);
+ resolve();
+ });
+ }
+ });
+
+ suite.addTestCase({
+ name: "Debugger.setPauseOnDebuggerStatements.Enabled",
+ description: "Test that the debugger does pause on `debugger` statements when `setPauseOnDebuggerStatements` is enabled.",
+ test(resolve, reject) {
+ WI.debuggerManager.debuggerStatementsBreakpoint.disabled = false;
+
+ let didPause = false;
+ let listener = WI.debuggerManager.singleFireEventListener(WI.DebuggerManager.Event.Paused, (event) => {
+ InspectorTest.pass("Should paused.");
+ WI.debuggerManager.resume();
+ didPause = true;
+ });
+
+ InspectorTest.evaluateInPage("triggerDebuggerStatement()", () => {
+ if (!didPause)
+ InspectorTest.fail("Should have paused.");
+ resolve();
+ });
+ }
+ });
+
+ suite.runTestCasesAndFinish();
+}
+</script>
+</head>
+<body _onload_="runTest()">
+<p>Tests for Debugger.setPauseOnDebuggerStatements command.</p>
+</body>
+</html>
Modified: releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/ChangeLog (255938 => 255939)
--- releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/ChangeLog 2020-02-06 15:11:05 UTC (rev 255938)
+++ releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/ChangeLog 2020-02-06 15:11:17 UTC (rev 255939)
@@ -1,3 +1,33 @@
+2020-02-05 Devin Rousso <[email protected]>
+
+ Web Inspector: Sources: add a special breakpoint for controlling whether `debugger` statements pause
+ https://bugs.webkit.org/show_bug.cgi?id=206818
+
+ Reviewed by Timothy Hatcher.
+
+ * inspector/protocol/Debugger.json:
+ * inspector/agents/InspectorDebuggerAgent.h:
+ * inspector/agents/InspectorDebuggerAgent.cpp:
+ (Inspector::InspectorDebuggerAgent::setPauseOnDebuggerStatements): Added.
+
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::DebuggerStatementNode::emitBytecode):
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::finishCreation):
+ * bytecode/UnlinkedCodeBlock.cpp:
+ (JSC::dumpLineColumnEntry):
+ * interpreter/Interpreter.h:
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::debug):
+ (WTF::printInternal):
+ * debugger/Debugger.h:
+ (JSC::Debugger::setPauseOnDebuggerStatements): Added.
+ * debugger/Debugger.cpp:
+ (JSC::Debugger::didReachDebuggerStatement): Added.
+ (JSC::Debugger::didReachBreakpoint): Deleted.
+ Replace `DebugHookType::DidReachBreakpoint` with `DebugHookType::DidReachDebuggerStatement`,
+ as it is only actually used for `debugger;` statements, not breakpoints.
+
2020-02-04 Yusuke Suzuki <[email protected]>
[JSC] Structure::setMaxOffset and setTransitionOffset are racy
Modified: releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/bytecode/CodeBlock.cpp (255938 => 255939)
--- releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/bytecode/CodeBlock.cpp 2020-02-06 15:11:05 UTC (rev 255938)
+++ releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/bytecode/CodeBlock.cpp 2020-02-06 15:11:17 UTC (rev 255939)
@@ -758,7 +758,7 @@
}
case op_debug: {
- if (instruction->as<OpDebug>().m_debugHookType == DidReachBreakpoint)
+ if (instruction->as<OpDebug>().m_debugHookType == DidReachDebuggerStatement)
m_hasDebuggerStatement = true;
break;
}
Modified: releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/bytecode/UnlinkedCodeBlock.cpp (255938 => 255939)
--- releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/bytecode/UnlinkedCodeBlock.cpp 2020-02-06 15:11:05 UTC (rev 255938)
+++ releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/bytecode/UnlinkedCodeBlock.cpp 2020-02-06 15:11:17 UTC (rev 255939)
@@ -156,7 +156,7 @@
case WillExecuteProgram: event = " WillExecuteProgram"; break;
case DidExecuteProgram: event = " DidExecuteProgram"; break;
case DidEnterCallFrame: event = " DidEnterCallFrame"; break;
- case DidReachBreakpoint: event = " DidReachBreakpoint"; break;
+ case DidReachDebuggerStatement: event = " DidReachDebuggerStatement"; break;
case WillLeaveCallFrame: event = " WillLeaveCallFrame"; break;
case WillExecuteStatement: event = " WillExecuteStatement"; break;
case WillExecuteExpression: event = " WillExecuteExpression"; break;
Modified: releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/bytecompiler/NodesCodegen.cpp (255938 => 255939)
--- releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/bytecompiler/NodesCodegen.cpp 2020-02-06 15:11:05 UTC (rev 255938)
+++ releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/bytecompiler/NodesCodegen.cpp 2020-02-06 15:11:17 UTC (rev 255939)
@@ -3059,7 +3059,7 @@
void DebuggerStatementNode::emitBytecode(BytecodeGenerator& generator, RegisterID*)
{
- generator.emitDebugHook(DidReachBreakpoint, position());
+ generator.emitDebugHook(DidReachDebuggerStatement, position());
}
// ------------------------------ ExprStatementNode ----------------------------
Modified: releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/debugger/Debugger.cpp (255938 => 255939)
--- releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/debugger/Debugger.cpp 2020-02-06 15:11:05 UTC (rev 255938)
+++ releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/debugger/Debugger.cpp 2020-02-06 15:11:17 UTC (rev 255939)
@@ -914,11 +914,14 @@
m_afterBlackboxedScript = false;
}
-void Debugger::didReachBreakpoint(CallFrame* callFrame)
+void Debugger::didReachDebuggerStatement(CallFrame* callFrame)
{
if (m_isPaused)
return;
+ if (!m_pauseOnDebuggerStatements)
+ return;
+
PauseReasonDeclaration reason(*this, PausedForDebuggerStatement);
m_pauseAtNextOpportunity = true;
setSteppingMode(SteppingModeEnabled);
Modified: releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/debugger/Debugger.h (255938 => 255939)
--- releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/debugger/Debugger.h 2020-02-06 15:11:05 UTC (rev 255938)
+++ releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/debugger/Debugger.h 2020-02-06 15:11:17 UTC (rev 255939)
@@ -89,6 +89,8 @@
PauseOnExceptionsState pauseOnExceptionsState() const { return m_pauseOnExceptionsState; }
void setPauseOnExceptionsState(PauseOnExceptionsState);
+ void setPauseOnDebuggerStatements(bool enabled) { m_pauseOnDebuggerStatements = enabled; }
+
enum ReasonForPause {
NotPaused,
PausedForException,
@@ -132,7 +134,7 @@
void unwindEvent(CallFrame*);
void willExecuteProgram(CallFrame*);
void didExecuteProgram(CallFrame*);
- void didReachBreakpoint(CallFrame*);
+ void didReachDebuggerStatement(CallFrame*);
virtual void recompileAllJSFunctions();
@@ -226,6 +228,7 @@
HashMap<SourceID, BlackboxType, WTF::IntHash<SourceID>, WTF::UnsignedWithZeroKeyHashTraits<SourceID>> m_blackboxedScripts;
PauseOnExceptionsState m_pauseOnExceptionsState;
+ bool m_pauseOnDebuggerStatements : 1;
bool m_pauseAtNextOpportunity : 1;
bool m_pauseOnStepOut : 1;
bool m_pastFirstExpressionInStatement : 1;
Modified: releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/inspector/agents/InspectorDebuggerAgent.cpp (255938 => 255939)
--- releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/inspector/agents/InspectorDebuggerAgent.cpp 2020-02-06 15:11:05 UTC (rev 255938)
+++ releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/inspector/agents/InspectorDebuggerAgent.cpp 2020-02-06 15:11:17 UTC (rev 255939)
@@ -832,6 +832,11 @@
}
}
+void InspectorDebuggerAgent::setPauseOnDebuggerStatements(ErrorString&, bool enabled)
+{
+ m_scriptDebugServer.setPauseOnDebuggerStatements(enabled);
+}
+
void InspectorDebuggerAgent::setPauseOnExceptions(ErrorString& errorString, const String& stringPauseState)
{
JSC::Debugger::PauseOnExceptionsState pauseState;
Modified: releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/inspector/agents/InspectorDebuggerAgent.h (255938 => 255939)
--- releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/inspector/agents/InspectorDebuggerAgent.h 2020-02-06 15:11:05 UTC (rev 255938)
+++ releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/inspector/agents/InspectorDebuggerAgent.h 2020-02-06 15:11:17 UTC (rev 255939)
@@ -80,6 +80,7 @@
void searchInContent(ErrorString&, const String& scriptID, const String& query, const bool* optionalCaseSensitive, const bool* optionalIsRegex, RefPtr<JSON::ArrayOf<Protocol::GenericTypes::SearchMatch>>&) final;
void getScriptSource(ErrorString&, const String& scriptID, String* scriptSource) final;
void getFunctionDetails(ErrorString&, const String& functionId, RefPtr<Protocol::Debugger::FunctionDetails>&) final;
+ void setPauseOnDebuggerStatements(ErrorString&, bool enabled) final;
void setPauseOnExceptions(ErrorString&, const String& pauseState) final;
void setPauseOnAssertions(ErrorString&, bool enabled) final;
void setPauseOnMicrotasks(ErrorString&, bool enabled) final;
Modified: releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/inspector/protocol/Debugger.json (255938 => 255939)
--- releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/inspector/protocol/Debugger.json 2020-02-06 15:11:05 UTC (rev 255938)
+++ releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/inspector/protocol/Debugger.json 2020-02-06 15:11:17 UTC (rev 255939)
@@ -249,6 +249,13 @@
]
},
{
+ "name": "setPauseOnDebuggerStatements",
+ "description": "Control whether the debugger pauses execution before `debugger` statements.",
+ "parameters": [
+ { "name": "enabled", "type": "boolean" }
+ ]
+ },
+ {
"name": "setPauseOnExceptions",
"description": "Defines pause on exceptions state. Can be set to stop on all exceptions, uncaught exceptions or no exceptions. Initial pause on exceptions state is <code>none</code>.",
"parameters": [
Modified: releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/interpreter/Interpreter.cpp (255938 => 255939)
--- releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/interpreter/Interpreter.cpp 2020-02-06 15:11:05 UTC (rev 255938)
+++ releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/interpreter/Interpreter.cpp 2020-02-06 15:11:17 UTC (rev 255939)
@@ -1252,8 +1252,8 @@
case DidExecuteProgram:
debugger->didExecuteProgram(callFrame);
break;
- case DidReachBreakpoint:
- debugger->didReachBreakpoint(callFrame);
+ case DidReachDebuggerStatement:
+ debugger->didReachDebuggerStatement(callFrame);
break;
}
scope.assertNoException();
@@ -1275,8 +1275,8 @@
case JSC::DidEnterCallFrame:
out.print("DidEnterCallFrame");
return;
- case JSC::DidReachBreakpoint:
- out.print("DidReachBreakpoint");
+ case JSC::DidReachDebuggerStatement:
+ out.print("DidReachDebuggerStatement");
return;
case JSC::WillLeaveCallFrame:
out.print("WillLeaveCallFrame");
Modified: releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/interpreter/Interpreter.h (255938 => 255939)
--- releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/interpreter/Interpreter.h 2020-02-06 15:11:05 UTC (rev 255938)
+++ releases/WebKitGTK/webkit-2.28/Source/_javascript_Core/interpreter/Interpreter.h 2020-02-06 15:11:17 UTC (rev 255939)
@@ -67,7 +67,7 @@
WillExecuteProgram,
DidExecuteProgram,
DidEnterCallFrame,
- DidReachBreakpoint,
+ DidReachDebuggerStatement,
WillLeaveCallFrame,
WillExecuteStatement,
WillExecuteExpression,
Modified: releases/WebKitGTK/webkit-2.28/Source/WebInspectorUI/ChangeLog (255938 => 255939)
--- releases/WebKitGTK/webkit-2.28/Source/WebInspectorUI/ChangeLog 2020-02-06 15:11:05 UTC (rev 255938)
+++ releases/WebKitGTK/webkit-2.28/Source/WebInspectorUI/ChangeLog 2020-02-06 15:11:17 UTC (rev 255939)
@@ -1,3 +1,28 @@
+2020-02-05 Devin Rousso <[email protected]>
+
+ Web Inspector: Sources: add a special breakpoint for controlling whether `debugger` statements pause
+ https://bugs.webkit.org/show_bug.cgi?id=206818
+
+ Reviewed by Timothy Hatcher.
+
+ * UserInterface/Controllers/DebuggerManager.js:
+ (WI.DebuggerManager):
+ (WI.DebuggerManager.prototype.async initializeTarget):
+ (WI.DebuggerManager.prototype.get debuggerStatementsBreakpoint): Added.
+ (WI.DebuggerManager.prototype.isBreakpointRemovable):
+ (WI.DebuggerManager.prototype._breakpointDisabledStateDidChange):
+
+ * UserInterface/Views/SourcesNavigationSidebarPanel.js:
+ (WI.SourcesNavigationSidebarPanel):
+ (WI.SourcesNavigationSidebarPanel.prototype._insertDebuggerTreeElement):
+ (WI.SourcesNavigationSidebarPanel.prototype._addBreakpoint):
+
+ * UserInterface/Views/BreakpointTreeElement.css:
+ (.breakpoint-debugger-statement-icon .icon): Added.
+ * UserInterface/Images/DebuggerStatement.svg: Added.
+
+ * Localizations/en.lproj/localizedStrings.js:
+
2020-02-05 Nikita Vasilyev <[email protected]>
Web Inspector: Bezier editor popover should be strictly LTR
Modified: releases/WebKitGTK/webkit-2.28/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js (255938 => 255939)
--- releases/WebKitGTK/webkit-2.28/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js 2020-02-06 15:11:05 UTC (rev 255938)
+++ releases/WebKitGTK/webkit-2.28/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js 2020-02-06 15:11:17 UTC (rev 255939)
@@ -368,6 +368,7 @@
localizedStrings["Date"] = "Date";
localizedStrings["Debug: "] = "Debug: ";
localizedStrings["Debugger Statement"] = "Debugger Statement";
+localizedStrings["Debugger Statements"] = "Debugger Statements";
localizedStrings["Debugger disabled during Audit"] = "Debugger disabled during Audit";
localizedStrings["Debugger disabled during Timeline recording"] = "Debugger disabled during Timeline recording";
localizedStrings["Debugging:"] = "Debugging:";
Modified: releases/WebKitGTK/webkit-2.28/Source/WebInspectorUI/UserInterface/Controllers/DebuggerManager.js (255938 => 255939)
--- releases/WebKitGTK/webkit-2.28/Source/WebInspectorUI/UserInterface/Controllers/DebuggerManager.js 2020-02-06 15:11:05 UTC (rev 255938)
+++ releases/WebKitGTK/webkit-2.28/Source/WebInspectorUI/UserInterface/Controllers/DebuggerManager.js 2020-02-06 15:11:17 UTC (rev 255939)
@@ -55,6 +55,12 @@
const specialBreakpointLocation = new WI.SourceCodeLocation(null, Infinity, Infinity);
+ this._debuggerStatementsBreakpointEnabledSetting = new WI.Setting("break-on-debugger-statements", true);
+ this._debuggerStatementsBreakpoint = new WI.Breakpoint(specialBreakpointLocation, {
+ disabled: !this._debuggerStatementsBreakpointEnabledSetting.value,
+ });
+ this._debuggerStatementsBreakpoint.resolved = true;
+
this._allExceptionsBreakpointEnabledSetting = new WI.Setting("break-on-all-exceptions", false);
this._allExceptionsBreakpoint = new WI.Breakpoint(specialBreakpointLocation, {
disabled: !this._allExceptionsBreakpointEnabledSetting.value,
@@ -147,6 +153,11 @@
// Initialize global state.
target.DebuggerAgent.enable();
target.DebuggerAgent.setBreakpointsActive(this._breakpointsEnabledSetting.value);
+
+ // COMPATIBILITY (iOS 13.1): Debugger.setPauseOnDebuggerStatements did not exist yet.
+ if (target.hasCommand("Debugger.setPauseOnDebuggerStatements"))
+ target.DebuggerAgent.setPauseOnDebuggerStatements(!this._debuggerStatementsBreakpoint.disabled);
+
target.DebuggerAgent.setPauseOnExceptions(this._breakOnExceptionsState);
// COMPATIBILITY (iOS 10): DebuggerAgent.setPauseOnAssertions did not exist yet.
@@ -288,6 +299,7 @@
return targetData;
}
+ get debuggerStatementsBreakpoint() { return this._debuggerStatementsBreakpoint; }
get allExceptionsBreakpoint() { return this._allExceptionsBreakpoint; }
get uncaughtExceptionsBreakpoint() { return this._uncaughtExceptionsBreakpoint; }
get assertionFailuresBreakpoint() { return this._assertionFailuresBreakpoint; }
@@ -337,7 +349,8 @@
isBreakpointRemovable(breakpoint)
{
- return breakpoint !== this._allExceptionsBreakpoint
+ return breakpoint !== this._debuggerStatementsBreakpoint
+ && breakpoint !== this._allExceptionsBreakpoint
&& breakpoint !== this._uncaughtExceptionsBreakpoint;
}
@@ -1160,6 +1173,14 @@
{
let breakpoint = event.target;
switch (breakpoint) {
+ case this._debuggerStatementsBreakpoint:
+ if (!breakpoint.disabled && !this.breakpointsDisabledTemporarily)
+ this.breakpointsEnabled = true;
+ this._debuggerStatementsBreakpointEnabledSetting.value = !breakpoint.disabled;
+ for (let target of WI.targets)
+ target.DebuggerAgent.setPauseOnDebuggerStatements(!breakpoint.disabled);
+ return;
+
case this._allExceptionsBreakpoint:
if (!breakpoint.disabled && !this.breakpointsDisabledTemporarily)
this.breakpointsEnabled = true;
Added: releases/WebKitGTK/webkit-2.28/Source/WebInspectorUI/UserInterface/Images/DebuggerStatement.svg (0 => 255939)
--- releases/WebKitGTK/webkit-2.28/Source/WebInspectorUI/UserInterface/Images/DebuggerStatement.svg (rev 0)
+++ releases/WebKitGTK/webkit-2.28/Source/WebInspectorUI/UserInterface/Images/DebuggerStatement.svg 2020-02-06 15:11:17 UTC (rev 255939)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright © 2013 Apple Inc. All rights reserved. -->
+<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
+ <path fill="rgb(148, 183, 219)" d="M 13 1 L 3 1 C 1.898438 1 1 1.898438 1 3 L 1 13 C 1 14.101562 1.898438 15 3 15 L 13 15 C 14.101562 15 15 14.101562 15 13 L 15 3 C 15 1.898438 14.101562 1 13 1 Z"/>
+ <path fill="rgb(106, 136, 170)" d="M 13 1 L 3 1 C 1.898438 1 1 1.898438 1 3 L 1 13 C 1 14.101562 1.898438 15 3 15 L 13 15 C 14.101562 15 15 14.101562 15 13 L 15 3 C 15 1.898438 14.101562 1 13 1 M 13 2 C 13.550781 2 14 2.449219 14 3 L 14 13 C 14 13.550781 13.550781 14 13 14 L 3 14 C 2.449219 14 2 13.550781 2 13 L 2 3 C 2 2.449219 2.449219 2 3 2 L 13 2"/>
+ <path fill="rgb(113, 146, 184)" d="M 4.445312 12.742188 C 3.890625 12.742188 3.445312 12.292969 3.445312 11.742188 L 3.445312 3.792969 C 3.445312 3.242188 3.890625 2.792969 4.445312 2.792969 L 7.867188 2.792969 C 9.367188 2.792969 10.554688 3.222656 11.402344 4.0625 C 12.25 4.910156 12.679688 6.101562 12.679688 7.601562 C 12.679688 9.171875 12.234375 10.429688 11.359375 11.347656 C 10.472656 12.273438 9.246094 12.742188 7.71875 12.742188 L 4.445312 12.742188 M 7.335938 9.613281 C 8.1875 9.613281 8.449219 9.324219 8.535156 9.226562 C 8.789062 8.941406 8.921875 8.414062 8.921875 7.699219 C 8.921875 7.140625 8.8125 6.703125 8.578125 6.363281 C 8.457031 6.183594 8.328125 6.070312 8.1875 6.011719 C 8.0625 5.964844 7.761719 5.882812 7.097656 5.882812 C 7.097656 6.960938 7.097656 8.539062 7.097656 9.613281 C 7.171875 9.613281 7.335938 9.613281 7.335938 9.613281"/>
+ <path fill="white" d="M 4.445312 11.742188 L 4.445312 3.792969 L 7.867188 3.792969 C 9.097656 3.792969 10.039062 4.121094 10.695312 4.773438 C 11.351562 5.425781 11.679688 6.371094 11.679688 7.601562 C 11.679688 8.910156 11.332031 9.929688 10.636719 10.65625 C 9.941406 11.378906 8.96875 11.742188 7.71875 11.742188 Z M 6.097656 10.613281 L 7.332031 10.613281 C 8.203125 10.613281 8.851562 10.375 9.28125 9.890625 C 9.707031 9.410156 9.921875 8.679688 9.921875 7.699219 C 9.921875 6.9375 9.75 6.308594 9.40625 5.800781 C 9.171875 5.453125 8.886719 5.214844 8.554688 5.082031 C 8.21875 4.949219 7.734375 4.882812 7.097656 4.882812 L 6.097656 4.882812 Z"/>
+</svg>
Modified: releases/WebKitGTK/webkit-2.28/Source/WebInspectorUI/UserInterface/Views/BreakpointTreeElement.css (255938 => 255939)
--- releases/WebKitGTK/webkit-2.28/Source/WebInspectorUI/UserInterface/Views/BreakpointTreeElement.css 2020-02-06 15:11:05 UTC (rev 255938)
+++ releases/WebKitGTK/webkit-2.28/Source/WebInspectorUI/UserInterface/Views/BreakpointTreeElement.css 2020-02-06 15:11:17 UTC (rev 255939)
@@ -63,6 +63,10 @@
font-style: italic;
}
+.breakpoint-debugger-statement-icon .icon {
+ content: url(../Images/DebuggerStatement.svg);
+}
+
.breakpoint-exception-icon .icon {
content: url(../Images/Exception.svg);
}
Modified: releases/WebKitGTK/webkit-2.28/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js (255938 => 255939)
--- releases/WebKitGTK/webkit-2.28/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js 2020-02-06 15:11:05 UTC (rev 255938)
+++ releases/WebKitGTK/webkit-2.28/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js 2020-02-06 15:11:17 UTC (rev 255939)
@@ -331,6 +331,10 @@
}, this);
}
+ // COMPATIBILITY (iOS 13.1): Debugger.setPauseOnDebuggerStatements did not exist yet.
+ if (InspectorBackend.hasCommand("Debugger.setPauseOnDebuggerStatements"))
+ WI.debuggerManager.addBreakpoint(WI.debuggerManager.debuggerStatementsBreakpoint);
+
WI.debuggerManager.addBreakpoint(WI.debuggerManager.allExceptionsBreakpoint);
WI.debuggerManager.addBreakpoint(WI.debuggerManager.uncaughtExceptionsBreakpoint);
@@ -1093,6 +1097,7 @@
{
let comparator = (a, b) => {
const rankFunctions = [
+ (treeElement) => treeElement.representedObject === WI.debuggerManager.debuggerStatementsBreakpoint,
(treeElement) => treeElement.representedObject === WI.debuggerManager.allExceptionsBreakpoint,
(treeElement) => treeElement.representedObject === WI.debuggerManager.uncaughtExceptionsBreakpoint,
(treeElement) => treeElement.representedObject === WI.debuggerManager.assertionFailuresBreakpoint,
@@ -1163,7 +1168,10 @@
return domNodeTreeElement;
};
- if (breakpoint === WI.debuggerManager.allExceptionsBreakpoint) {
+ if (breakpoint === WI.debuggerManager.debuggerStatementsBreakpoint) {
+ options.className = "breakpoint-debugger-statement-icon";
+ options.title = WI.UIString("Debugger Statements");
+ } else if (breakpoint === WI.debuggerManager.allExceptionsBreakpoint) {
options.className = "breakpoint-exception-icon";
options.title = WI.repeatedUIString.allExceptions();
} else if (breakpoint === WI.debuggerManager.uncaughtExceptionsBreakpoint) {