I have cross compiled the Webkit+Gtk port onto a linux box. There is no mouse in the development environment. When a page is launched, scrollbar is displayed as display window is set to 400x300. But the page cannot be scrolled, as there is no mouse to drag the scrollbar. Arrow keys cannot be used to scroll the page.
Created attachment 17175 [details] 0001-Handle-scrolling-for-Up-Down-Right-Left-in-WebKitPag.patch Subject: [PATCH] Handle scrolling for Up/Down/Right/Left in WebKitPage. The Qt port does the same, not sure why is it needed. --- WebKit/gtk/Api/webkitgtkpage.cpp | 26 +++++++++++++++++++++++++- WebKit/gtk/ChangeLog | 11 +++++++++++ 2 files changed, 36 insertions(+), 1 deletions(-)
Comment on attachment 17175 [details] 0001-Handle-scrolling-for-Up-Down-Right-Left-in-WebKitPag.patch Will be good to get this fixed. However, the constant should be defined in one place, if there needs to be a constant at all. I think the correct fix is actually to use the scroll granularity and direction enumerations just like the Win port does. Perhaps it's even just a copy-and-paste job.
For the record, I tried copying the windows code and the scroll method of our scrollbars fails to work for some reason... Will look into it.
Created attachment 17491 [details] 0001-Support-arrow-keys-for-scrolling.patch From a3d09e941a186cba64789878b727bfe245bd039d Mon Sep 17 00:00:00 2001 From: Xan Lopez <xan@gnome.org> Date: Sun, 25 Nov 2007 02:29:54 +0200 Subject: [PATCH] Support arrow keys for scrolling. Also fix warning in gtk_message_dialog_new. --- WebKit/gtk/Api/webkitgtkpage.cpp | 40 ++++++++++++++++++++++++++++++++++++- WebKit/gtk/ChangeLog | 14 +++++++++++++ 2 files changed, 52 insertions(+), 2 deletions(-)
Comment on attachment 17491 [details] 0001-Support-arrow-keys-for-scrolling.patch gtk_message_dialog_new() has already been fixed. Good with the flow control change we discussed.
Landed in r28009. We'll need to re-write this properly at some point of course. (The content editable regression turned out to be due to a missing 'break' in EditorClientGtk.)