Changeset 244267 in webkit
- Timestamp:
- Apr 15, 2019, 10:26:39 AM (7 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 8 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/inspector/dom/event-listener-add-remove-expected.txt (modified) (1 diff)
-
LayoutTests/inspector/dom/event-listener-add-remove.html (modified) (3 diffs)
-
LayoutTests/inspector/dom/event-listener-inspected-node-expected.txt (added)
-
LayoutTests/inspector/dom/event-listener-inspected-node.html (added)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/inspector/agents/InspectorDOMAgent.cpp (modified) (5 diffs)
-
Source/WebCore/inspector/agents/InspectorDOMAgent.h (modified) (2 diffs)
-
Source/WebInspectorUI/ChangeLog (modified) (1 diff)
-
Source/WebInspectorUI/UserInterface/Models/DOMNode.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r244263 r244267 1 2019-04-15 Devin Rousso <drousso@apple.com> 2 3 Web Inspector: Elements: event listener change events should only be fired for the selected node and it's ancestors 4 https://bugs.webkit.org/show_bug.cgi?id=196887 5 <rdar://problem/49870627> 6 7 Reviewed by Timothy Hatcher. 8 9 * inspector/dom/event-listener-inspected-node.html: Added. 10 * inspector/dom/event-listener-inspected-node-expected.txt: Added. 11 12 * inspector/dom/event-listener-add-remove.html: 13 * inspector/dom/event-listener-add-remove-expected.txt: 14 1 15 2019-04-15 Shawn Roberts <sroberts@apple.com> 2 16 -
trunk/LayoutTests/inspector/dom/event-listener-add-remove-expected.txt
r222002 r244267 1 1 Testing events for adding and removing event listeners. 2 2 3 Changing inspected node to #document... 3 4 4 5 == Running test suite: DOM.eventListeners -
trunk/LayoutTests/inspector/dom/event-listener-add-remove.html
r243244 r244267 210 210 addAttribute("onload", 2); 211 211 }); 212 } else if (eventCount === 2) 212 } else if (eventCount === 2) { 213 213 InspectorTest.log("Attribute event listener replaced."); 214 else if (eventCount === 3) { 214 215 215 logListeners(1).then(() => { 216 216 InspectorTest.log(""); … … 218 218 removeAttribute("onload"); 219 219 }); 220 } else if (eventCount === 4)220 } else if (eventCount === 3) 221 221 logListeners(0).then(resolve, reject); 222 222 else … … 228 228 }); 229 229 230 WI.domManager.requestDocument( (documentNode) => {230 WI.domManager.requestDocument(async (documentNode) => { 231 231 node = documentNode; 232 233 InspectorTest.assert(node !== WI.domManager.inspectedNode); 234 InspectorTest.log("Changing inspected node to #document..."); 235 await Promise.all([ 236 WI.domManager.awaitEvent(WI.DOMManager.Event.InspectedNodeChanged), 237 WI.domManager.setInspectedNode(node), 238 ]); 239 InspectorTest.assert(node === WI.domManager.inspectedNode); 232 240 233 241 suite.runTestCasesAndFinish(); -
trunk/Source/WebCore/ChangeLog
r244259 r244267 1 2019-04-15 Devin Rousso <drousso@apple.com> 2 3 Web Inspector: Elements: event listener change events should only be fired for the selected node and it's ancestors 4 https://bugs.webkit.org/show_bug.cgi?id=196887 5 <rdar://problem/49870627> 6 7 Reviewed by Timothy Hatcher. 8 9 Test: inspector/dom/event-listener-add-remove.html 10 inspector/dom/event-listener-inspected-node.html 11 12 * inspector/agents/InspectorDOMAgent.h: 13 * inspector/agents/InspectorDOMAgent.cpp: 14 (WebCore::InspectorDOMAgent::getEventListenersForNode): 15 (WebCore::InspectorDOMAgent::setInspectedNode): 16 (WebCore::InspectorDOMAgent::didAddEventListener): 17 (WebCore::InspectorDOMAgent::willRemoveEventListener): 18 1 19 2019-04-15 Antoine Quint <graouts@apple.com> 2 20 -
trunk/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp
r243273 r244267 953 953 } 954 954 } 955 956 if (m_inspectedNode == node) 957 m_suppressEventListenerChangedEvent = false; 955 958 } 956 959 … … 1399 1402 } 1400 1403 1404 m_inspectedNode = node; 1405 1401 1406 if (CommandLineAPIHost* commandLineAPIHost = static_cast<WebInjectedScriptManager&>(m_injectedScriptManager).commandLineAPIHost()) 1402 1407 commandLineAPIHost->addInspectedObject(std::make_unique<InspectableNode>(node)); 1408 1409 m_suppressEventListenerChangedEvent = false; 1403 1410 } 1404 1411 … … 2389 2396 return; 2390 2397 2391 int nodeId = boundNodeId(&downcast<Node>(target)); 2398 auto& node = downcast<Node>(target); 2399 if (!node.contains(m_inspectedNode.get())) 2400 return; 2401 2402 int nodeId = boundNodeId(&node); 2392 2403 if (!nodeId) 2393 2404 return; 2394 2405 2406 if (m_suppressEventListenerChangedEvent) 2407 return; 2408 2409 m_suppressEventListenerChangedEvent = true; 2410 2395 2411 m_frontendDispatcher->didAddEventListener(nodeId); 2396 2412 } … … 2400 2416 if (!is<Node>(target)) 2401 2417 return; 2418 2402 2419 auto& node = downcast<Node>(target); 2420 if (!node.contains(m_inspectedNode.get())) 2421 return; 2403 2422 2404 2423 int nodeId = boundNodeId(&node); … … 2420 2439 return entry.value.matches(target, eventType, listener, capture); 2421 2440 }); 2441 2442 if (m_suppressEventListenerChangedEvent) 2443 return; 2444 2445 m_suppressEventListenerChangedEvent = true; 2422 2446 2423 2447 m_frontendDispatcher->willRemoveEventListener(nodeId); -
trunk/Source/WebCore/inspector/agents/InspectorDOMAgent.h
r243273 r244267 252 252 RefPtr<Node> m_nodeToFocus; 253 253 RefPtr<Node> m_mousedOverNode; 254 RefPtr<Node> m_inspectedNode; 254 255 std::unique_ptr<HighlightConfig> m_inspectModeHighlightConfig; 255 256 std::unique_ptr<InspectorHistory> m_history; … … 257 258 bool m_searchingForNode { false }; 258 259 bool m_suppressAttributeModifiedEvent { false }; 260 bool m_suppressEventListenerChangedEvent { false }; 259 261 bool m_documentRequested { false }; 260 262 -
trunk/Source/WebInspectorUI/ChangeLog
r244266 r244267 1 2019-04-15 Devin Rousso <drousso@apple.com> 2 3 Web Inspector: Elements: event listener change events should only be fired for the selected node and it's ancestors 4 https://bugs.webkit.org/show_bug.cgi?id=196887 5 <rdar://problem/49870627> 6 7 Reviewed by Timothy Hatcher. 8 9 * UserInterface/Models/DOMNode.js: 10 (WI.DOMNode.prototype.getEventListeners): 11 1 12 2019-04-15 Devin Rousso <drousso@apple.com> 2 13 -
trunk/Source/WebInspectorUI/UserInterface/Models/DOMNode.js
r243152 r244267 588 588 getEventListeners(callback) 589 589 { 590 console.assert(WI.domManager.inspectedNode === this); 590 591 DOMAgent.getEventListenersForNode(this.id, callback); 591 592 }
Note:
See TracChangeset
for help on using the changeset viewer.