Created attachment 44179 [details] Testcase The attached testcase shows a repaint bug when typing into a text input inside an element with a scale transform.
This seems to be an issue where the subtree layout for the text input is using layout state, which is ignorant of the transform on a container.
Created attachment 45809 [details] Patch
Comment on attachment 45809 [details] Patch > + (WebCore::RenderView::enableLayoutStateForSubtreeLayout): This sounds like a method that enables layout state, but it isn’t. How about “canUseLayoutStateForSubtree()” (I don’t think Layout is necessary) or better yet “shouldDisableLayoutStateForSubtree()” (with the opposite return value of course)? > + bool enableLayoutState; If you rename the method to shouldDisable… then you can rename the variable too. > + if (subtree) { > + RenderView* view = root->view(); > + enableLayoutState = view->enableLayoutStateForSubtreeLayout(root); > + view->pushLayoutState(root); Do you have to push if you disable? > + bool enableLayoutStateForSubtreeLayout(RenderObject* root) const; Can drop “root”. r- because I think the above name is too confusing.
Created attachment 45827 [details] Patch v2
http://trac.webkit.org/changeset/52757