This method actually translates coordinates, the rect size is never modified, so it should be renamed to convertWidgetPointToScreenPoint() and modified to return a point instead of a rectangle. I've also noticed that this functionality is duplicated in several places, so this method should be used instead. There's also a bug in the implementation, it translates the rectangle coordinates with gtk_widget_translate_coordinates(), and it moves the original rectangle using the translated coordinates as an offset instead of as final location, so the method is returning the wrong coordinates when the given rectangle is not at 0,0 (in ChromeClient::screenToWindow() the rect is always at 0,0 so I guess that's why we haven't noticed the bug before)
Created attachment 97089 [details] Patch
Comment on attachment 97089 [details] Patch Nice!
Committed r88802: <http://trac.webkit.org/changeset/88802>