Title: [240737] trunk/Source/WebInspectorUI
Revision
240737
Author
[email protected]
Date
2019-01-30 15:54:04 -0800 (Wed, 30 Jan 2019)

Log Message

Web Inspector: change style of device settings override popover content
https://bugs.webkit.org/show_bug.cgi?id=194049

Reviewed by Joseph Pecoraro.

* UserInterface/Base/Main.js:
(WI._handleDeviceSettingsToolbarButtonClicked):
(WI._handleDeviceSettingsToolbarButtonClicked.showUserAgentInput):
(WI._handleDeviceSettingsToolbarButtonClicked.createContainer): Deleted.
* UserInterface/Views/Main.css:
(.device-settings-content):
(.device-settings-content > tr > td:first-child): Added.
(.device-settings-content .container):
(.device-settings-content .container > * + *): Added.
(.device-settings-content .column): Added.
(.device-settings-content .user-agent select): Added.
(.device-settings-content .user-agent input): Added.
(.device-settings-content label + label): Added.
(.device-settings-content label > input): Added.
(.device-settings-content .columns): Deleted.
(.device-settings-content .columns > .column): Deleted.
(.device-settings-content .columns > .column + .column): Deleted.
(.device-settings-content .user-agent-value): Deleted.
(.device-settings-content .user-agent-value > select): Deleted.
(.device-settings-content .user-agent-value > input): Deleted.
(body[dir=ltr] .device-settings-content .user-agent-value > input): Deleted.
(body[dir=rtl] .device-settings-content .user-agent-value > input): Deleted.

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (240736 => 240737)


--- trunk/Source/WebInspectorUI/ChangeLog	2019-01-30 23:40:03 UTC (rev 240736)
+++ trunk/Source/WebInspectorUI/ChangeLog	2019-01-30 23:54:04 UTC (rev 240737)
@@ -1,5 +1,35 @@
 2019-01-30  Devin Rousso  <[email protected]>
 
+        Web Inspector: change style of device settings override popover content
+        https://bugs.webkit.org/show_bug.cgi?id=194049
+
+        Reviewed by Joseph Pecoraro.
+
+        * UserInterface/Base/Main.js:
+        (WI._handleDeviceSettingsToolbarButtonClicked):
+        (WI._handleDeviceSettingsToolbarButtonClicked.showUserAgentInput):
+        (WI._handleDeviceSettingsToolbarButtonClicked.createContainer): Deleted.
+        * UserInterface/Views/Main.css:
+        (.device-settings-content):
+        (.device-settings-content > tr > td:first-child): Added.
+        (.device-settings-content .container):
+        (.device-settings-content .container > * + *): Added.
+        (.device-settings-content .column): Added.
+        (.device-settings-content .user-agent select): Added.
+        (.device-settings-content .user-agent input): Added.
+        (.device-settings-content label + label): Added.
+        (.device-settings-content label > input): Added.
+        (.device-settings-content .columns): Deleted.
+        (.device-settings-content .columns > .column): Deleted.
+        (.device-settings-content .columns > .column + .column): Deleted.
+        (.device-settings-content .user-agent-value): Deleted.
+        (.device-settings-content .user-agent-value > select): Deleted.
+        (.device-settings-content .user-agent-value > input): Deleted.
+        (body[dir=ltr] .device-settings-content .user-agent-value > input): Deleted.
+        (body[dir=rtl] .device-settings-content .user-agent-value > input): Deleted.
+
+2019-01-30  Devin Rousso  <[email protected]>
+
         Web Inspector: Uncaught Exception: null is not an object (evaluating 'url.startsWith')
         https://bugs.webkit.org/show_bug.cgi?id=194029
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Main.js (240736 => 240737)


--- trunk/Source/WebInspectorUI/UserInterface/Base/Main.js	2019-01-30 23:40:03 UTC (rev 240736)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Main.js	2019-01-30 23:54:04 UTC (rev 240737)
@@ -2017,18 +2017,6 @@
         }
     }
 
