Title: [275872] trunk/Source/WebCore
- Revision
- 275872
- Author
- [email protected]
- Date
- 2021-04-13 02:05:44 -0700 (Tue, 13 Apr 2021)
Log Message
Use WTF::compactMap in HTMLSlotElement
https://bugs.webkit.org/show_bug.cgi?id=224470
Reviewed by Antti Koivisto.
Cleaned up the code in assignedNodes and assignedElements with WTF::compactMap.
* html/HTMLSlotElement.cpp:
(WebCore::HTMLSlotElement::assignedNodes const):
(WebCore::HTMLSlotElement::assignedElements const):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (275871 => 275872)
--- trunk/Source/WebCore/ChangeLog 2021-04-13 08:38:14 UTC (rev 275871)
+++ trunk/Source/WebCore/ChangeLog 2021-04-13 09:05:44 UTC (rev 275872)
@@ -1,3 +1,16 @@
+2021-04-13 Ryosuke Niwa <[email protected]>
+
+ Use WTF::compactMap in HTMLSlotElement
+ https://bugs.webkit.org/show_bug.cgi?id=224470
+
+ Reviewed by Antti Koivisto.
+
+ Cleaned up the code in assignedNodes and assignedElements with WTF::compactMap.
+
+ * html/HTMLSlotElement.cpp:
+ (WebCore::HTMLSlotElement::assignedNodes const):
+ (WebCore::HTMLSlotElement::assignedElements const):
+
2021-04-13 Philippe Normand <[email protected]>
[GStreamer] CaptureDevice monitor used from UIProcess
Modified: trunk/Source/WebCore/html/HTMLSlotElement.cpp (275871 => 275872)
--- trunk/Source/WebCore/html/HTMLSlotElement.cpp 2021-04-13 08:38:14 UTC (rev 275871)
+++ trunk/Source/WebCore/html/HTMLSlotElement.cpp 2021-04-13 09:05:44 UTC (rev 275872)
@@ -141,34 +141,23 @@
flattenAssignedNodes(nodes, *this);
return nodes;
}
- auto* assignedNodes = this->assignedNodes();
- if (!assignedNodes)
- return { };
- Vector<Ref<Node>> nodes;
- nodes.reserveInitialCapacity(assignedNodes->size());
- for (auto& nodePtr : *assignedNodes) {
- auto* node = nodePtr.get();
- if (UNLIKELY(!node))
- continue;
- nodes.uncheckedAppend(*node);
+ if (auto* nodes = assignedNodes(); nodes) {
+ return WTF::compactMap(*nodes, [](auto& nodeWeakPtr) -> RefPtr<Node> {
+ return nodeWeakPtr.get();
+ });
}
- return nodes;
+ return { };
}
Vector<Ref<Element>> HTMLSlotElement::assignedElements(const AssignedNodesOptions& options) const
{
- auto nodes = assignedNodes(options);
-
- Vector<Ref<Element>> elements;
- elements.reserveCapacity(nodes.size());
- for (auto& node : nodes) {
- if (is<Element>(node))
- elements.uncheckedAppend(static_reference_cast<Element>(WTFMove(node)));
- }
-
- return elements;
+ return WTF::compactMap(assignedNodes(options), [](auto&& node) -> RefPtr<Element> {
+ if (!is<Element>(node))
+ return nullptr;
+ return static_reference_cast<Element>(WTFMove(node));
+ });
}
void HTMLSlotElement::enqueueSlotChangeEvent()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes