Migrate bindings constructors to the new ExceptionState model.

This patch drops most 'failedToConstruct' instances outside of bindings,
migrating to the new model where ExceptionState is initialized with the
relevant data to generate a relevant exception message.

As a drive-by, it also changes WebAudio error that aren't actually
constructors to stop generating constructor-style error messages.

BUG=270033

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163540 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix generate_protocol_externs.py to stop appending "|undefined" suffices to array typedefs.

We used to have @typedef {!Array.<!type>|undefined} generated for many array typedefs.

R=apavlov

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163541 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Window/iframe context switcher is broken for some iframes.

Frame crafting shouldn't turn to "FrameNavigated" event,
because this event resets execution contexts list.

BUG=319931

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163542 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: [JsDoc] Add a basic presubmit check for object types without explicit nullability

Drive-by: fix missed and recently added failures

R=aandrey@chromium.org, yurys@chromium.org, aandrey, eustas, vsevik, yurys
BUG=324831

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

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