[webkit-reviews] review denied: [Bug 124260] Add a new mode where fixed elements don't constrain their positions during a rubber band : [Attachment 216766] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Nov 13 12:10:20 PST 2013


Simon Fraser (smfr) <simon.fraser at apple.com> has denied Beth Dakin
<bdakin at apple.com>'s request for review:
Bug 124260: Add a new mode where fixed elements don't constrain their positions
during a rubber band
https://bugs.webkit.org/show_bug.cgi?id=124260

Attachment 216766: Patch
https://bugs.webkit.org/attachment.cgi?id=216766&action=review

------- Additional Comments from Simon Fraser (smfr) <simon.fraser at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=216766&action=review


>> Source/WebCore/page/FrameView.cpp:1546
>> +IntSize FrameView::scrollOffsetForFixedPosition(const IntRect&
visibleContentRect, const IntSize& totalContentsSize, const IntPoint&
scrollPosition, const IntPoint& scrollOrigin, float frameScaleFactor, bool
fixedElementsLayoutRelativeToFrame, bool shouldConstrainPosition, int
headerHeight, int footerHeight)
> 
> Wonder if we should enumify shouldConstrainPosition. The arguments to this
function are getting out of hand, too :(

I think we should.

> Source/WebCore/page/FrameView.cpp:1569
> +	   shouldConstrainPosition =
!renderView->compositor().mainFrameBackingIsTiledWithMargin();

I'd expect this to check
frameViewShouldConstrainScrollPositionForFixedElements() or maybe a Setting,
rather than tiggering off mainFrameBackingIsTiledWithMargin, which seems more
like a consequence of the behavior rather than the main trigger.

> Source/WebCore/page/scrolling/ScrollingCoordinator.h:172
> +    bool frameViewShouldConstrainScrollPositionForFixedElements(FrameView*);


const?

> Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h:114
> +    bool shouldConstrainScrollPositionForFixedElements() const { return
m_shouldConstrainScrollPositionForFixedElements; }
> +    void setShouldConstrainScrollPositionForFixedElements(bool);

This is a bit of a mouthful. How about "fixedElementsMoveOnRubberband()" or
something.

> Source/WebCore/rendering/RenderLayerCompositor.cpp:2522
> +bool RenderLayerCompositor::mainFrameBackingIsTiledWithMargin() const
> +{
> +    // FIXME: Implement. https://bugs.webkit.org/show_bug.cgi?id=124216
> +    return false;
> +}

Not sure it's right for RenderLayerCompositor to be the "owner" of the
behavior. Seems like a ScrollView/FrameView thing, initialized from a Setting.


More information about the webkit-reviews mailing list