Layout Test inspector/debugger/dom-breakpoints.html fails on chromium linux debug with ENABLE(MUTATION_OBSERVERS)
https://bugs.webkit.org/show_bug.cgi?id=73919
Reviewed by Ojan Vafai.
Source/WebCore:
Use StyleAttributeMutationScope to manage DOM breakpoints for style property changes.
Instead of calling InspectorInstrumentation::didInvalidateStyleAttr()
directly in setNeedsStyleRecalc, set a bool in the current
StyleAttributeMutationScope, and delay the call until the scope's
counter runs down to zero. This keeps the inspector JS from re-entering
CSSMutableStyleDeclaration until all StyleAttributeMutationScope work is done.
Also fix a small bug in StyleAttributeMutationScope, where
s_shouldDeliver wasn't getting reset properly to false.
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
LayoutTests:
Added test that no-op style mutations don't create MutationRecords.
* fast/mutation/observe-attributes-expected.txt:
* fast/mutation/observe-attributes.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102264 268f45cc-cd09-0410-ab3c-d52691b4dbfc
5 files changed