[webkit-dev] Adding "Scroll Padding" to allow scroll beyond the edge of the page (within some bounds)

Fady Samuel fsamuel at chromium.org
Fri Oct 7 08:34:33 PDT 2011


The way I currently have it implemented, scroll padding affects the
maximumScrollPosition and the minimumScrollPosition.

Those two methods are virtual. If scroll padding was placed in FrameView,
then it could also override maximumScrollPosition and minimumScrollPosition
to take padding into account.

I believe it's reasonable to do this in FrameView, but I'm open to
suggestions.

The one issue is ensuring that the scroll bounds are always checked through
maximumScrollPosition and minimumScrollPosition rather than scrollSize
(which is determined by the content only).

Fady

On Fri, Oct 7, 2011 at 11:27 AM, Robert Kroeger <rjkroege at chromium.org>wrote:

> On Thu, Oct 6, 2011 at 2:02 PM, Antonio Gomes <tonikitoo at gmail.com> wrote:
> > From what I tested on iOS5 Mobo Safari, it also overscroll's the
> > overflow:scroll case (generally div's).
> >
> > On Thu, Oct 6, 2011 at 1:47 PM, Fady Samuel <fsamuel at chromium.org>
> wrote:
> >>
> >> Hi Anders,
> >> At this point in time, we see no reason to allow for non-zero padding in
> >> overflow:scroll regions because you can always just move the page into a
> >> unobstructed area and then scroll through that overflow region.
>
> I agree with Fady that the feature he describes only requires scroll
> padding on the page. But would it be better from a code structure
> viewpoint to actually add this functionality to ScrollableArea?
>
> Rob.
>
> >> Thanks,
> >> Fady
> >>
> >> On Thu, Oct 6, 2011 at 1:43 PM, Anders Carlsson <andersca at apple.com>
> >> wrote:
> >>>
> >>> Do you envision this being useful on overflow:scroll regions as well or
> >>> is it just frames? If it's just frames, then it seems like something we
> >>> could keep in ScrollView? (I haven't looked at the patch yet).
> >>> - Anders
> >>> On Oct 6, 2011, at 10:41 AM, Fady Samuel wrote:
> >>>
> >>> Hi Anders,
> >>> Thanks for your reply.
> >>> Yes, you are correct. This padding would be between the content and the
> >>> overhang area.
> >>> Thanks,
> >>> Fady
> >>> On Thu, Oct 6, 2011 at 1:32 PM, Anders Carlsson <andersca at apple.com>
> >>> wrote:
> >>>>
> >>>> Hi Fady,
> >>>> so if I'm understanding correctly, in the context of rubber-band
> >>>> scrolling, this padding would be between the content and the overhang
> area?
> >>>> As far as constrainsScrollingToContentEdge goes, I'd like to get rid
> of
> >>>> it and just have two scroll functions, one that constrains to the
> content
> >>>> edge and one that doesn't.
> >>>> - Anders
> >>>> On Oct 6, 2011, at 10:03 AM, Fady Samuel wrote:
> >>>>
> >>>> Hi all,
> >>>>
> >>>> We'd like to provide a general mechanism in WebKit for embedders to
> >>>> scroll page content so that it is not hidden by embedder-provided UI
> >>>> elements that overlap the page.
> >>>>
> >>>> In some cases, if a floating UI element overlaps the edge of the page,
> >>>> we'd like to allow the embedder to scroll beyond the edge of the page
> to
> >>>> allow the hidden content to move to an area that isn't overlapped by
> UI
> >>>> elements. This feature is orthogonal to rubber band scrolling.
> >>>>
> >>>> One approach we considered taking is to allow the platform to set
> >>>> "scroll padding" to a FrameView/ScrollableArea to allow scrolling
> beyond the
> >>>> edge of the page.
> >>>> As a more concrete example, one can imagine a persistent Chromium
> >>>> extension that floats above the edge of the page. A link may lie
> behind the
> >>>> floating window.  That link would be inaccessible unless the page is
> allowed
> >>>> to scroll beyond its edge.
> >>>>
> >>>> An experimental and incomplete implementation of this idea can be
> found
> >>>> here: https://bugs.webkit.org/show_bug.cgi?id=68184
> >>>>
> >>>> After some additional consideration since this patch was posted, I
> don't
> >>>> believe scroll padding should interact with
> >>>> ScrollView::constrainsScrollingToContentEdge the way it does in the
> patch.
> >>>> Instead, I feel that scroll padding should be ignored
> >>>> if constrainsScrollingToContentEdge is false. That way rubber band
> scrolling
> >>>> is not affected at all by this.
> >>>>
> >>>> What are your thoughts and suggestions? Is this feature sufficiently
> >>>> general to be implemented in WebCore? What are your thoughts about its
> >>>> interaction with ScrollView::constrainsScrollingToContentEdge?
> >>>>
> >>>> Thanks,
> >>>> Fady
> >>>> _______________________________________________
> >>>> webkit-dev mailing list
> >>>> webkit-dev at lists.webkit.org
> >>>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
> >>>>
> >>>
> >>>
> >>
> >>
> >> _______________________________________________
> >> webkit-dev mailing list
> >> webkit-dev at lists.webkit.org
> >> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
> >>
> >
> >
> >
> > --
> > --Antonio Gomes
> >
> > _______________________________________________
> > webkit-dev mailing list
> > webkit-dev at lists.webkit.org
> > http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20111007/716a4478/attachment.html>


More information about the webkit-dev mailing list