Bug 35449 - Add ability to hide WebFrame scrollbars and to allow scrollbars to overlap with content.
Summary: Add ability to hide WebFrame scrollbars and to allow scrollbars to overlap wi...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit API (show other bugs)
Version: 528+ (Nightly build)
Hardware: Macintosh Intel OS X 10.6
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-02-26 14:03 PST by Jing
Modified: 2010-03-07 15:14 PST (History)
2 users (show)

See Also:


Attachments
Patch (10.68 KB, patch)
2010-02-26 14:08 PST, Jing
no flags Details | Formatted Diff | Diff
Patch (10.32 KB, patch)
2010-02-26 14:46 PST, Jing
timothy: review+
Details | Formatted Diff | Diff
Move to WebFramePrivate Patch (5.21 KB, patch)
2010-02-26 23:44 PST, Jing
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jing 2010-02-26 14:03:52 PST
Add ability to set whether scrollbars overlap WebFrame document, similar to the overflow: overlay style. Added ability to hide scrollbars on the WebFrame regardless of other scrollbar visibility settings.
Comment 1 Jing 2010-02-26 14:08:00 PST
Created attachment 49637 [details]
Patch
Comment 2 Timothy Hatcher 2010-02-26 14:16:40 PST
Comment on attachment 49637 [details]
Patch


> +        frame.size.height = (allowScrollersToOverlapContent ? NSMaxY([[self horizontalScroller] frame]) 
> +                                                                         : NSMinY([[self horizontalScroller] frame]));

> +        frame.size.width = (allowScrollersToOverlapContent ? NSMaxX([[self verticalScroller] frame]) 
> +                                                                        : NSMinX([[self verticalScroller] frame]));

Just put those on one line. You are not saving much space.


> +    [[self window] disableFlushWindow];
> +    [super tile];
> +    [[self contentView] setFrame:[self contentViewFrame]];
> +    [[self window] enableFlushWindow];

I don't think you need disableFlushWindow here. I don't think tile will display and flush.


> +        if (allowScrollersToOverlapContent)
> +            [self setDrawsBackground:NO];

Does this need set back to the previous value if allowScrollersToOverlapContent becomes NO again?
Comment 3 Jing 2010-02-26 14:35:44 PST
> > +        if (allowScrollersToOverlapContent)
> > +            [self setDrawsBackground:NO];
> 
> Does this need set back to the previous value if allowScrollersToOverlapContent
> becomes NO again?

Nope , drawsBackground gets set else-where before -reflectScrolledClipView is called.
Comment 4 Jing 2010-02-26 14:46:05 PST
Created attachment 49650 [details]
Patch

Revised according to Tim's comments.
Comment 5 Jing 2010-02-26 23:44:06 PST
Created attachment 49677 [details]
Move to WebFramePrivate Patch

Moved implementation to WebFramePrivate.
Comment 6 WebKit Commit Bot 2010-02-27 00:10:55 PST
Comment on attachment 49677 [details]
Move to WebFramePrivate Patch

Clearing flags on attachment: 49677

Committed r55349: <http://trac.webkit.org/changeset/55349>
Comment 7 WebKit Commit Bot 2010-03-05 14:02:28 PST
Comment on attachment 49637 [details]
Patch

Cleared Timothy Hatcher's review+ from obsolete attachment 49637 [details] so that this bug does not appear in http://webkit.org/pending-commit.
Comment 8 Eric Seidel (no email) 2010-03-05 16:35:38 PST
Does this still need landing, or can it be closed?
Comment 9 Jing 2010-03-07 15:14:02 PST
It's landed.