Bug 23040 - Add fixedLayoutSize feature to ScrollView for real desktop layout within small viewport
Summary: Add fixedLayoutSize feature to ScrollView for real desktop layout within smal...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Other All
: P2 Enhancement
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-12-30 12:56 PST by Adam Treat
Modified: 2009-01-04 09:35 PST (History)
2 users (show)

See Also:


Attachments
fixedLayoutSize feature (12.21 KB, patch)
2008-12-30 12:58 PST, Adam Treat
staikos: review-
Details | Formatted Diff | Diff
Fixes qt port to build with fixedLayoutSize (5.34 KB, patch)
2008-12-30 13:00 PST, Adam Treat
staikos: review+
Details | Formatted Diff | Diff
Fixes gtk port to build with feature (1.25 KB, patch)
2008-12-30 13:01 PST, Adam Treat
staikos: review+
Details | Formatted Diff | Diff
Fixes win port to build with feature (1.33 KB, patch)
2008-12-30 13:03 PST, Adam Treat
staikos: review+
Details | Formatted Diff | Diff
New version of fixedLayoutSize which fixes up Scrollview setters (8.88 KB, patch)
2009-01-02 12:11 PST, Adam Treat
no flags Details | Formatted Diff | Diff
New version of the qt API to support which includes layout test (8.88 KB, patch)
2009-01-02 12:12 PST, Adam Treat
staikos: review+
Details | Formatted Diff | Diff
Even newer version of fixedLayoutSize... previous was mixed up (12.29 KB, patch)
2009-01-02 12:38 PST, Adam Treat
staikos: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Treat 2008-12-30 12:56:33 PST
Hi,

Attached you'll find a patch that introduces a new fixedLayoutSize feature to the cross-platform ScrollView class in WebCore.  Together with full page zoom this feature enables WebKit to draw a web page with a desktop-like layout within a small viewport.

To take advantage of this feature the various ports need to introduce some kind of API to set the fixedLayoutSize and enable the feature.  Attached is a patch for the Qt port to do exactly this.

I will also attach patches for the Gtk and Windows ports to build with this feature as it required changes to a method in FrameLoaderClient.

Cheers,

Adam
Comment 1 Adam Treat 2008-12-30 12:58:36 PST
Created attachment 26317 [details]
fixedLayoutSize feature

The initial feature patch
Comment 2 Adam Treat 2008-12-30 13:00:26 PST
Created attachment 26318 [details]
Fixes qt port to build with fixedLayoutSize

Makes the qt port build with feature and adds API to take advantage of the feature
Comment 3 Adam Treat 2008-12-30 13:01:56 PST
Created attachment 26319 [details]
Fixes gtk port to build with feature

Fixes gtk port to build with feature
Comment 4 Adam Treat 2008-12-30 13:03:18 PST
Created attachment 26320 [details]
Fixes win port to build with feature

Fixes win port to build with feature
Comment 5 Antti Koivisto 2008-12-31 08:34:31 PST
I like the idea. 

Some tests would be cool. This could be enabled in drt for all platforms reducing risk of breaking the feature on platforms that have visibleSize==layoutSize (which is most of them).
Comment 6 Adam Treat 2008-12-31 10:15:42 PST
I would like to add tests, but to do so for all platforms will require me to add API to all of those platforms to allow setFixedLayoutSize and setUseFixedLayoutSize.  The implementation in LayoutTestController would be up to each platform and as such would require each platform to be able to modify those settings on the ScrollView which would require exposing them in each port's API.

I would do this, but unfortunately I don't have a mac and setting up for apple's windows port is difficult for me.  Please advise.
Comment 7 George Staikos 2009-01-02 09:32:55 PST
Comment on attachment 26317 [details]
fixedLayoutSize feature

Needs layout test first.
Comment 8 Adam Treat 2009-01-02 12:11:19 PST
Created attachment 26375 [details]
New version of fixedLayoutSize which fixes up Scrollview setters
Comment 9 Adam Treat 2009-01-02 12:12:12 PST
Created attachment 26376 [details]
New version of the qt API to support which includes layout test
Comment 10 George Staikos 2009-01-02 12:34:36 PST
Comment on attachment 26375 [details]
New version of fixedLayoutSize which fixes up Scrollview setters

Why is this patch the same as 26376?
Comment 11 Adam Treat 2009-01-02 12:38:41 PST
Created attachment 26379 [details]
Even newer version of fixedLayoutSize... previous was mixed up
Comment 12 George Staikos 2009-01-02 12:50:01 PST
Don't see any negative feedback, only positive, and I'm happy with it now.