RESOLVED FIXED 23040
Add fixedLayoutSize feature to ScrollView for real desktop layout within small viewport
https://bugs.webkit.org/show_bug.cgi?id=23040
Summary Add fixedLayoutSize feature to ScrollView for real desktop layout within smal...
Adam Treat
Reported 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
Attachments
fixedLayoutSize feature (12.21 KB, patch)
2008-12-30 12:58 PST, Adam Treat
staikos: review-
Fixes qt port to build with fixedLayoutSize (5.34 KB, patch)
2008-12-30 13:00 PST, Adam Treat
staikos: review+
Fixes gtk port to build with feature (1.25 KB, patch)
2008-12-30 13:01 PST, Adam Treat
staikos: review+
Fixes win port to build with feature (1.33 KB, patch)
2008-12-30 13:03 PST, Adam Treat
staikos: review+
New version of fixedLayoutSize which fixes up Scrollview setters (8.88 KB, patch)
2009-01-02 12:11 PST, Adam Treat
no flags
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+
Even newer version of fixedLayoutSize... previous was mixed up (12.29 KB, patch)
2009-01-02 12:38 PST, Adam Treat
staikos: review+
Adam Treat
Comment 1 2008-12-30 12:58:36 PST
Created attachment 26317 [details] fixedLayoutSize feature The initial feature patch
Adam Treat
Comment 2 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
Adam Treat
Comment 3 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
Adam Treat
Comment 4 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
Antti Koivisto
Comment 5 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).
Adam Treat
Comment 6 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.
George Staikos
Comment 7 2009-01-02 09:32:55 PST
Comment on attachment 26317 [details] fixedLayoutSize feature Needs layout test first.
Adam Treat
Comment 8 2009-01-02 12:11:19 PST
Created attachment 26375 [details] New version of fixedLayoutSize which fixes up Scrollview setters
Adam Treat
Comment 9 2009-01-02 12:12:12 PST
Created attachment 26376 [details] New version of the qt API to support which includes layout test
George Staikos
Comment 10 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?
Adam Treat
Comment 11 2009-01-02 12:38:41 PST
Created attachment 26379 [details] Even newer version of fixedLayoutSize... previous was mixed up
George Staikos
Comment 12 2009-01-02 12:50:01 PST
Don't see any negative feedback, only positive, and I'm happy with it now.
Note You need to log in before you can comment on or make changes to this bug.