Title: [225250] trunk/Source/WebInspectorUI
Revision
225250
Author
[email protected]
Date
2017-11-28 17:47:01 -0800 (Tue, 28 Nov 2017)

Log Message

Web Inspector: Network Tab - Add a toggle in the network tab to control automatically clearing or preserving log across loads
https://bugs.webkit.org/show_bug.cgi?id=180110
<rdar://problem/34071789>

Patch by Joseph Pecoraro <[email protected]> on 2017-11-28
Reviewed by Timothy Hatcher.

* Localizations/en.lproj/localizedStrings.js:
New strings.

* UserInterface/Views/CheckboxNavigationItem.css:
(.navigation-bar .item.checkbox input[type=checkbox]):
Tweak style to more center the checkbox vertically.

* UserInterface/Views/CheckboxNavigationItem.js:
(WI.CheckboxNavigationItem):
Fix setting the initial value of a checkbox navigation item.

* UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView):
(WI.NetworkTableContentView.prototype.get navigationItems):
(WI.NetworkTableContentView.prototype.closed):
(WI.NetworkTableContentView.prototype._clearNetworkOnNavigateSettingChanged):
Add a new checkbox for the clear on navigation setting.

* UserInterface/Views/SettingEditor.js:
(WI.SettingEditor.createForSetting):
Update the editor checkbox if the setting changes outside of the setting editor.

* UserInterface/Views/NavigationItem.js:
(WI.NavigationItem.prototype.get tooltip):
(WI.NavigationItem.prototype.set tooltip):
* UserInterface/Views/ActivateButtonNavigationItem.js:
(WI.ActivateButtonNavigationItem.prototype.set activated):
* UserInterface/Views/ButtonNavigationItem.js:
(WI.ButtonNavigationItem):
(WI.ButtonNavigationItem.prototype.get toolTip): Deleted.
(WI.ButtonNavigationItem.prototype.set toolTip): Deleted.
* UserInterface/Views/ToggleButtonNavigationItem.js:
(WI.ToggleButtonNavigationItem.prototype.set alternateToolTip):
(WI.ToggleButtonNavigationItem.prototype.set toggled):
Move tooltip to the base class and rename it from `toolTip` to `tooltip` to
match existing generic places like TreeElement.

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (225249 => 225250)


--- trunk/Source/WebInspectorUI/ChangeLog	2017-11-29 01:33:29 UTC (rev 225249)
+++ trunk/Source/WebInspectorUI/ChangeLog	2017-11-29 01:47:01 UTC (rev 225250)
@@ -1,5 +1,50 @@
 2017-11-28  Joseph Pecoraro  <[email protected]>
 
+        Web Inspector: Network Tab - Add a toggle in the network tab to control automatically clearing or preserving log across loads
+        https://bugs.webkit.org/show_bug.cgi?id=180110
+        <rdar://problem/34071789>
+
+        Reviewed by Timothy Hatcher.
+
+        * Localizations/en.lproj/localizedStrings.js:
+        New strings.
+
+        * UserInterface/Views/CheckboxNavigationItem.css:
+        (.navigation-bar .item.checkbox input[type=checkbox]):
+        Tweak style to more center the checkbox vertically.
+
+        * UserInterface/Views/CheckboxNavigationItem.js:
+        (WI.CheckboxNavigationItem):
+        Fix setting the initial value of a checkbox navigation item.
+
+        * UserInterface/Views/NetworkTableContentView.js:
+        (WI.NetworkTableContentView):
+        (WI.NetworkTableContentView.prototype.get navigationItems):
+        (WI.NetworkTableContentView.prototype.closed):
+        (WI.NetworkTableContentView.prototype._clearNetworkOnNavigateSettingChanged):
+        Add a new checkbox for the clear on navigation setting.
+
+        * UserInterface/Views/SettingEditor.js:
+        (WI.SettingEditor.createForSetting):
+        Update the editor checkbox if the setting changes outside of the setting editor.
+
+        * UserInterface/Views/NavigationItem.js:
+        (WI.NavigationItem.prototype.get tooltip):
+        (WI.NavigationItem.prototype.set tooltip):
+        * UserInterface/Views/ActivateButtonNavigationItem.js:
+        (WI.ActivateButtonNavigationItem.prototype.set activated):
+        * UserInterface/Views/ButtonNavigationItem.js:
+        (WI.ButtonNavigationItem):
+        (WI.ButtonNavigationItem.prototype.get toolTip): Deleted.
+        (WI.ButtonNavigationItem.prototype.set toolTip): Deleted.
+        * UserInterface/Views/ToggleButtonNavigationItem.js:
+        (WI.ToggleButtonNavigationItem.prototype.set alternateToolTip):
+        (WI.ToggleButtonNavigationItem.prototype.set toggled):
+        Move tooltip to the base class and rename it from `toolTip` to `tooltip` to
+        match existing generic places like TreeElement.
+
+2017-11-28  Joseph Pecoraro  <[email protected]>
+
         Web Inspector: Include Beacon loads in the Network Table's "Other" filter
         https://bugs.webkit.org/show_bug.cgi?id=180113
 

