In ChromeClientQt::repaint, view should be updated with the intersected rect, not the whole windowRect; This generally is not a problem for normal viewport setup where viewport size is the same as the qwebview widget size. However, if we set the viewport size smaller than qwebkit widget, we will see unwanted painting outside the viewport.
Created attachment 26525 [details] use intersected rect to update the view.
Comment on attachment 26525 [details] use intersected rect to update the view. Looks good to me, nice catch! I'll paste the description from the bug into the ChangeLog when landing to make it a bit clearer in the ChangeLog what your fix does.
Landed in r39874