RESOLVED FIXED 32086
Repaint issues in text input under a scale transform
https://bugs.webkit.org/show_bug.cgi?id=32086
Summary Repaint issues in text input under a scale transform
Simon Fraser (smfr)
Reported 2009-12-02 13:39:06 PST
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.
Attachments
Testcase (544 bytes, text/html)
2009-12-02 13:39 PST, Simon Fraser (smfr)
no flags
Patch (7.33 KB, patch)
2010-01-04 11:34 PST, Simon Fraser (smfr)
mitz: review-
Patch v2 (7.38 KB, patch)
2010-01-04 13:40 PST, Simon Fraser (smfr)
mitz: review+
Simon Fraser (smfr)
Comment 1 2010-01-04 10:37:02 PST
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.
Simon Fraser (smfr)
Comment 2 2010-01-04 11:34:40 PST
mitz
Comment 3 2010-01-04 11:44:12 PST
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.
Simon Fraser (smfr)
Comment 4 2010-01-04 13:40:53 PST
Created attachment 45827 [details] Patch v2
Simon Fraser (smfr)
Comment 5 2010-01-04 13:50:55 PST
Note You need to log in before you can comment on or make changes to this bug.