Modified: trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js (225249 => 225250)


--- trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js	2017-11-29 01:33:29 UTC (rev 225249)
+++ trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js	2017-11-29 01:47:01 UTC (rev 225250)
@@ -307,6 +307,7 @@
 localizedStrings["Disk Cache"] = "Disk Cache";
 localizedStrings["Display"] = "Display";
 localizedStrings["Displayed Columns"] = "Displayed Columns";
+localizedStrings["Do not clear network items on new page loads"] = "Do not clear network items on new page loads";
 localizedStrings["Do not fade unexecuted code"] = "Do not fade unexecuted code";
 localizedStrings["Dock to bottom of window"] = "Dock to bottom of window";
 localizedStrings["Dock to side of window"] = "Dock to side of window";
@@ -700,6 +701,7 @@
 localizedStrings["Position X"] = "Position X";
 localizedStrings["Position Y"] = "Position Y";
 localizedStrings["Prefer indent using:"] = "Prefer indent using:";
+localizedStrings["Preserve Log"] = "Preserve Log";
 localizedStrings["Pressed"] = "Pressed";
 localizedStrings["Pretty print"] = "Pretty print";
 localizedStrings["Preview"] = "Preview";

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ActivateButtonNavigationItem.js (225249 => 225250)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ActivateButtonNavigationItem.js	2017-11-29 01:33:29 UTC (rev 225249)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ActivateButtonNavigationItem.js	2017-11-29 01:47:01 UTC (rev 225250)
@@ -56,11 +56,11 @@
         this.element.classList.toggle(WI.ActivateButtonNavigationItem.ActivatedStyleClassName, flag);
 
         if (flag) {
-            this.toolTip = this._activatedToolTip;
+            this.tooltip = this._activatedToolTip;
             if (this._role === "tab")
                 this.element.setAttribute("aria-selected", "true");
         } else {
-            this.toolTip = this._defaultToolTip;
+            this.tooltip = this._defaultToolTip;
             if (this._role === "tab")
                 this.element.removeAttribute("aria-selected");
         }

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ButtonNavigationItem.js (225249 => 225250)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ButtonNavigationItem.js	2017-11-29 01:33:29 UTC (rev 225249)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ButtonNavigationItem.js	2017-11-29 01:47:01 UTC (rev 225250)
@@ -34,7 +34,7 @@
 
         this._enabled = true;
 
-        this.toolTip = toolTipOrLabel;
+        this.tooltip = toolTipOrLabel;
 
         this.element.addEventListener("click", this._mouseClicked.bind(this));
 
@@ -53,20 +53,6 @@
 
     // Public
 
