[Webkit-unassigned] [Bug 33150] Do not render the full frame when there is some elements with fixed positioning

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jan 20 04:02:48 PST 2010


https://bugs.webkit.org/show_bug.cgi?id=33150





--- Comment #25 from Antti Koivisto <koivisto at iki.fi>  2010-01-20 04:02:45 PST ---
(From update of attachment 46999)
Looks good, just one question below.

> +void FrameView::scrollContentsFastPath(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect)
> +{
> +    const int fixedObjectNumberThreshold = 5;
> +
> +    if (m_fixedObjects.isEmpty())
> +        hostWindow()->scroll(scrollDelta, rectToScroll, clipRect);
> +    else {
> +        Vector<RenderObject*> fixedObjectsInViewport;
> +        fixedObjectsInViewport.reserveCapacity(m_fixedObjects.size());
> +
> +        bool updateInvalidatedSubRect = true;
> +        // Get a list of fixed objects that are not in transformations
> +        HashSet<RenderObject*>::const_iterator end = m_fixedObjects.end();
> +        HashSet<RenderObject*>::const_iterator it = m_fixedObjects.begin();
> +        for (; it != end; ++it) {
> +            RenderObject* obj = *it;
> +            if (obj->containingBlock() == obj->view()) {

Why is this test needed? Isn't it true for all fixed positioned objects in the
hash?

> +    // Methods to manage the objects that are fixed
> +    // in the view when scrolling
> +    void registerFixedObject(RenderObject* object);
> +    void unregisterFixedObject(RenderObject* object);

(un)registerFixedPositionedObject would be a better name

> +    HashSet<RenderObject*> m_fixedObjects;

m_fixedPositionedObjects

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list