Move Mac platform code out of RunLoopObserver and make the API platform agnostic. This wrapper class is used sparingly in WebKit2 and WebCore, but the Inspector relies on it to time the run loop and provide FPS timeline information. A RunLoopObserver implementation will be required for any platform where we want FPS information to the available.
This bug is blocked on non-Mac ports figuring out how to create such an abstraction for their run loops.
In bug 150392, cgarcia writes:
"The glib main loop doesn't provide any way to know its status, and there isn't any GMainLoopObserver in glib either. We could implement something like that in glib, though, but in the meantime we need a different way to implement at least the rendering frames panel. What we can do with the current glib main loop, is to use custom sources, that we can dispatch. That way we can do whatever before and after the source is actually dispatched, which is what I'm doing in this patch. We plan to change some glib sources used in WebKit with custom sources like the one I'm using in this patch, but in a more generic way. Once we have that we could implement a RunLoopObserver, but only to monitor our own custom sources."