Summary: | svg/custom/glyph-selection-bidi-mirror.svg and other SVG tests abandon their document because of references via SVGFontFaceElement | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Simon Fraser (smfr) <simon.fraser> | ||||
Component: | SVG | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | REOPENED --- | ||||||
Severity: | Normal | CC: | ap, Lawrence.j, rackler, simon.fraser, webkit-bot-watchers-bugzilla, webkit-bug-importer, zimmermann | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | WebKit Nightly Build | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Simon Fraser (smfr)
2018-08-18 17:12:06 PDT
svg/wicd/test-rightsizing-b.xhtml abandons 4 instances of svg/wicd/resources/test-svg-child-object-rightsizing.svg. They are retained through a referencing element, the <font-face> element: <font-face font-family="Sera Sans" units-per-em="2048" panose-1="2 11 6 3 3 8 4 2 2 4" ascent="1901" descent="-483" alphabetic="0" /> *** Bug 188776 has been marked as a duplicate of this bug. *** I think these tests all suffer in the same way: svg/W3C-SVG-1.1-SE/color-prop-05-t.svg svg/W3C-SVG-1.1-SE/painting-control-04-f.svg svg/W3C-SVG-1.1/animate-elem-03-t.svg svg/W3C-SVG-1.1/animate-elem-24-t.svg svg/W3C-SVG-1.1/animate-elem-36-t.svg svg/W3C-SVG-1.1/animate-elem-40-t.svg svg/W3C-SVG-1.1/fonts-desc-02-t.svg svg/W3C-SVG-1.1/fonts-elem-01-t.svg svg/W3C-SVG-1.1/fonts-elem-02-t.svg svg/W3C-SVG-1.1/fonts-elem-04-b.svg svg/W3C-SVG-1.1/fonts-elem-05-t.svg svg/W3C-SVG-1.1/fonts-elem-06-t.svg svg/W3C-SVG-1.1/fonts-glyph-02-t.svg svg/W3C-SVG-1.1/fonts-glyph-03-t.svg svg/W3C-SVG-1.1/fonts-kern-01-t.svg svg/W3C-SVG-1.1/masking-mask-01-b.svg svg/W3C-SVG-1.1/pservers-grad-08-b.svg svg/W3C-SVG-1.1/render-elems-06-t.svg svg/W3C-SVG-1.1/render-elems-07-t.svg svg/W3C-SVG-1.1/render-elems-08-t.svg svg/W3C-SVG-1.1/render-groups-01-b.svg svg/W3C-SVG-1.1/render-groups-03-t.svg svg/W3C-SVG-1.1/text-align-08-b.svg svg/W3C-SVG-1.1/text-altglyph-01-b.svg svg/W3C-SVG-1.1/text-fonts-03-t.svg svg/W3C-SVG-1.1/text-intro-01-t.svg svg/W3C-SVG-1.1/text-intro-02-b.svg svg/W3C-SVG-1.1/text-intro-03-b.svg svg/W3C-SVG-1.1/text-intro-04-t.svg svg/W3C-SVG-1.1/text-text-04-t.svg svg/W3C-SVG-1.1/text-text-05-t.svg svg/W3C-SVG-1.1/text-text-06-t.svg In MiniBrowser WK2, we correctly destroy the two SVGFontFaceElements and one CachedSVGFont that are created for svg/W3C-SVG-1.1-SE/color-prop-05-t.svg. However, in WTR, we only destroy one of those SVGFontFaceElements and never the CachedSVGFont, which keeps a Document alive. To fix this we need to clear font caches, something like: diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundle.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundle.cpp index 1a32c605f5f2b713b6430309e1dee833318311ee..4d22a40e70a19ed493fb8c9d7a2760d33af3f21d 100644 --- a/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundle.cpp +++ b/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundle.cpp @@ -45,6 +45,7 @@ #include "WebPageGroupProxy.h" #include <WebCore/DatabaseTracker.h> #include <WebCore/MemoryCache.h> +#include <WebCore/MemoryRelease.h> #include <WebCore/PageCache.h> #include <WebCore/ResourceLoadObserver.h> #include <WebCore/ServiceWorkerThreadProxy.h> @@ -268,6 +269,7 @@ void WKBundleClearPageCache(WKBundleRef bundle) void WKBundleClearMemoryCache(WKBundleRef bundle) { MemoryCache::singleton().evictResources(); + WebCore::releaseMemory(WTF::Critical::Yes, WTF::Synchronous::Yes); // Some redundant work here. } WKDataRef WKBundleCreateWKDataFromUInt8Array(WKBundleRef bundle, JSContextRef context, JSValueRef data) svg/W3C-SVG-1.1/fonts-elem-01-t.svg and svg/W3C-SVG-1.1/fonts-elem-02-t.svg and svg/W3C-SVG-1.1/fonts-elem-03-b.svg and svg/W3C-SVG-1.1/fonts-elem-07-b.svg is no longer failing - remove expectations Current history is green: https://results.webkit.org/?suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&test=svg%2FW3C-SVG-1.1%2Ffonts-elem-01-t.svg&test=svg%2FW3C-SVG-1.1%2Ffonts-elem-02-t.svg&test=svg%2FW3C-SVG-1.1%2Ffonts-elem-03-b.svg&test=svg%2FW3C-SVG-1.1%2Ffonts-elem-07-b.svg These tests were isolated from the others in the group as ones that are unexpectedly passing. Created attachment 403126 [details]
Update TestExpectations
Committed r263706: <https://trac.webkit.org/changeset/263706> All reviewed patches have been landed. Closing bug and clearing flags on attachment 403126 [details]. Reopening since some of the tests are still failing. |