-    function createContainer(parent, title) {
-        let container = parent.appendChild(document.createElement("div"));
-        container.classList.add("container");
-
-        if (title) {
-            let titleElement = container.appendChild(document.createElement("div"));
-            titleElement.textContent = title;
-        }
-
-        return container;
-    }
-
     function createCheckbox(container, label, setting, value) {
         if (!setting)
             return;
@@ -2058,17 +2046,21 @@
         WI._deviceSettingsPopover.present(calculateTargetFrame(), preferredEdges);
     };
 
-    let contentElement = document.createElement("div");
+    let contentElement = document.createElement("table");
     contentElement.classList.add("device-settings-content");
 
-    let userAgentContainer = contentElement.appendChild(document.createElement("label"));
-    userAgentContainer.textContent = WI.UIString("User Agent:");
+    let userAgentRow = contentElement.appendChild(document.createElement("tr"));
 
-    let userAgentValueContainer = userAgentContainer.appendChild(document.createElement("span"));
-    userAgentValueContainer.classList.add("user-agent-value");
+    let userAgentTitle = userAgentRow.appendChild(document.createElement("td"));
+    userAgentTitle.textContent = WI.UIString("User Agent:");
 
-    let userAgentSelect = userAgentValueContainer.appendChild(document.createElement("select"));
+    let userAgentValue = userAgentRow.appendChild(document.createElement("td"));
+    userAgentValue.classList.add("user-agent");
 
