[Webkit-unassigned] [Bug 66969] Chromium: Add a layer for rubber-band overhang painting to the hardware path.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Aug 29 14:01:14 PDT 2011


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





--- Comment #3 from asvitkine at chromium.org  2011-08-29 14:01:14 PST ---
(In reply to comment #2)
> (From update of attachment 105229 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=105229&action=review
> 
> Despite being titled as such, this doesn't look like a Chromium-specific patch.  I think you are going to either need to add some sort of setting for this or otherwise make it conditional.
> 
> Does rubber-banding work out of the box on other hardware accelerated ports?
> 
> > Source/WebCore/platform/ScrollView.cpp:1037
> > +#if USE(ACCELERATED_COMPOSITING)
> > +    if (!layerForScrollCorner())
> > +        calculateAndPaintOverhangAreas(context, rect);
> 
> Why do you need the scroll corner layer check here?

That was meant to be:

> > +    if (!layerForOverhangAreas())
> > +        calculateAndPaintOverhangAreas(context, rect);

So that it's only called in the software path.

> 
> > Source/WebCore/rendering/RenderLayerCompositor.cpp:960
> > +        m_layerForOverhangAreas->setSize(frameView->frameRect().size());
> 
> Maybe I misunderstand how these layers are supposed to work, but I would expect overhang layers to be related to the size and position of horizontalOverhangRect and verticalOverhangRect.

If I did it that way, then two layers would be required, which would be more boilerplate. Instead, I decided to go with one layer that covers the size of web content area.

The other advantage of having a single layer is that we can do it with a single paintOverhangAreas() like the existing software path, rather than calling it twice (clipped to each rect) or refactoring the code to have paintHorizontalOverhang(), paintVerticalOverhang() and paintOverhangCorner().

-- 
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