Diff
Modified: trunk/Source/WebInspectorUI/ChangeLog (242555 => 242556)
--- trunk/Source/WebInspectorUI/ChangeLog 2019-03-06 19:20:53 UTC (rev 242555)
+++ trunk/Source/WebInspectorUI/ChangeLog 2019-03-06 19:22:30 UTC (rev 242556)
@@ -1,5 +1,27 @@
2019-03-06 Devin Rousso <[email protected]>
+ Web Inspector: CSS Changes: only show changes for the given node
+ https://bugs.webkit.org/show_bug.cgi?id=194608
+ <rdar://problem/48050206>
+
+ Reviewed by Timothy Hatcher.
+
+ * UserInterface/Views/ChangesDetailsSidebarPanel.js:
+ (WI.ChangesDetailsSidebarPanel.prototype.inspect):
+ (WI.ChangesDetailsSidebarPanel.prototype.supportsDOMNode):
+ (WI.ChangesDetailsSidebarPanel.prototype.layout):
+ Make this panel a subclass of `WI.DOMDetailsSidebarPanel` so it has access to the selected
+ DOM node in the Elements tab.
+
+ * UserInterface/Base/Setting.js:
+ * UserInterface/Views/SettingsTabContentView.js:
+ (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
+ Create new general setting for controlling this change.
+
+ * Localizations/en.lproj/localizedStrings.js:
+
+2019-03-06 Devin Rousso <[email protected]>
+
Web Inspector: Canvas: color swatches aren't shown for valid inputs with leading/trailing whitespace
https://bugs.webkit.org/show_bug.cgi?id=195298
Modified: trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js (242555 => 242556)
--- trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js 2019-03-06 19:20:53 UTC (rev 242555)
+++ trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js 2019-03-06 19:22:30 UTC (rev 242556)
@@ -176,6 +176,7 @@
localizedStrings["CSP Hash"] = "CSP Hash";
localizedStrings["CSS"] = "CSS";
localizedStrings["CSS Canvas"] = "CSS Canvas";
+localizedStrings["CSS Changes:"] = "CSS Changes:";
localizedStrings["CSS canvas \u201C%s\u201D"] = "CSS canvas \u201C%s\u201D";
localizedStrings["Cached"] = "Cached";
localizedStrings["Call Frames Truncated"] = "Call Frames Truncated";
@@ -915,6 +916,7 @@
localizedStrings["Show hidden tabs"] = "Show hidden tabs";
localizedStrings["Show messages logged to the Console"] = "Show messages logged to the Console";
localizedStrings["Show network information"] = "Show network information";
+localizedStrings["Show only for selected node"] = "Show only for selected node";
localizedStrings["Show page load timing"] = "Show page load timing";
localizedStrings["Show page resources"] = "Show page resources";
localizedStrings["Show shadow DOM nodes"] = "Show shadow DOM nodes";
Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Setting.js (242555 => 242556)
--- trunk/Source/WebInspectorUI/UserInterface/Base/Setting.js 2019-03-06 19:20:53 UTC (rev 242555)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Setting.js 2019-03-06 19:22:30 UTC (rev 242556)
@@ -127,6 +127,7 @@
WI.settings = {
canvasRecordingAutoCaptureEnabled: new WI.Setting("canvas-recording-auto-capture-enabled", false),
canvasRecordingAutoCaptureFrameCount: new WI.Setting("canvas-recording-auto-capture-frame-count", 1),
+ cssChangesPerNode: new WI.Setting("css-changes-per-node", false),
clearLogOnNavigate: new WI.Setting("clear-log-on-navigate", true),
clearNetworkOnNavigate: new WI.Setting("clear-network-on-navigate", true),
cpuTimelineThreadDetailsExpanded: new WI.Setting("cpu-timeline-thread-details-expanded", false),
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ChangesDetailsSidebarPanel.js (242555 => 242556)
--- trunk/Source/WebInspectorUI/UserInterface/Views/ChangesDetailsSidebarPanel.js 2019-03-06 19:20:53 UTC (rev 242555)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ChangesDetailsSidebarPanel.js 2019-03-06 19:22:30 UTC (rev 242556)
@@ -23,7 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-WI.ChangesDetailsSidebarPanel = class ChangesDetailsSidebarPanel extends WI.DetailsSidebarPanel
+WI.ChangesDetailsSidebarPanel = class ChangesDetailsSidebarPanel extends WI.DOMDetailsSidebarPanel
{
constructor()
{
@@ -36,11 +36,20 @@
inspect(objects)
{
+ let inspectable = super.inspect(objects);
+
+ if (WI.settings.cssChangesPerNode.value)
+ return inspectable;
+
+ // Display Changes panel regardless of the selected DOM node.
return true;
}
supportsDOMNode(nodeToInspect)
{
+ if (WI.settings.cssChangesPerNode.value)
+ return nodeToInspect.nodeType() === Node.ELEMENT_NODE;
+
// Display Changes panel regardless of the selected DOM node.
return true;
}
@@ -74,6 +83,14 @@
let cssRules = WI.cssManager.modifiedCSSRules;
+ if (WI.settings.cssChangesPerNode.value) {
+ if (this.domNode) {
+ let styles = WI.cssManager.stylesForNode(this.domNode);
+ cssRules = cssRules.filter((cssRule) => styles.matchedRules.some((matchedRule) => cssRule.isEqualTo(matchedRule)));
+ } else
+ cssRules = [];
+ }
+
this.element.classList.toggle("empty", !cssRules.length);
if (!cssRules.length) {
this.element.textContent = WI.UIString("No CSS Changes");
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SettingsTabContentView.js (242555 => 242556)
--- trunk/Source/WebInspectorUI/UserInterface/Views/SettingsTabContentView.js 2019-03-06 19:20:53 UTC (rev 242555)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/SettingsTabContentView.js 2019-03-06 19:22:30 UTC (rev 242556)
@@ -217,6 +217,10 @@
generalSettingsView.addSeparator();
+ generalSettingsView.addSetting(WI.UIString("CSS Changes:"), WI.settings.cssChangesPerNode, WI.UIString("Show only for selected node"));
+
+ generalSettingsView.addSeparator();
+
const zoomLevels = [0.6, 0.8, 1, 1.2, 1.4, 1.6, 1.8, 2, 2.2, 2.4];
const zoomValues = zoomLevels.map((level) => [level, Number.percentageString(level, 0)]);