Now that we always blit on the user interface thread and use the client's userInterfaceViewportAccessor() to determine the destination rectangle for blitting, changing the viewport size does not affect the window or target surface directly. The only way that blitted output is affected is through layout, scroll position or scale changes. None of these require us to synchronize with the UI thread to resize its target surface. The commit below simplifies setViewportSize() and removes a blocking message dispatch by simply offloading all surface resizing responsibilities to the client. This is safer, cleaner and easier.
Created attachment 174262 [details] Patch
Comment on attachment 174262 [details] Patch LGTM
Comment on attachment 174262 [details] Patch Clearing flags on attachment: 174262 Committed r134782: <http://trac.webkit.org/changeset/134782>
All reviewed patches have been landed. Closing bug.