+    let userAgentValueSelect = userAgentValue.appendChild(document.createElement("select"));
+
+    let userAgentValueInput = null;
+
     const userAgents = [
         [
             { name: WI.UIString("Default"), value: "default" },
@@ -2105,7 +2097,7 @@
 
     for (let group of userAgents) {
         for (let {name, value} of group) {
-            let optionElement = userAgentSelect.appendChild(document.createElement("option"));
+            let optionElement = userAgentValueSelect.appendChild(document.createElement("option"));
             optionElement.value = value;
             optionElement.textContent = name;
 
@@ -2114,42 +2106,43 @@
         }
 
         if (group !== userAgents.lastValue)
-            userAgentSelect.appendChild(document.createElement("hr"));
+            userAgentValueSelect.appendChild(document.createElement("hr"));
     }
 
-    let userAgentInput = null;
-
     function showUserAgentInput() {
-        if (userAgentInput)
+        if (userAgentValueInput)
             return;
 
-        userAgentInput = userAgentValueContainer.appendChild(document.createElement("input"));
-        userAgentInput.value = userAgentInput.placeholder = WI._overridenDeviceUserAgent || navigator.userAgent;
-        userAgentInput.addEventListener("click", (clickEvent) => {
+        userAgentValueInput = userAgentValue.appendChild(document.createElement("input"));
+        userAgentValueInput.value = userAgentValueInput.placeholder = WI._overridenDeviceUserAgent || navigator.userAgent;
+        userAgentValueInput.addEventListener("click", (clickEvent) => {
             clickEvent.preventDefault();
         });
-        userAgentInput.addEventListener("change", (inputEvent) => {
-            applyOverriddenUserAgent(userAgentInput.value, true);
+        userAgentValueInput.addEventListener("change", (inputEvent) => {
+            applyOverriddenUserAgent(userAgentValueInput.value, true);
         });
+
+        WI._deviceSettingsPopover.update();
     }
 
     if (selectedOptionElement)
-        userAgentSelect.value = selectedOptionElement.value;
+        userAgentValueSelect.value = selectedOptionElement.value;
     else if (WI._overridenDeviceUserAgent) {
-        userAgentSelect.value = "other";
+        userAgentValueSelect.value = "other";
         showUserAgentInput();
     }
 
-    userAgentSelect.addEventListener("change", () => {
-        let value = userAgentSelect.value;
+    userAgentValueSelect.addEventListener("change", () => {
+        let value = userAgentValueSelect.value;
         if (value === "other") {
             showUserAgentInput();
-            userAgentInput.selectionStart = userAgentInput.selectionEnd = 0;
-            userAgentInput.focus();
+            userAgentValueInput.select();
         } else {
-            if (userAgentInput) {
-                userAgentInput.remove();
-                userAgentInput = null;
+            if (userAgentValueInput) {
+                userAgentValueInput.remove();
+                userAgentValueInput = null;
+
+                WI._deviceSettingsPopover.update();
             }
 
             applyOverriddenUserAgent(value);
@@ -2187,13 +2180,18 @@
         if (!group.columns.some((column) => column.some((item) => item.setting)))
             continue;
 
-        let container = createContainer(contentElement, group.name);
+        let settingsGroupRow = contentElement.appendChild(document.createElement("tr"));
 
-        let columnContainer = container.appendChild(document.createElement("div"));
-        columnContainer.classList.add("columns");
+        let settingsGroupTitle = settingsGroupRow.appendChild(document.createElement("td"));
+        settingsGroupTitle.textContent = group.name;
 
+        let settingsGroupValue = settingsGroupRow.appendChild(document.createElement("td"));
+
+        let settingsGroupItemContainer = settingsGroupValue.appendChild(document.createElement("div"));
+        settingsGroupItemContainer.classList.add("container");
+
         for (let column of group.columns) {
-            let columnElement = columnContainer.appendChild(document.createElement("div"));
+            let columnElement = settingsGroupItemContainer.appendChild(document.createElement("div"));
             columnElement.classList.add("column");
 
             for (let item of column)

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/Main.css (240736 => 240737)


--- trunk/Source/WebInspectorUI/UserInterface/Views/Main.css	2019-01-30 23:40:03 UTC (rev 240736)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/Main.css	2019-01-30 23:54:04 UTC (rev 240737)
@@ -388,66 +388,48 @@
 }
 
 .device-settings-content {
-    padding: 8px;
+    padding: 0 4px;
+    border-collapse: separate;
+    border-spacing: 4px 8px;
 }
 
-.device-settings-content .container {
-    margin-top: 8px;
+.device-settings-content > tr > td:first-child {
+    text-align: end;
+    vertical-align: top;
 }
 
-.device-settings-content .columns {
+.device-settings-content .container {
     display: flex;
 }
 
-.device-settings-content .columns > .column {
+.device-settings-content .container > * + * {
+    -webkit-margin-start: 8px;
+}
+
+.device-settings-content .column {
     display: flex;
     flex-direction: column;
 }
 
-.device-settings-content .columns > .column + .column {
-    -webkit-margin-start: 20px;
+.device-settings-content .user-agent select {
+    display: block;
+    margin: -2px 0 0;
 }
 
-.device-settings-content .user-agent-value {
-    display: inline-block;
-    position: relative;
+.device-settings-content .user-agent input {
+    display: block;
+    width: 100%;
+    margin: 6px 0 0;
 }
 
-.device-settings-content .user-agent-value > select {
-    -webkit-margin-start: 4px;
+.device-settings-content label + label {
+    margin-top: 4px;
 }
 
-.device-settings-content .user-agent-value > input {
-    position: absolute;
-    top: 0;
-    bottom: 0;
-    left: 0;
-    z-index: 1;
-    margin: 0;
-    -webkit-margin-start: 5px;
-    -webkit-margin-before: 3px;
-    -webkit-margin-after: 3px;
-    -webkit-padding-start: 7px;
-    -webkit-padding-end: 9px;
-    background-color: white;
-    border: none;
-    -webkit-border-top-left-radius: 3px;
-    -webkit-border-bottom-left-radius: 3px;
-    outline: none;
-    pointer-events: all;
 
-    --offset-end: 17px;
-}
-
-body[dir=ltr] .device-settings-content .user-agent-value > input {
-    right: var(--offset-end);
-}
-
-body[dir=rtl] .device-settings-content .user-agent-value > input {
-    left: var(--offset-end);
-}
-
 .device-settings-content label > input {
+    margin: 0;
+    -webkit-margin-start: 0.5px;
     -webkit-margin-end: 4px;
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to