Title: [253421] trunk/Source/WebInspectorUI
- Revision
- 253421
- Author
- [email protected]
- Date
- 2019-12-12 00:24:24 -0800 (Thu, 12 Dec 2019)
Log Message
Web Inspector: REGRESSION(r251227): Uncaught Exception: undefined is not an object (evaluating 'target.DOMAgent.setInspectModeEnabled')
https://bugs.webkit.org/show_bug.cgi?id=205148
Reviewed by Joseph Pecoraro.
* UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.setTimelineProfilingEnabled):
(InspectorFrontendAPI.setElementSelectionEnabled):
If there are no targets available yet (`WI.targetsAvailable()`), then wait for targets to
be available (`WI.whenTargetsAvailable()`) before performing the intended logic, as the
`InspectorFrontendAPI` only waits for the backend connection to be established before
dispatching, meaning that there may not be a page target yet. Other `InspectorFrontendAPI`
functions don't need to be changed because they don't cause commands to be invoked.
* UserInterface/Controllers/DOMManager.js:
(WI.DOMManager.prototype.set inspectModeEnabled):
Drive-by: don't assume that inspect mode is disabled if an error is thrown.
* UserInterface/Base/Main.js:
Drive-by: remove duplicate function `WI._toggleInspectMode` as it already exists.
Modified Paths
Diff
Modified: trunk/Source/WebInspectorUI/ChangeLog (253420 => 253421)
--- trunk/Source/WebInspectorUI/ChangeLog 2019-12-12 07:03:03 UTC (rev 253420)
+++ trunk/Source/WebInspectorUI/ChangeLog 2019-12-12 08:24:24 UTC (rev 253421)
@@ -1,3 +1,26 @@
+2019-12-12 Devin Rousso <[email protected]>
+
+ Web Inspector: REGRESSION(r251227): Uncaught Exception: undefined is not an object (evaluating 'target.DOMAgent.setInspectModeEnabled')
+ https://bugs.webkit.org/show_bug.cgi?id=205148
+
+ Reviewed by Joseph Pecoraro.
+
+ * UserInterface/Protocol/InspectorFrontendAPI.js:
+ (InspectorFrontendAPI.setTimelineProfilingEnabled):
+ (InspectorFrontendAPI.setElementSelectionEnabled):
+ If there are no targets available yet (`WI.targetsAvailable()`), then wait for targets to
+ be available (`WI.whenTargetsAvailable()`) before performing the intended logic, as the
+ `InspectorFrontendAPI` only waits for the backend connection to be established before
+ dispatching, meaning that there may not be a page target yet. Other `InspectorFrontendAPI`
+ functions don't need to be changed because they don't cause commands to be invoked.
+
+ * UserInterface/Controllers/DOMManager.js:
+ (WI.DOMManager.prototype.set inspectModeEnabled):
+ Drive-by: don't assume that inspect mode is disabled if an error is thrown.
+
+ * UserInterface/Base/Main.js:
+ Drive-by: remove duplicate function `WI._toggleInspectMode` as it already exists.
+
2019-12-11 Devin Rousso <[email protected]>
Web Inspector: REGRESSION: Console: unable to switch execution contexts
Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Main.js (253420 => 253421)
--- trunk/Source/WebInspectorUI/UserInterface/Base/Main.js 2019-12-12 07:03:03 UTC (rev 253420)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Main.js 2019-12-12 08:24:24 UTC (rev 253421)
@@ -2322,11 +2322,6 @@
WI._inspectModeToolbarButton.hidden = !InspectorBackend.hasDomain("DOM");
};
-WI._toggleInspectMode = function(event)
-{
- WI.domManager.inspectModeEnabled = !WI.domManager.inspectModeEnabled;
-};
-
WI._showConsoleTab = function(event)
{
WI.showConsoleTab();
Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/DOMManager.js (253420 => 253421)
--- trunk/Source/WebInspectorUI/UserInterface/Controllers/DOMManager.js 2019-12-12 07:03:03 UTC (rev 253420)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/DOMManager.js 2019-12-12 08:24:24 UTC (rev 253421)
@@ -587,7 +587,12 @@
showRulers: WI.settings.showRulersDuringElementSelection.value,
};
target.DOMAgent.setInspectModeEnabled.invoke(commandArguments, (error) => {
- this._inspectModeEnabled = error ? false : enabled;
+ if (error) {
+ WI.reportInternalError(error);
+ return;
+ }
+
+ this._inspectModeEnabled = enabled;
this.dispatchEventToListeners(WI.DOMManager.Event.InspectModeStateChanged);
});
}
Modified: trunk/Source/WebInspectorUI/UserInterface/Protocol/InspectorFrontendAPI.js (253420 => 253421)
--- trunk/Source/WebInspectorUI/UserInterface/Protocol/InspectorFrontendAPI.js 2019-12-12 07:03:03 UTC (rev 253420)
+++ trunk/Source/WebInspectorUI/UserInterface/Protocol/InspectorFrontendAPI.js 2019-12-12 08:24:24 UTC (rev 253421)
@@ -44,6 +44,13 @@
setTimelineProfilingEnabled: function(enabled)
{
+ if (!WI.targetsAvailable()) {
+ WI.whenTargetsAvailable().then(() => {
+ InspectorFrontendAPI.setTimelineProfilingEnabled(enabled);
+ });
+ return;
+ }
+
WI.showTimelineTab();
if (WI.timelineManager.isCapturing() === enabled)
@@ -57,6 +64,13 @@
setElementSelectionEnabled: function(enabled)
{
+ if (!WI.targetsAvailable()) {
+ WI.whenTargetsAvailable().then(() => {
+ InspectorFrontendAPI.setElementSelectionEnabled(enabled);
+ });
+ return;
+ }
+
WI.domManager.inspectModeEnabled = enabled;
},
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes