API functions returning Promises should not throw exceptions.

http://heycam.github.io/webidl/#es-operations states that an API returning
a Promise should return a rejected Promise when an error occurs rather than
throwing an exception.

BUG=359386, 362992
R=bashi@chromium.org, eroman@chromium.org

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=171450

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

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