[webkit-reviews] review requested: [Bug 33150] Do not render the full frame when there is some elements with fixed positioning : [Attachment 47186] Repaint only the invalidated area after scrolling

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jan 22 02:48:04 PST 2010


Benjamin Poulain <benjamin.poulain at nokia.com> has asked  for review:
Bug 33150: Do not render the full frame when there is some elements with fixed
positioning
https://bugs.webkit.org/show_bug.cgi?id=33150

Attachment 47186: Repaint only the invalidated area after scrolling
https://bugs.webkit.org/attachment.cgi?id=47186&action=review

------- Additional Comments from Benjamin Poulain <benjamin.poulain at nokia.com>
(In reply to comment #35)
> Created an attachment (id=47153) [details]
> crash log from commit bot

Thanks Eric.

Unregistering the RenderObject in the destructor was a bad idea. For some node
types, the node is reseted before the destructor (causing this crash). Working
around that problem in the destructor might cause leaks since the reference
would never be unregistered.

So I have moved the code:
    if (m_style && m_style->position() == FixedPosition) {
	FrameView* frameView = document()->view();
	if (frameView)
	    frameView->unregisterFixedPositionedObject(this);
    }
from the destructor to RenderObject::destroy(), which is called by
Node::detach(), making sure the object is unregistered as soon as the node is
detached.

This is good news because I was not totally happy with this code in the
destructor (because the frame was not always available).


More information about the webkit-reviews mailing list