Yeah, I'm conflicted on this one.  I don't like hard-coding the timeout, but I also worry that putting it in a loop could paper over some other misunderstanding of system operation or platform changes.  If the Firefox timeout changes from 15ms, for example, it might be good to fail, check the source changes, and then update our comments, for example.