Web Inspector: Include a DebugContentView for debugging
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 11 Sep 2017 22:09:19 +0000 (22:09 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 11 Sep 2017 22:09:19 +0000 (22:09 +0000)
https://bugs.webkit.org/show_bug.cgi?id=176733

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-09-11
Reviewed by Matt Baker.

Provide a DebugContentView which can be used to debug lifecycle
events of a ContentView (shown, hidden, closed), and displays a
provided string. It can be created like so:

    `new WI.DebugContentView("Name")`

* UserInterface/Debug/DebugContentView.css: Added.
(.content-view.debug):
* UserInterface/Debug/DebugContentView.js: Added.
(WI.DebugContentView):
(WI.DebugContentView.prototype.shown):
(WI.DebugContentView.prototype.hidden):
(WI.DebugContentView.prototype.closed):
Log events for debugging.

* UserInterface/Main.html:
Include new Debug resources.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221880 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebInspectorUI/ChangeLog
Source/WebInspectorUI/UserInterface/Debug/DebugContentView.css [new file with mode: 0644]
Source/WebInspectorUI/UserInterface/Debug/DebugContentView.js [new file with mode: 0644]
Source/WebInspectorUI/UserInterface/Main.html

index 7164967..9f5e6d5 100644 (file)
@@ -1,5 +1,30 @@
 2017-09-11  Joseph Pecoraro  <pecoraro@apple.com>
 
+        Web Inspector: Include a DebugContentView for debugging
+        https://bugs.webkit.org/show_bug.cgi?id=176733
+
+        Reviewed by Matt Baker.
+
+        Provide a DebugContentView which can be used to debug lifecycle
+        events of a ContentView (shown, hidden, closed), and displays a
+        provided string. It can be created like so:
+
+            `new WI.DebugContentView("Name")`
+
+        * UserInterface/Debug/DebugContentView.css: Added.
+        (.content-view.debug):
+        * UserInterface/Debug/DebugContentView.js: Added.
+        (WI.DebugContentView):
+        (WI.DebugContentView.prototype.shown):
+        (WI.DebugContentView.prototype.hidden):
+        (WI.DebugContentView.prototype.closed):
+        Log events for debugging.
+
+        * UserInterface/Main.html:
+        Include new Debug resources.
+
+2017-09-11  Joseph Pecoraro  <pecoraro@apple.com>
+
         Web Inspector: Make Dashboard Timeline icon and Timeline tab icon more similar
         https://bugs.webkit.org/show_bug.cgi?id=176582
 
diff --git a/Source/WebInspectorUI/UserInterface/Debug/DebugContentView.css b/Source/WebInspectorUI/UserInterface/Debug/DebugContentView.css
new file mode 100644 (file)
index 0000000..775ec2d
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+.content-view.debug {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    width: 100%;
+    height: 100%;
+    padding: 15px;
+    font-size: 64px;
+    color: var(--text-color-gray-medium);
+}
diff --git a/Source/WebInspectorUI/UserInterface/Debug/DebugContentView.js b/Source/WebInspectorUI/UserInterface/Debug/DebugContentView.js
new file mode 100644 (file)
index 0000000..654a410
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+WI.DebugContentView = class DebugContentView extends WI.ContentView
+{
+    constructor(string)
+    {
+        super(new String(string));
+
+        this._string = string;
+
+        this.element.classList.add("debug");
+        this.element.textContent = string;
+    }
+
+    // Protected
+
+    shown()
+    {
+        super.shown();
+        console.debug(`shown: ${this._string}`);
+    }
+
+    hidden()
+    {
+        console.debug(`hidden: ${this._string}`);
+        super.hidden();
+    }
+
+    closed()
+    {
+        console.debug(`closed: ${this._string}`);
+        super.closed();
+    }
+}
index 5c4871a..e1504a6 100644 (file)
     <link rel="stylesheet" href="Controllers/CodeMirrorTokenTrackingController.css">
 
     <link rel="stylesheet" href="Debug/UncaughtExceptionReporter.css">
+    <link rel="stylesheet" href="Debug/DebugContentView.css">
 
     <script src="Debug/UncaughtExceptionReporter.js"></script>
 
     <script src="Debug/Bootstrap.js"></script>
     <script src="Debug/CapturingProtocolTracer.js"></script>
     <script src="Debug/ProtocolTrace.js"></script>
+    <script src="Debug/DebugContentView.js"></script>
 
     <script>
         WI.loaded();