Created attachment 646450 [details] [diff] [review] add FinishX to XSync less frequently and use it This skips more syncs when there are multiple plugins active, or multiple layers with the patch for bug 687831. I haven't changed the XSyncs where it is (almost) certain that a sync is required. I originally had plans to make FinishX detect more situations through XFlush, and that would have possibly added unnecessary overhead, but there was no win there, so I dumped that.
Created attachment 646451 [details] [diff] [review] remove unnecessary ScopedXErrorHandler::GetError interface
Comment on attachment 646450 [details] [diff] [review] add FinishX to XSync less frequently and use it It's rather surprising that Xlib doesn't do this itself, but looks good!
https://tbpl.mozilla.org/?tree=Try&rev=47e0b459eb76 https://hg.mozilla.org/integration/mozilla-inbound/rev/330f9bebf53f https://hg.mozilla.org/integration/mozilla-inbound/rev/deba4b252efe