IDL: Properly support [Exposed] on static methods

They were conditionally installed as indicated by the [Exposed] attribute,
but they were installed on the prototype object rather than on the
interface object.

A static method with [Exposed] fulfills the requirements for being treated
both as a conditionally enabled method (because of [Exposed]) and a method
with custom registration (because of being static), and due to the order
in which those requirements were checked, it ended up being treated as a
conditionally enabled method, only.

Fix by giving custom registration priority and by adding the same
condition filters around that registration code, so that such methods can
still also be all sorts of conditionally enabled.

BUG=434741

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

git-svn-id: svn://svn.chromium.org/blink/trunk@187161 bbb929c8-8fbe-4397-9dbb-9b2b20218538
5 files changed
tree: 877f03987a6139fd94df8fe70f87065c80bb7b8a
  1. third_party/