Bug 249827

Summary: In UIWebView, IntersectionObserver causes assertions because visualViewportEnabled is false
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: WebKit Misc.Assignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: cdumez, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=231767

Description Simon Fraser (smfr) 2022-12-22 16:30:17 PST
Seems like visualViewportEnabled is not enabled in iOS UIWebView (aka WebKitLegacy).

ASSERTION FAILED: m_frame->settings().visualViewportEnabled()
page/FrameView.cpp(5481) : WebCore::FloatRect WebCore::FrameView::absoluteToLayoutViewportRect(WebCore::FloatRect) const
1   0x12d5f6499 WTFCrash
2   0x1553e297b WTFCrashWithInfo(int, char const*, char const*, int)
3   0x159a3adac WebCore::FrameView::absoluteToLayoutViewportRect(WebCore::FloatRect) const
4   0x158c16462 WebCore::Document::updateIntersectionObservations()
5   0x159af0ed9 WebCore::Page::updateRendering()::$_30::operator()(WebCore::Document&) const
6   0x159af0e71 WTF::Detail::CallableWrapper<WebCore::Page::updateRendering()::$_30, void, WebCore::Document&>::call(WebCore::Document&)
7   0x158dfc6e7 WTF::Function<void (WebCore::Document&)>::operator()(WebCore::Document&) const
8   0x159ab744e WebCore::Page::forEachDocumentFromMainFrame(WebCore::Frame const&, WTF::Function<void (WebCore::Document&)> const&)
9   0x159aa6d15 WebCore::Page::forEachDocument(WTF::Function<void (WebCore::Document&)> const&) const
10  0x159aaeea3 WebCore::Page::updateRendering()::$_20::operator()(WebCore::RenderingUpdateStep, WTF::Function<void (WebCore::Document&)> const&) const
11  0x159aaeb3d WebCore::Page::updateRendering()
12  0x119731d87 -[WebView(WebViewInternal) _updateRendering]
13  0x1197342c4 WebViewRenderingUpdateScheduler::updateRendering()
14  0x1197341bf WebViewRenderingUpdateScheduler::renderingUpdateRunLoopObserverCallback()
15  0x11973f748 WebViewRenderingUpdateScheduler::WebViewRenderingUpdateScheduler(WebView*)::$_6::operator()() const
16  0x11973f6e9 WTF::Detail::CallableWrapper<WebViewRenderingUpdateScheduler::WebViewRenderingUpdateScheduler(WebView*)::$_6, void>::call()
17  0x155404232 WTF::Function<void ()>::operator()() const
18  0x159d78326 WebCore::RunLoopObserver::runLoopObserverFired()
19  0x159d7828d WebCore::RunLoopObserver::runLoopObserverFired(__CFRunLoopObserver*, unsigned long, void*)
20  0x10e2d40a5 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__
21  0x10e2cea12 __CFRunLoopDoObservers
22  0x10e2ce745 CFRunLoopRunSpecific
23  0x1579e6c04 RunWebThread(void*)
24  0x10e9a74e1 _pthread_start
25  0x10e9a2f6b thread_start
(lldb)
Comment 1 Radar WebKit Bug Importer 2022-12-29 16:31:15 PST
<rdar://problem/103765638>