[Webkit-unassigned] [Bug 14857] New: [gtk] ScrollView and WebKitGtkPage changes to make multiple frames possible
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Aug 1 15:52:27 PDT 2007
http://bugs.webkit.org/show_bug.cgi?id=14857
Summary: [gtk] ScrollView and WebKitGtkPage changes to make
multiple frames possible
Product: WebKit
Version: 522+ (nightly)
Platform: Macintosh
OS/Version: Mac OS X 10.4
Status: NEW
Keywords: Gtk
Severity: Normal
Priority: P2
Component: New Bugs
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: freyther at handhelds.org
OtherBugsDependingO 14729
nThis:
To implement FrameLoaderClientGdk::createFrame (#14729) we will need support
for possible overlapping frames. The Windows port of WebKit has an approach to
just use one native window resource for the whole FrameView. This approach was
adopted to Gdk/Gtk. We will have one GdkWindow for the whole FrameView, this
GdkWindow is called bin_window (like with GtkLayout) and will be owned and
managaed by WebKitGtkPage (which is a GtkContainer just like GtkLayout).
This patch makes WebKitGtkPage a true GtkContainer, implementing the virtual
methods/default handlers, on this way killing WebCore/platform/gdk/FrameGdk and
changing the Platform*Event to take specifc GdkEvent* structs insteads of the
generic GdkEvent one.
The FrameView is created on the fly in FrameLoaderClientGdk::makeDocumentView
The ScrollView and Widget methods from the Windows port where used with one
exception. To implement the Gtk+ scrollable protocol the FrameView may get
GtkAdjustment's set from the outside. Whenever this happens the internal
PlatformScrollBar will not be used! The other change is within Widget due the
usage of PlatformScrollBar. PlatformScrollBar is a GtkWidget without an
associated window, it will be used by the RenderLayer and by the ScrollView. It
will be positioned by the geometryChanged() method of Widget. To not make the
PlatformScrollbar scroll when the view is scrolled a method was added to Widget
to select between convertToContainingWindow and contentsToWindow. The other
options would have been to subclass PlatformScrollbar and use that subclass in
ScrollView, or to move that method/selection to PlatformScrollBar. But I think
it is nice to have it in Widget.
Adjust RenderTheme to draw the Theme at the right position and add IntPoint
translation to the GraphicsContext to support that as Gdk/Gtk drawing does not
know about our translation (we just share the same surface).
Implement PlatformScrollbar.
Patches need to be applied in the following order:
1.) Make WebKitGtkPage a GtkContainer
2.) Implement ScrollView
3.) On-The-Fly FrameView creation
4.) Use GtkAdjustment
5.) ScrollBar changes
6.) RenderTheme
--
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list