Bug 33211 - [chromium] layout-related assertion in SelectionController is firing — fix in Chromium WebKit or maybe in WebCore
Summary: [chromium] layout-related assertion in SelectionController is firing — fix in...
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nobody
Depends on:
Reported: 2010-01-05 09:05 PST by anton muhin
Modified: 2013-04-08 14:14 PDT (History)
4 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description anton muhin 2010-01-05 09:05:49 PST
After http://trac.webkit.org/changeset/52778 Chromium's RenderViewTest.ImeComposition unit test started to fail on Windows and Mac (it's disabled on Linux).

See http://code.google.com/p/chromium/issues/detail?id=31617 for more details.
Comment 1 Darin Adler 2010-01-05 10:36:40 PST
Anton explained that the assertion happens with this backtrace:

WebCore::SelectionController::recomputeCaretRect Line 936
WebCore::SelectionController::absoluteCaretBounds Line 906
WebKit::WebViewImpl::queryCompositionStatus  Line 1085

Based on that it seems clear that the WebViewImpl::queryCompositionStatus function should trigger layout. The best function to call is probably Document::updateLayout.

Alternatively we could decide that the SelectionController::absoluteCaretBounds function is designed to be called by high level code and is itself responsible for triggering layout. In that case we have to look at all the absoluteCaretBounds call sites and make sure it's OK to trigger layout at each of them.