-    get toolTip()
-    {
-        return this.element.title;
-    }
-
-    set toolTip(newToolTip)
-    {
-        console.assert(newToolTip);
-        if (!newToolTip)
-            return;
-
-        this.element.title = newToolTip;
-    }
-
     get label()
     {
         return this._label;

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CheckboxNavigationItem.css (225249 => 225250)


--- trunk/Source/WebInspectorUI/UserInterface/Views/CheckboxNavigationItem.css	2017-11-29 01:33:29 UTC (rev 225249)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CheckboxNavigationItem.css	2017-11-29 01:47:01 UTC (rev 225250)
@@ -31,3 +31,8 @@
 .navigation-bar .item.checkbox label {
     -webkit-padding-start: 3px;
 }
+
+.navigation-bar .item.checkbox input[type=checkbox] {
+    position: relative;
+    top: 1px;
+}

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CheckboxNavigationItem.js (225249 => 225250)


--- trunk/Source/WebInspectorUI/UserInterface/Views/CheckboxNavigationItem.js	2017-11-29 01:33:29 UTC (rev 225249)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CheckboxNavigationItem.js	2017-11-29 01:47:01 UTC (rev 225250)
@@ -30,7 +30,7 @@
         super(identifier, "checkbox");
 
         this._checkboxElement = this.element.appendChild(document.createElement("input"));
-        this._checkboxElement.checked = !checked;
+        this._checkboxElement.checked = checked;
         this._checkboxElement.id = "checkbox-navigation-item-" + identifier;
         this._checkboxElement.type = "checkbox";
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/NavigationItem.js (225249 => 225250)


--- trunk/Source/WebInspectorUI/UserInterface/Views/NavigationItem.js	2017-11-29 01:33:29 UTC (rev 225249)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/NavigationItem.js	2017-11-29 01:47:01 UTC (rev 225250)
@@ -88,6 +88,16 @@
             this._parentNavigationBar.needsLayout();
     }
 
+    get tooltip()
+    {
+        return this.element.title;
+    }
+
+    set tooltip(x)
+    {
+        this.element.title = x;
+    }
+
     // Protected
 
     didAttach(navigationBar)

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js (225249 => 225250)


--- trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js	2017-11-29 01:33:29 UTC (rev 225249)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js	2017-11-29 01:47:01 UTC (rev 225250)
@@ -96,11 +96,22 @@
 
         this._emptyFilterResultsMessageElement = null;
 
+        this._clearOnLoadNavigationItem = new WI.CheckboxNavigationItem("perserve-log", WI.UIString("Preserve Log"), !WI.settings.clearNetworkOnNavigate.value);
+        this._clearOnLoadNavigationItem.tooltip = WI.UIString("Do not clear network items on new page loads");
+        this._clearOnLoadNavigationItem.addEventListener(WI.CheckboxNavigationItem.Event.CheckedDidChange, () => { WI.settings.clearNetworkOnNavigate.value = !WI.settings.clearNetworkOnNavigate.value; });
+        WI.settings.clearNetworkOnNavigate.addEventListener(WI.Setting.Event.Changed, this._clearNetworkOnNavigateSettingChanged, this);
+
         this._harExportNavigationItem = new WI.ButtonNavigationItem("har-export", WI.UIString("Export"), "Images/Export.svg", 15, 15);
         this._harExportNavigationItem.buttonStyle = WI.ButtonNavigationItem.Style.ImageAndText;
-        this._harExportNavigationItem.toolTip = WI.UIString("HAR Export (%s)").format(WI.saveKeyboardShortcut.displayName);
+        this._harExportNavigationItem.tooltip = WI.UIString("HAR Export (%s)").format(WI.saveKeyboardShortcut.displayName);
         this._harExportNavigationItem.addEventListener(WI.ButtonNavigationItem.Event.Clicked, () => { this._exportHAR(); });
 
