When sending a GUI event from the C++ engine to JS, one can only pass an argument if
one sends the msg to a particular GUI object. But in most cases one doesn't have a GUI Object at
hand and would have to hardcode a name - or use a hack - or just avoid sending any data.
The loading screen runs into this problem in particular and hardcodes JS variable names g_Progress and g_LoadDescription, which are supposed to be arguments of the GUI event.
Someone looking at JS code will assume these globals are defined in JS like every other global, but fail to find their definition as it's in C++.
The other use case is the replay out-of-sync message from rP19491. We had no chance to display the turn.
As mentioned in D1716 (rP22052), it would be nice to remove the workaround instead of perpetuating it, so here the relief.
rP2033 introduced the "rough but functional" progress bar.
rP2619 moved it to a new function.
rP2622 moved it to a new file.
rP3508 removed a trailing whitespace there.
rP3802 fixed lineendings
rP8629 changed it for some SpiderMonkey upgrade (1.8.5?).
rP14496 changed it for some SpiderMonkey upgrade v24.
rP22052 changed it for the SpiderMonkey 45 Upgrade.