Test that the processing user gesture bit is maintained through postMessage.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


Testing that isProcessingUserGesture() is false on load.
PASS window.internals.isProcessingUserGesture() is false
Testing that isProcessingUserGesture() is true in response to a click.
PASS window.internals.isProcessingUserGesture() is true
Testing that isProcessingUserGesture() is true after processing a postMessage.
PASS window.internals.isProcessingUserGesture() is true
PASS successfullyParsed is true

TEST COMPLETE
Click
