Changeset 204370 in webkit
- Timestamp:
- Aug 10, 2016 8:35:01 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r204368 r204370 1 2016-08-10 Joseph Pecoraro <pecoraro@apple.com> 2 3 Web Inspector: Should be able to Edit Node Attributes and Styles for non-UserAgent Shadow DOM nodes 4 https://bugs.webkit.org/show_bug.cgi?id=160762 5 <rdar://problem/27798271> 6 7 Reviewed by Ryosuke Niwa. 8 9 * inspector/dom/shadowRootType-expected.txt: 10 * inspector/dom/shadowRootType.html: 11 Add tests for DOMNode.prototype.isInUserAgentShadowTree. 12 1 13 2016-08-10 Chris Dumez <cdumez@apple.com> 2 14 -
trunk/LayoutTests/inspector/dom/shadowRootType-expected.txt
r202634 r204370 6 6 PASS: DOMNode has a single shadow root. 7 7 PASS: DOMNode has UserAgent shadow root type. 8 PASS: DOMNode is in a UserAgent shadow tree. 8 9 9 10 -- Running test case: ShadowRootType.Closed 10 11 PASS: DOMNode has a single shadow root. 11 12 PASS: DOMNode has Closed shadow root type. 13 PASS: DOMNode is not in a UserAgent shadow tree. 12 14 13 15 -- Running test case: ShadowRootType.Open 14 16 PASS: DOMNode has a single shadow root. 15 17 PASS: DOMNode has Open shadow root type. 18 PASS: DOMNode is not in a UserAgent shadow tree. 16 19 17 20 -- Running test case: NoShadowRootType -
trunk/LayoutTests/inspector/dom/shadowRootType.html
r202634 r204370 18 18 InspectorTest.expectThat(domNode.shadowRoots().length === 1, "DOMNode has a single shadow root."); 19 19 InspectorTest.expectThat(domNode.shadowRoots()[0].shadowRootType() === WebInspector.DOMNode.ShadowRootType.UserAgent, "DOMNode has UserAgent shadow root type."); 20 InspectorTest.expectThat(domNode.shadowRoots()[0].isInUserAgentShadowTree(), "DOMNode is in a UserAgent shadow tree."); 20 21 resolve(); 21 22 }); … … 31 32 InspectorTest.expectThat(domNode.shadowRoots().length === 1, "DOMNode has a single shadow root."); 32 33 InspectorTest.expectThat(domNode.shadowRoots()[0].shadowRootType() === WebInspector.DOMNode.ShadowRootType.Closed, "DOMNode has Closed shadow root type."); 34 InspectorTest.expectThat(!domNode.shadowRoots()[0].isInUserAgentShadowTree(), "DOMNode is not in a UserAgent shadow tree."); 33 35 resolve(); 34 36 }); … … 44 46 InspectorTest.expectThat(domNode.shadowRoots().length === 1, "DOMNode has a single shadow root."); 45 47 InspectorTest.expectThat(domNode.shadowRoots()[0].shadowRootType() === WebInspector.DOMNode.ShadowRootType.Open, "DOMNode has Open shadow root type."); 48 InspectorTest.expectThat(!domNode.shadowRoots()[0].isInUserAgentShadowTree(), "DOMNode is not in a UserAgent shadow tree."); 46 49 resolve(); 47 50 }); -
trunk/Source/WebCore/ChangeLog
r204368 r204370 1 2016-08-10 Joseph Pecoraro <pecoraro@apple.com> 2 3 Web Inspector: Should be able to Edit Node Attributes and Styles for non-UserAgent Shadow DOM nodes 4 https://bugs.webkit.org/show_bug.cgi?id=160762 5 <rdar://problem/27798271> 6 7 Reviewed by Ryosuke Niwa. 8 9 * inspector/InspectorDOMAgent.cpp: 10 (WebCore::InspectorDOMAgent::assertEditableNode): 11 (WebCore::InspectorDOMAgent::assertEditableElement): 12 * inspector/PageConsoleAgent.cpp: 13 (WebCore::PageConsoleAgent::addInspectedNode): 14 Allow editing shadow DOM nodes as long as they are not in a UserAgent shadow tree. 15 1 16 2016-08-10 Chris Dumez <cdumez@apple.com> 2 17 -
trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp
r204114 r204370 396 396 if (!node) 397 397 return nullptr; 398 if (node->isIn ShadowTree()) {399 errorString = ASCIILiteral("Cannot edit nodes fromshadow trees");398 if (node->isInUserAgentShadowTree()) { 399 errorString = ASCIILiteral("Cannot edit nodes in user agent shadow trees"); 400 400 return nullptr; 401 401 } … … 412 412 if (!element) 413 413 return nullptr; 414 if (element->isIn ShadowTree()) {415 errorString = ASCIILiteral("Cannot edit elements fromshadow trees");414 if (element->isInUserAgentShadowTree()) { 415 errorString = ASCIILiteral("Cannot edit elements in user agent shadow trees"); 416 416 return nullptr; 417 417 } -
trunk/Source/WebCore/inspector/PageConsoleAgent.cpp
r199619 r204370 69 69 { 70 70 Node* node = m_inspectorDOMAgent->nodeForId(nodeId); 71 if (!node || node->isIn ShadowTree()) {71 if (!node || node->isInUserAgentShadowTree()) { 72 72 errorString = ASCIILiteral("nodeId is not valid"); 73 73 return; -
trunk/Source/WebInspectorUI/ChangeLog
r204339 r204370 1 2016-08-10 Joseph Pecoraro <pecoraro@apple.com> 2 3 Web Inspector: Should be able to Edit Node Attributes and Styles for non-UserAgent Shadow DOM nodes 4 https://bugs.webkit.org/show_bug.cgi?id=160762 5 <rdar://problem/27798271> 6 7 Reviewed by Ryosuke Niwa. 8 9 * UserInterface/Models/DOMNode.js: 10 (WebInspector.DOMNode.prototype.isInUserAgentShadowTree): 11 (WebInspector.DOMNode.prototype.isShadowRoot): 12 (WebInspector.DOMNode.prototype.isUserAgentShadowRoot): 13 (WebInspector.DOMNode.prototype.ancestorShadowRoot): 14 (WebInspector.DOMNode.prototype.ancestorShadowHost): 15 Add methods for determining the shadow root, host, and easily 16 checking the type of shadow tree a node is in. 17 18 * UserInterface/Models/CSSStyleDeclaration.js: 19 (WebInspector.CSSStyleDeclaration.prototype.get editable): 20 * UserInterface/Views/DOMTreeElement.js: 21 (WebInspector.DOMTreeElement.prototype.get editable): 22 (WebInspector.DOMTreeElement.prototype._startEditingTarget): 23 (WebInspector.DOMTreeElement.prototype._populateTagContextMenu): 24 * UserInterface/Views/RulesStyleDetailsPanel.js: 25 (WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonClicked): 26 * UserInterface/Views/VisualStyleSelectorSection.js: 27 (WebInspector.VisualStyleSelectorSection.prototype._addNewRule): 28 Allow editing shadow DOM nodes as long as they are not in a UserAgent shadow tree. 29 30 * UserInterface/Views/DOMTreeOutline.js: 31 (WebInspector.DOMTreeOutline.prototype._populateContextMenu): 32 Disallow "Log Element" on UserAgent shadow tree nodes. 33 1 34 2016-08-10 Nikita Vasilyev <nvasilyev@apple.com> 2 35 -
trunk/Source/WebInspectorUI/UserInterface/Models/CSSStyleDeclaration.js
r202589 r204370 86 86 87 87 if (this._type === WebInspector.CSSStyleDeclaration.Type.Inline) 88 return !this._node.isIn ShadowTree();88 return !this._node.isInUserAgentShadowTree(); 89 89 90 90 return false; -
trunk/Source/WebInspectorUI/UserInterface/Models/DOMNode.js
r204114 r204370 257 257 { 258 258 return this._isInShadowTree; 259 } 260 261 isInUserAgentShadowTree() 262 { 263 return this._isInShadowTree && this.ancestorShadowRoot().isUserAgentShadowRoot(); 264 } 265 266 isShadowRoot() 267 { 268 return !!this._shadowRootType; 269 } 270 271 isUserAgentShadowRoot() 272 { 273 return this._shadowRootType === WebInspector.DOMNode.ShadowRootType.UserAgent; 274 } 275 276 ancestorShadowRoot() 277 { 278 if (!this._isInShadowTree) 279 return null; 280 281 let node = this; 282 while (node && !node.isShadowRoot()) 283 node = node.parentNode; 284 return node; 285 } 286 287 ancestorShadowHost() 288 { 289 let shadowRoot = this.ancestorShadowRoot(); 290 return shadowRoot ? shadowRoot.parentNode : null; 259 291 } 260 292 -
trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeElement.js
r204114 r204370 176 176 get editable() 177 177 { 178 var node = this.representedObject; 179 if (node.isInShadowTree()) 178 let node = this.representedObject; 179 180 if (node.isShadowRoot() || node.isInUserAgentShadowTree()) 180 181 return false; 182 181 183 if (node.isPseudoElement()) 182 184 return false; … … 616 618 return false; 617 619 618 if (this.representedObject.isInShadowTree() || this.representedObject.isPseudoElement()) 620 if (this.representedObject.isShadowRoot() || this.representedObject.isInUserAgentShadowTree()) 621 return false; 622 623 if (this.representedObject.isPseudoElement()) 619 624 return false; 620 625 … … 640 645 { 641 646 var node = this.representedObject; 642 if (!node.isIn ShadowTree()) {647 if (!node.isInUserAgentShadowTree()) { 643 648 var attribute = event.target.enclosingNodeOrSelfWithClass("html-attribute"); 644 649 -
trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeOutline.js
r201840 r204370 524 524 contextMenu.appendItem(WebInspector.UIString("Reveal in DOM Tree"), revealElement); 525 525 526 contextMenu.appendItem(WebInspector.UIString("Log Element"), logElement); 526 if (!domNode.isInUserAgentShadowTree()) 527 contextMenu.appendItem(WebInspector.UIString("Log Element"), logElement); 527 528 } 528 529 -
trunk/Source/WebInspectorUI/UserInterface/Views/RulesStyleDetailsPanel.js
r201890 r204370 381 381 newRuleButtonClicked() 382 382 { 383 if (this.nodeStyles.node.isIn ShadowTree())383 if (this.nodeStyles.node.isInUserAgentShadowTree()) 384 384 return; 385 385 -
trunk/Source/WebInspectorUI/UserInterface/Views/VisualStyleSelectorSection.js
r195706 r204370 260 260 _addNewRule(event) 261 261 { 262 if (!this._nodeStyles || this._nodeStyles.node.isIn ShadowTree())262 if (!this._nodeStyles || this._nodeStyles.node.isInUserAgentShadowTree()) 263 263 return; 264 264
Note: See TracChangeset
for help on using the changeset viewer.