Skip to content

Commit

Permalink
document: Update [Unforgeable] document: not applicable on interfaces
Browse files Browse the repository at this point in the history
Our IDLExtendedAttributes said that [Unforgeable] is applicable on
interfaces, but it is not true, and we don't have a tag "(i)".
This CL removes the description about the application on interfaces.

Bug: None
Change-Id: I7c43b11f5f074ba89c9e497845a72696f403db43
Reviewed-on: https://chromium-review.googlesource.com/1195248
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587035}
  • Loading branch information
peria authored and Commit Bot committed Aug 29, 2018
1 parent 4507c19 commit ccc8370
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions third_party/blink/renderer/bindings/IDLExtendedAttributes.md
Original file line number Diff line number Diff line change
Expand Up @@ -506,17 +506,16 @@ Implementation: Given `[TreatNullAs=EmptyString]`, a JavaScript null is converte

Standard: [Unforgeable](http://heycam.github.io/webidl/#Unforgeable)

Summary: Makes interface members unconfigurable and also controls where the member is defined.
Summary: Makes attributes or non-static oprations unconfigurable and also controls where the member is defined.

Usage: Can be specified on methods, attributes or interfaces:
Usage: Can be specified on methods or non-static attributes:

```webidl
[Unforgeable] void func();
[Unforgeable] attribute DOMString str;
[Unforgeable] interface XXX { ... };
```

By default, interface members are configurable (i.e. you can modify a property descriptor corresponding to the member and also you can delete the property). `[Unforgeable]` makes the member unconfiguable so that you cannot modify or delete the property corresponding to the member.
By default, members are configurable (i.e. you can modify a property descriptor corresponding to the member and also you can delete the property). `[Unforgeable]` makes the member unconfiguable so that you cannot modify or delete the property corresponding to the member.

`[Unforgeable]` changes where the member is defined, too. By default, attribute getters/setters and methods are defined on a prototype chain. `[Unforgeable]` defines the member on the instance object instead of the prototype object.

Expand Down

0 comments on commit ccc8370

Please sign in to comment.