IDL: Further improve indexed/named property setter type checking

Fix the type check for indexed property setters to only accept null and
undefined if the setter's argument is declared nullable. The argument to
a setter should behave the same as a method argument.

Also change the type check to be slightly more efficient by checking if
the value returned by toImplWithTypeCheck() is null rather than calling
hasInstance() separately, which is known to be somewhat costly.

Also support [TypeChecking=Interface] in the generated code for named
property setters. Previously, no type check was generated even if the
setter was declared to have one. (This affects no current setters.)

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

git-svn-id: svn://svn.chromium.org/blink/trunk@188813 bbb929c8-8fbe-4397-9dbb-9b2b20218538
5 files changed