Fix crash when accessing Event::path(). Now with de-flaked test.

This is a re-try of crrev.com/516843004. In order to de-flake the test,
the nextIframeLoaded function checks whether finishJSTest (called from
within that function) has already been called, thus ensuring that the
guts of the test will only be executed once.

BUG=400476
R=haraken@chromium.org

Review URL: https://codereview.chromium.org/533633002

git-svn-id: svn://svn.chromium.org/blink/trunk@181234 bbb929c8-8fbe-4397-9dbb-9b2b20218538