Title: [242914] trunk
- Revision
- 242914
- Author
- [email protected]
- Date
- 2019-03-13 15:09:27 -0700 (Wed, 13 Mar 2019)
Log Message
REGRESSION(r240946): Web Inspector: Styles: removing selected property doesn't update overridden status
https://bugs.webkit.org/show_bug.cgi?id=195389
<rdar://problem/48658929>
Reviewed by Matt Baker.
Source/WebInspectorUI:
* UserInterface/Models/DOMNodeStyles.js:
(WI.DOMNodeStyles.prototype.changeStyleText):
Call DOMNodeStyles.prototype.refresh after the callback. No updates
to CSSStyleDeclaration happen until the callback is called.
LayoutTests:
* inspector/css/overridden-property-expected.txt: Added.
* inspector/css/overridden-property.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (242913 => 242914)
--- trunk/LayoutTests/ChangeLog 2019-03-13 22:06:18 UTC (rev 242913)
+++ trunk/LayoutTests/ChangeLog 2019-03-13 22:09:27 UTC (rev 242914)
@@ -1,3 +1,14 @@
+2019-03-13 Nikita Vasilyev <[email protected]>
+
+ REGRESSION(r240946): Web Inspector: Styles: removing selected property doesn't update overridden status
+ https://bugs.webkit.org/show_bug.cgi?id=195389
+ <rdar://problem/48658929>
+
+ Reviewed by Matt Baker.
+
+ * inspector/css/overridden-property-expected.txt: Added.
+ * inspector/css/overridden-property.html: Added.
+
2019-03-13 Simon Fraser <[email protected]>
Scrolling tree should reposition non-stacking order descendents of overflow:scroll
Added: trunk/LayoutTests/inspector/css/overridden-property-expected.txt (0 => 242914)
--- trunk/LayoutTests/inspector/css/overridden-property-expected.txt (rev 0)
+++ trunk/LayoutTests/inspector/css/overridden-property-expected.txt 2019-03-13 22:09:27 UTC (rev 242914)
@@ -0,0 +1,13 @@
+Test that CSSProperty.prototype.overridden is cleared when the overriding (effective) property is removed.
+
+
+== Running test suite: OverriddenProperty
+-- Running test case: OverriddenProperty.effectivePropertyRemoved
+color: green;
+color: red; overridden
+
+OverriddenStatusChanged event fired.
+REMOVED
+color: red;
+
+
Added: trunk/LayoutTests/inspector/css/overridden-property.html (0 => 242914)
--- trunk/LayoutTests/inspector/css/overridden-property.html (rev 0)
+++ trunk/LayoutTests/inspector/css/overridden-property.html 2019-03-13 22:09:27 UTC (rev 242914)
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+<script>
+function test() {
+ let nodeStyles = null;
+
+ let suite = InspectorTest.createAsyncSuite("OverriddenProperty");
+
+ function logProperty(property) {
+ let text = property.formattedText || "REMOVED";
+ if (property.overridden)
+ text += " overridden";
+ InspectorTest.log(text);
+ }
+
+ suite.addTestCase({
+ name: "OverriddenProperty.effectivePropertyRemoved",
+ test(resolve, reject) {
+ let inlineStyle = nodeStyles.inlineStyle;
+ let styleRule = nodeStyles.matchedRules[0];
+ let inlineStyleProperty = inlineStyle.enabledProperties[0];
+ let styleRuleProperty = styleRule.style.enabledProperties[0];
+
+ function log() {
+ logProperty(inlineStyleProperty);
+ logProperty(styleRuleProperty);
+ InspectorTest.log("");
+ }
+
+ log();
+
+ inlineStyleProperty.remove();
+
+ styleRuleProperty.addEventListener(WI.CSSProperty.Event.OverriddenStatusChanged, (event) => {
+ // FIXME: <https://webkit.org/b/195651> OverriddenStatusChanged may fire more than once.
+ if (styleRuleProperty.overridden)
+ return;
+
+ InspectorTest.log("OverriddenStatusChanged event fired.");
+ log();
+ resolve();
+ });
+ }
+ });
+
+ WI.domManager.requestDocument((documentNode) => {
+ WI.domManager.querySelector(documentNode.id, "div#x", (contentNodeId) => {
+ if (!contentNodeId) {
+ InspectorTest.fail("DOM node not found.");
+ InspectorTest.completeTest();
+ return;
+ }
+
+ let domNode = WI.domManager.nodeForId(contentNodeId);
+ nodeStyles = WI.cssManager.stylesForNode(domNode);
+
+ if (nodeStyles.needsRefresh) {
+ nodeStyles.singleFireEventListener(WI.DOMNodeStyles.Event.Refreshed, (event) => {
+ suite.runTestCasesAndFinish();
+ });
+ } else
+ suite.runTestCasesAndFinish();
+ });
+ });
+}
+</script>
+</head>
+<body _onload_="runTest()">
+ <p>Test that CSSProperty.prototype.overridden is cleared when the overriding (effective) property is removed.</p>
+ <style>
+ #x {
+ color: red;
+ }
+ </style>
+ <div id="x" style="color: green"></div>
+</body>
+</html>
Modified: trunk/Source/WebInspectorUI/ChangeLog (242913 => 242914)
--- trunk/Source/WebInspectorUI/ChangeLog 2019-03-13 22:06:18 UTC (rev 242913)
+++ trunk/Source/WebInspectorUI/ChangeLog 2019-03-13 22:09:27 UTC (rev 242914)
@@ -1,3 +1,16 @@
+2019-03-13 Nikita Vasilyev <[email protected]>
+
+ REGRESSION(r240946): Web Inspector: Styles: removing selected property doesn't update overridden status
+ https://bugs.webkit.org/show_bug.cgi?id=195389
+ <rdar://problem/48658929>
+
+ Reviewed by Matt Baker.
+
+ * UserInterface/Models/DOMNodeStyles.js:
+ (WI.DOMNodeStyles.prototype.changeStyleText):
+ Call DOMNodeStyles.prototype.refresh after the callback. No updates
+ to CSSStyleDeclaration happen until the callback is called.
+
2019-03-13 Devin Rousso <[email protected]>
Web Inspector: Protocol Logging: log messages with backtrace if inspector^2 is open
Modified: trunk/Source/WebInspectorUI/UserInterface/Models/DOMNodeStyles.js (242913 => 242914)
--- trunk/Source/WebInspectorUI/UserInterface/Models/DOMNodeStyles.js 2019-03-13 22:06:18 UTC (rev 242913)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/DOMNodeStyles.js 2019-03-13 22:09:27 UTC (rev 242914)
@@ -464,7 +464,8 @@
return;
}
- this.refresh().then(callback);
+ callback();
+ this.refresh();
};
CSSAgent.setStyleText(style.id, text, didSetStyleText);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes