v8binding: Handles a cross origin object as IDL callback interface.

Since any object can be an IDL callback interface, web author can
pass a cross origin object as an IDL callback interface. However,
in case of a remote context (e.g. oopif/site-per-process), the
cross origin object does not have a creation context of
v8::Context, and it causes crash.

This patch fixes the issue by checking whether an object has a
non-empty creation context.

http/tests/dom/eventlistener-with-remote-context.html
demonstrates the issue and its fix.

Change-Id: I3251f1caf8df3add3505afa75a1a056786c87c7c
Bug: 883643, 886588
Reviewed-on: https://chromium-review.googlesource.com/1226893
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592369}
13 files changed