[Webkit-unassigned] [Bug 164814] New: Add more assertions to ElementQueue diagnose a bug
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Nov 15 19:37:25 PST 2016
https://bugs.webkit.org/show_bug.cgi?id=164814
Bug ID: 164814
Summary: Add more assertions to ElementQueue diagnose a bug
Classification: Unclassified
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: HTML DOM
Assignee: webkit-unassigned at lists.webkit.org
Reporter: rniwa at webkit.org
CC: cdumez at apple.com
We seem to be sporadically hitting an assertion in CustomElementReactionStack::ElementQueue on our bots.
I donât quite understand how this is possible.
We swap the vector at the beginning of the function before start invoking on elements.
So the only way m_elements can be not empty is if an item was added to m_elements while weâre calling invokeAll:
inline void CustomElementReactionStack::ElementQueue::invokeAll()
{
#if !ASSERT_DISABLED
TemporaryChange<bool> invoking(m_invoking);
#endif
Vector<Ref<Element>> elements;
elements.swap(m_elements);
for (auto& element : elements) {
auto* queue = element->reactionQueue();
ASSERT(queue);
queue->invokeAll(element.get());
}
ASSERT(m_elements.isEmpty());
}
But Iâve added an assertion for m_invoking so that m_invoking is false when weâre calling add:
inline void CustomElementReactionStack::ElementQueue::add(Element& element)
{
ASSERT(!m_invoking);
// FIXME: Avoid inserting the same element multiple times.
m_elements.append(element);
}
which isn't firing...
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20161116/ed7aeca0/attachment.html>
More information about the webkit-unassigned
mailing list