To implement Widget::paint we need to paint at the moment RenderWidget is going to request painting. To ease that we will store the full GdkEventExpose inside the GraphicsContext. And create a synthetic GdkEvent and ask gtkWidget to paint, this should be roughly similiar to how GtkContainer is handling exposing of children and will continue to work once we have multiple frames in Gtk as well.
Created attachment 15715 [details] Store GdkEventExpose* in GraphicsContext and implement Widget::paint -No ChangeLog entry as it requires 14781 -This is a patch from git and won't apply with svn-apply -setGdkExposeEvent matches the Qt naming of such methods (e.g. mousePressEvent,...) but the parameter has it reversed with GdkEventExpose. I think the way I named the method follows the WebCore naming style and is the way to go. -I ignore the clip rect of Widget::paint but that should directly come from the expose event anyway.
#14729 has this part included as well.
Comment on attachment 15715 [details] Store GdkEventExpose* in GraphicsContext and implement Widget::paint Seems to be obsoleted by http://bugs.webkit.org/attachment.cgi?id=15794