Title: [252814] trunk/Source/WebInspectorUI
Revision
252814
Author
[email protected]
Date
2019-11-22 16:14:49 -0800 (Fri, 22 Nov 2019)

Log Message

Web Inspector: Uncaught Exception: TypeError: undefined is not an object (evaluating 'target.PageAgent.getCompositingBordersVisible')
https://bugs.webkit.org/show_bug.cgi?id=204473

Reviewed by Brian Burg.

Change the definition of `WI.targetsAvailable` and `WI.whenTargetsAvailable` to instead
resolve based on when a page target is created, not the backend target, as the latter can
be a multiplexing target which only has a `Target` domain.

* UserInterface/Controllers/TargetManager.js:
(WI.TargetManager.prototype._initializeBackendTarget):
(WI.TargetManager.prototype._initializePageTarget):

* UserInterface/Base/Main.js:
(WI.loaded):
(WI.contentLoaded):
(WI.targetsAvailable):
(WI.whenTargetsAvailable):
* UserInterface/Test/Test.js:
(WI.loaded):
(WI.contentLoaded):
(WI.targetsAvailable):
(WI.whenTargetsAvailable):

* UserInterface/Views/SearchSidebarPanel.js:
(WI.SearchSidebarPanel.prototype.performSearch):
Only wait for targets if inspecting a web debuggable, as non-web debuggables don't have a
different page target vs the backend target (which is guaranteed to exist anyways).

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (252813 => 252814)


--- trunk/Source/WebInspectorUI/ChangeLog	2019-11-23 00:04:05 UTC (rev 252813)
+++ trunk/Source/WebInspectorUI/ChangeLog	2019-11-23 00:14:49 UTC (rev 252814)
@@ -1,5 +1,36 @@
 2019-11-22  Devin Rousso  <[email protected]>
 
+        Web Inspector: Uncaught Exception: TypeError: undefined is not an object (evaluating 'target.PageAgent.getCompositingBordersVisible')
+        https://bugs.webkit.org/show_bug.cgi?id=204473
+
+        Reviewed by Brian Burg.
+
+        Change the definition of `WI.targetsAvailable` and `WI.whenTargetsAvailable` to instead
+        resolve based on when a page target is created, not the backend target, as the latter can
+        be a multiplexing target which only has a `Target` domain.
+
+        * UserInterface/Controllers/TargetManager.js:
+        (WI.TargetManager.prototype._initializeBackendTarget):
+        (WI.TargetManager.prototype._initializePageTarget):
+
+        * UserInterface/Base/Main.js:
+        (WI.loaded):
+        (WI.contentLoaded):
+        (WI.targetsAvailable):
+        (WI.whenTargetsAvailable):
+        * UserInterface/Test/Test.js:
+        (WI.loaded):
+        (WI.contentLoaded):
+        (WI.targetsAvailable):
+        (WI.whenTargetsAvailable):
+
+        * UserInterface/Views/SearchSidebarPanel.js:
+        (WI.SearchSidebarPanel.prototype.performSearch):
+        Only wait for targets if inspecting a web debuggable, as non-web debuggables don't have a
+        different page target vs the backend target (which is guaranteed to exist anyways).
+
+2019-11-22  Devin Rousso  <[email protected]>
+
         Web Inspector: REGRESSION(r251227): dashboard no longer shows page weight
         https://bugs.webkit.org/show_bug.cgi?id=204528
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Main.js (252813 => 252814)


--- trunk/Source/WebInspectorUI/UserInterface/Base/Main.js	2019-11-23 00:04:05 UTC (rev 252813)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Main.js	2019-11-23 00:14:49 UTC (rev 252814)
@@ -185,8 +185,10 @@
 
     // Targets.
     WI.backendTarget = null;
+    WI._backendTargetAvailablePromise = new WI.WrappedPromise;
+
     WI.pageTarget = null;
-    WI._targetsAvailablePromise = new WI.WrappedPromise;
+    WI._pageTargetAvailablePromise = new WI.WrappedPromise;
 
     // COMPATIBILITY (iOS 13.0): Target.exists was "replaced" by differentiating "web" debuggables
     // into "page" (direct) and "web-page" debuggables (multiplexing).
