Used by Epiphany and its extensions, patch attached. Bug http://bugzilla.gnome.org/show_bug.cgi?id=538822 is blocking on this.
Created attachment 21989 [details]
From: Xan Lopez <email@example.com>
Date: Sun, 29 Jun 2008 01:32:16 +0300
Subject: [PATCH] webkit: add functions to scroll the view by pixels, lines or pages.
WebKit/gtk/ChangeLog | 12 ++++++
WebKit/gtk/webkit/webkitwebview.cpp | 69 +++++++++++++++++++++++++++++++++++
WebKit/gtk/webkit/webkitwebview.h | 12 ++++++
3 files changed, 93 insertions(+), 0 deletions(-)
Comment on attachment 21989 [details]
(In reply to comment #1)
> Created an attachment (id=21989) 
I don't see why this needs to be part of the API.
The EphyEmbed code already used the GtkAdjustment to implement this, and that's how this should be done. In fact this is too specialized for general use. In the linked Epiphany bug you even attempted to remove this code entirely until you noticed that one extension appears to need this.
Well, I think this API is way more straightforward, and also I'm not sure how third parties could know about LINE_STEP or PAGE_KEEP, etc. So if you want consistent scrolling behavior you should put API in place to get it.
Well, also, this code is used inside ephy itself, in the search bar (when you are searching you can press down/up page down/up etc), so if the API is not added we'd need to duplicate the logic inside webkit to match the scrolling behavior. So in this case even ephy is a third party/extension :)
This more or less works in trunk now, and we have plans to completely unify the scrolling behavior when triggered through adjustments/keys, so I'm closing the bug.