Infinite recursion via updateAppearanceAfterLayout: 17 libsystem_kernel.dylib: kdebug_trace ==> 17 WebCore: WebCore::Document::resolveStyle(WebCore::Document::ResolveStyleType) <== 17 WebCore: WebCore::Document::updateLayout() 17 WebCore: WebCore::Document::updateLayoutIgnorePendingStylesheets(WebCore::Document::RunPostLayoutTasks) 17 WebCore: WebCore::VisiblePosition::canonicalPosition(WebCore::Position const&) 17 WebCore: WebCore::VisiblePosition::init(WebCore::Position const&, WebCore::EAffinity) 17 WebCore: WebCore::VisiblePosition::VisiblePosition(WebCore::Position const&, WebCore::EAffinity) 17 WebCore: WebCore::adjustedSelectionStartForStyleComputation(WebCore::VisibleSelection const&) 17 WebCore: WebCore::Editor::styleForSelectionStart(WebCore::Frame*, WebCore::Node*&) 17 WebKit: WebKit::WebPage::editorState(WebKit::WebPage::IncludePostLayoutDataHint) const 17 WebKit: WebKit::WebPage::updateEditorStateAfterLayoutIfEditabilityChanged() 17 WebCore: WebCore::FrameSelection::updateAppearanceAfterLayout() 17 WebCore: WebCore::Document::resolveStyle(WebCore::Document::ResolveStyleType) 17 WebCore: WebCore::Document::updateLayout() 17 WebCore: WebCore::Document::updateLayoutIgnorePendingStylesheets(WebCore::Document::RunPostLayoutTasks) 17 WebCore: WebCore::VisiblePosition::canonicalPosition(WebCore::Position const&) 17 WebCore: WebCore::VisiblePosition::init(WebCore::Position const&, WebCore::EAffinity) 17 WebCore: WebCore::VisiblePosition::VisiblePosition(WebCore::Position const&, WebCore::EAffinity) 17 WebCore: WebCore::adjustedSelectionStartForStyleComputation(WebCore::VisibleSelection const&) 17 WebCore: WebCore::Editor::styleForSelectionStart(WebCore::Frame*, WebCore::Node*&) 17 WebKit: WebKit::WebPage::editorState(WebKit::WebPage::IncludePostLayoutDataHint) const 17 WebKit: WebKit::WebPage::updateEditorStateAfterLayoutIfEditabilityChanged() 17 WebCore: WebCore::FrameSelection::updateAppearanceAfterLayout() 17 WebCore: WebCore::Document::resolveStyle(WebCore::Document::ResolveStyleType) 17 WebCore: WebCore::Document::updateLayout()
<rdar://problem/32597587>
Created attachment 313075 [details] patch
Comment on attachment 313075 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=313075&action=review r=me with the timer in FrameSelection. > Source/WebCore/ChangeLog:11 > + because itmay cause another call to resolveStyle. We have some cases where the style Nit: it *may. > Source/WebCore/page/FrameView.cpp:350 > + m_selectionAppearanceUpdateTimer.stop(); I think it's cleaner to add this timer in FrameSelection. > LayoutTests/editing/selection/updateAppearanceAfterLayout-recursion.html:14 > +link.setAttribute("href", "data:text/css,"+Math.random()); It seems unnecessary to use Math.random()
> It seems unnecessary to use Math.random() It is there to defeat memory cache. Otherwise the load may complete synchronously.
Created attachment 313191 [details] patch
Comment on attachment 313191 [details] patch Attachment 313191 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/3946873 New failing tests: webrtc/video-replace-muted-track.html
Created attachment 313195 [details] Archive of layout-test-results from ews125 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews125 Port: ios-simulator-wk2 Platform: Mac OS X 10.12.5
Comment on attachment 313191 [details] patch Clearing flags on attachment: 313191 Committed r218451: <http://trac.webkit.org/changeset/218451>
All reviewed patches have been landed. Closing bug.