RESOLVED FIXED 87553
Incomplete repaint on twitter.com when replying to a tweet
https://bugs.webkit.org/show_bug.cgi?id=87553
Summary Incomplete repaint on twitter.com when replying to a tweet
Simon Fraser (smfr)
Reported 2012-05-25 17:36:19 PDT
There's a bad repaint bug when replying to an individual tweet on Twitter.com: 1. Log in to twitter 2. Load an individual tweet, such as https://twitter.com/CityofSunnyvale/status/206160290834944000 3. Hit the Reply link 4. Hit one character in the reply box The box mostly disappears. As you type, bits of the screen update.
Attachments
Patch (8.80 KB, patch)
2012-05-29 13:21 PDT, Simon Fraser (smfr)
dino: review+
Simon Fraser (smfr)
Comment 1 2012-05-25 17:36:31 PDT
Simon Fraser (smfr)
Comment 2 2012-05-25 17:37:52 PDT
Fix is something like: diff --git a/Source/WebCore/rendering/RenderLayerBacking.cpp b/Source/WebCore/rendering/RenderLayerBacking.cpp index 1085eab..90a4d88 100644 --- a/Source/WebCore/rendering/RenderLayerBacking.cpp +++ b/Source/WebCore/rendering/RenderLayerBacking.cpp @@ -1121,6 +1121,19 @@ void RenderLayerBacking::setRequiresOwnBackingStore(bool flag) // cached clip rects, so when it changes we have to clear clip rects on descendants. m_owningLayer->clearClipRectsIncludingDescendants(PaintingClipRects); m_requiresOwnBackingStore = flag; + + // Find our painting ancestor and repaint it + RenderLayer* repaintAncestor = m_owningLayer->enclosingCompositingLayerForRepaint(); + if (repaintAncestor) { + ASSERT(repaintAncestor->backing()); + LayoutRect compBounds = compositedBounds(); + + LayoutPoint offset; + m_owningLayer->convertToLayerCoords(repaintAncestor, offset); + compBounds.moveBy(offset); + + repaintAncestor->setBackingNeedsRepaintInRect(compBounds); + } } void RenderLayerBacking::setContentsNeedDisplay() but this code could be shared with RenderLayerCompositor::layerWillBeRemoved
Simon Fraser (smfr)
Comment 3 2012-05-29 13:21:56 PDT
Simon Fraser (smfr)
Comment 4 2012-05-29 13:49:32 PDT
Note You need to log in before you can comment on or make changes to this bug.