This website requires JavaScript.
Explore
Help
Sign In
nephele
/
haikuwebkit
Watch
1
Star
0
Fork
You've already forked haikuwebkit
0
Code
Issues
Releases
Activity
haiku
haikuwebkit
/
LayoutTests
/
resize-observer
/
element-leak-expected.txt
5 lines
72 B
Plaintext
Raw
Permalink
Normal View
History
Unescape
Escape
JS wrapper of target in ResizeObserverEntry/ResizeObserver shouldn't get collected ahead https://bugs.webkit.org/show_bug.cgi?id=197457 Patch by Cathie Chen <cathiechen@igalia.com> on 2019-06-04 Reviewed by Ryosuke Niwa. Source/WebCore: Add JSCustomMarkFunction to make sure JS wrappers wouldn't be collected when JSResizeObserverEntry live. For ResizeObserver, if targets are removed, it will get fired for the last time. We also need to keep these JS wrappers live. So add these targets to a GCReachableRef list once they're observed. Add element-leak.html to test the targets with `entry.target.myEntry = entry` could be released properly. Tests: resize-observer/element-leak.html resize-observer/resize-observer-entry-keeps-js-wrapper-of-target-alive.html resize-observer/resize-observer-keeps-js-wrapper-of-target-alive.html * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSResizeObserverEntryCustom.cpp: Added. (WebCore::JSResizeObserverEntry::visitAdditionalChildren): * page/ResizeObserver.cpp: (WebCore::ResizeObserver::observe): (WebCore::ResizeObserver::removeAllTargets): (WebCore::ResizeObserver::removeObservation): (WebCore::ResizeObserver::stop): * page/ResizeObserver.h: * page/ResizeObserverEntry.idl: LayoutTests: * platform/win/TestExpectations: * resize-observer/element-leak-expected.txt: Added. * resize-observer/element-leak.html: Added. * resize-observer/resize-observer-entry-keeps-js-wrapper-of-target-alive-expected.txt: Added. * resize-observer/resize-observer-entry-keeps-js-wrapper-of-target-alive.html: Added. * resize-observer/resize-observer-keeps-js-wrapper-of-target-alive-expected.txt: Added. * resize-observer/resize-observer-keeps-js-wrapper-of-target-alive.html: Added. * resize-observer/resources/element-leak-frame.html: Added. Canonical link: https://commits.webkit.org/212518@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246057 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-04 07:38:17 +00:00
Remove trailing spaces from expected.txt files (excluding WPT for now since that contains too many) https://bugs.webkit.org/show_bug.cgi?id=217016 Reviewed by Zalan Bujtas. Done with this command: find LayoutTests -name '*-expected.txt' | grep -v imported | xargs awk '/^CONSOLE MESSAGE:/ { next }; /^<\?xml/ { nextfile }; { print FILENAME; nextfile }' | xargs perl -i -pe 's/ +$//g' This affects many files, and it's not helpful to clog the change log with a list of them. Canonical link: https://commits.webkit.org/229803@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267644 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-09-27 02:15:19 +00:00
PASS ResizeObserver implemented
PASS Test elements leak in 20 iframes
JS wrapper of target in ResizeObserverEntry/ResizeObserver shouldn't get collected ahead https://bugs.webkit.org/show_bug.cgi?id=197457 Patch by Cathie Chen <cathiechen@igalia.com> on 2019-06-04 Reviewed by Ryosuke Niwa. Source/WebCore: Add JSCustomMarkFunction to make sure JS wrappers wouldn't be collected when JSResizeObserverEntry live. For ResizeObserver, if targets are removed, it will get fired for the last time. We also need to keep these JS wrappers live. So add these targets to a GCReachableRef list once they're observed. Add element-leak.html to test the targets with `entry.target.myEntry = entry` could be released properly. Tests: resize-observer/element-leak.html resize-observer/resize-observer-entry-keeps-js-wrapper-of-target-alive.html resize-observer/resize-observer-keeps-js-wrapper-of-target-alive.html * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSResizeObserverEntryCustom.cpp: Added. (WebCore::JSResizeObserverEntry::visitAdditionalChildren): * page/ResizeObserver.cpp: (WebCore::ResizeObserver::observe): (WebCore::ResizeObserver::removeAllTargets): (WebCore::ResizeObserver::removeObservation): (WebCore::ResizeObserver::stop): * page/ResizeObserver.h: * page/ResizeObserverEntry.idl: LayoutTests: * platform/win/TestExpectations: * resize-observer/element-leak-expected.txt: Added. * resize-observer/element-leak.html: Added. * resize-observer/resize-observer-entry-keeps-js-wrapper-of-target-alive-expected.txt: Added. * resize-observer/resize-observer-entry-keeps-js-wrapper-of-target-alive.html: Added. * resize-observer/resize-observer-keeps-js-wrapper-of-target-alive-expected.txt: Added. * resize-observer/resize-observer-keeps-js-wrapper-of-target-alive.html: Added. * resize-observer/resources/element-leak-frame.html: Added. Canonical link: https://commits.webkit.org/212518@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246057 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-04 07:38:17 +00:00