@@ -527,7 +529,7 @@
     updateConsoleSavedResultPrefixCSSVariable();
 
     // Signal that the frontend is now ready to receive messages.
-    WI.whenTargetsAvailable().then(() => {
+    WI._backendTargetAvailablePromise.promise.then(() => {
         InspectorFrontendAPI.loadCompleted();
     });
 
@@ -590,12 +592,12 @@
 
 WI.targetsAvailable = function()
 {
-    return WI._targetsAvailablePromise.settled;
+    return WI._pageTargetAvailablePromise.settled;
 };
 
 WI.whenTargetsAvailable = function()
 {
-    return WI._targetsAvailablePromise.promise;
+    return WI._pageTargetAvailablePromise.promise;
 };
 
 WI.isTabTypeAllowed = function(tabType)

Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/TargetManager.js (252813 => 252814)


--- trunk/Source/WebInspectorUI/UserInterface/Controllers/TargetManager.js	2019-11-23 00:04:05 UTC (rev 252813)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/TargetManager.js	2019-11-23 00:14:49 UTC (rev 252814)
@@ -258,7 +258,7 @@
 
         this._resetMainExecutionContext();
 
-        WI._targetsAvailablePromise.resolve();
+        WI._backendTargetAvailablePromise.resolve();
     }
 
     _initializePageTarget(target)
@@ -269,6 +269,8 @@
         WI.pageTarget = target;
 
         this._resetMainExecutionContext();
+
+        WI._pageTargetAvailablePromise.resolve();
     }
 
     _transitionPageTarget(target)

Modified: trunk/Source/WebInspectorUI/UserInterface/Test/Test.js (252813 => 252814)


--- trunk/Source/WebInspectorUI/UserInterface/Test/Test.js	2019-11-23 00:04:05 UTC (rev 252813)
+++ trunk/Source/WebInspectorUI/UserInterface/Test/Test.js	2019-11-23 00:14:49 UTC (rev 252814)
@@ -77,8 +77,10 @@
 
     // Targets.
     WI.backendTarget = null;
+    WI._backendTargetAvailablePromise = new WI.WrappedPromise;
+
     WI.pageTarget = null;
-    WI._targetsAvailablePromise = new WI.WrappedPromise;
+    WI._pageTargetAvailablePromise = new WI.WrappedPromise;
 
     if (InspectorBackend.hasDomain("Target"))
         WI.targetManager.createMultiplexingBackendTarget();
@@ -99,7 +101,7 @@
     WI.timelineManager.enable();
 
     // Signal that the frontend is now ready to receive messages.
-    WI.whenTargetsAvailable().then(() => {
+    WI._backendTargetAvailablePromise.promise.then(() => {
         InspectorFrontendAPI.loadCompleted();
     });
 
@@ -128,12 +130,12 @@
 
 WI.targetsAvailable = function()
 {
-    return WI._targetsAvailablePromise.settled;
+    return WI._pageTargetAvailablePromise.settled;
 };
 
 WI.whenTargetsAvailable = function()
 {
-    return WI._targetsAvailablePromise.promise;
+    return WI._pageTargetAvailablePromise.promise;
 };
 
 Object.defineProperty(WI, "mainTarget",

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SearchSidebarPanel.js (252813 => 252814)


--- trunk/Source/WebInspectorUI/UserInterface/Views/SearchSidebarPanel.js	2019-11-23 00:04:05 UTC (rev 252813)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/SearchSidebarPanel.js	2019-11-23 00:14:49 UTC (rev 252814)
@@ -109,7 +109,7 @@
             this.updateEmptyContentPlaceholder(searchingPlaceholder);
         };
 
-        if (!WI.targetsAvailable()) {
+        if (!WI.targetsAvailable() && WI.sharedApp.isWebDebuggable()) {
             createSearchingPlaceholder();
             WI.whenTargetsAvailable().then(() => {
                 if (this._searchQuerySetting.value === searchQuery)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to