+        this._checkboxsNavigationItemGroup = new WI.GroupNavigationItem([this._clearOnLoadNavigationItem, new WI.DividerNavigationItem]);
+        this._checkboxsNavigationItemGroup.visibilityPriority = WI.NavigationItem.VisibilityPriority.Low;
+
+        this._buttonsNavigationItemGroup = new WI.GroupNavigationItem([this._harExportNavigationItem, new WI.DividerNavigationItem]);
+        this._buttonsNavigationItemGroup.visibilityPriority = WI.NavigationItem.VisibilityPriority.Low;
+
         // COMPATIBILITY (iOS 10.3): Network.setDisableResourceCaching did not exist.
         if (window.NetworkAgent && NetworkAgent.setResourceCachingDisabled) {
             let toolTipForDisableResourceCache = WI.UIString("Ignore the resource cache when loading resources");
@@ -181,7 +192,7 @@
 
     get navigationItems()
     {
-        let items = [this._harExportNavigationItem, new WI.DividerNavigationItem];
+        let items = [this._checkboxsNavigationItemGroup, this._buttonsNavigationItemGroup];
         if (this._disableResourceCacheNavigationItem)
             items.push(this._disableResourceCacheNavigationItem);
         items.push(this._clearNetworkItemsNavigationItem);
@@ -240,6 +251,7 @@
         WI.Frame.removeEventListener(null, null, this);
         WI.Resource.removeEventListener(null, null, this);
         WI.resourceCachingDisabledSetting.removeEventListener(null, null, this);
+        WI.settings.clearNetworkOnNavigate.removeEventListener(null, null, this);
         WI.frameResourceManager.removeEventListener(WI.FrameResourceManager.Event.MainFrameDidChange, this._mainFrameDidChange, this);
         WI.timelineManager.persistentNetworkTimeline.removeEventListener(WI.Timeline.Event.RecordAdded, this._networkTimelineRecordAdded, this);
 
@@ -1064,6 +1076,11 @@
         this._emptyFilterResultsMessageElement.style.width = width + "px";
     }
 
+    _clearNetworkOnNavigateSettingChanged()
+    {
+        this._clearOnLoadNavigationItem.checked = !WI.settings.clearNetworkOnNavigate.value;
+    }
+
     _resourceCachingDisabledSettingChanged()
     {
         this._disableResourceCacheNavigationItem.activated = WI.resourceCachingDisabledSetting.value;

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SettingEditor.js (225249 => 225250)


--- trunk/Source/WebInspectorUI/UserInterface/Views/SettingEditor.js	2017-11-29 01:33:29 UTC (rev 225249)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/SettingEditor.js	2017-11-29 01:47:01 UTC (rev 225250)
@@ -65,6 +65,7 @@
         let editor = new WI.SettingEditor(type, label, options);
         editor.value = setting.value;
         editor.addEventListener(WI.SettingEditor.Event.ValueDidChange, () => { setting.value = editor.value; });
+        setting.addEventListener(WI.Setting.Event.Changed, () => { editor.value = setting.value; });
 
         return editor;
     }

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ToggleButtonNavigationItem.js (225249 => 225250)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ToggleButtonNavigationItem.js	2017-11-29 01:33:29 UTC (rev 225249)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ToggleButtonNavigationItem.js	2017-11-29 01:47:01 UTC (rev 225250)
@@ -53,7 +53,7 @@
         this._alternateToolTip = toolTip;
 
         if (this._toggled)
-            this.toolTip = this._alternateToolTip;
+            this.tooltip = this._alternateToolTip;
     }
 
     get defaultImage()
@@ -89,10 +89,10 @@
         this._toggled = flag;
 
         if (this._toggled) {
-            this.toolTip = this._alternateToolTip;
+            this.tooltip = this._alternateToolTip;
             this.image = this._alternateImage;
         } else {
-            this.toolTip = this._defaultToolTip;
+            this.tooltip = this._defaultToolTip;
             this.image = this._defaultImage;
         }
     }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to