[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