[Webkit-unassigned] [Bug 140575] New: Web Inspector: Native Bindings Descriptors are Incomplete
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Jan 16 16:36:04 PST 2015
https://bugs.webkit.org/show_bug.cgi?id=140575
Bug ID: 140575
Summary: Web Inspector: Native Bindings Descriptors are
Incomplete
Classification: Unclassified
Product: WebKit
Version: 528+ (Nightly build)
Hardware: All
OS: All
Status: NEW
Severity: Normal
Priority: P2
Component: Web Inspector
Assignee: webkit-unassigned at lists.webkit.org
Reporter: joepeck at webkit.org
CC: graouts at webkit.org, joepeck at webkit.org,
jonowells at apple.com, mattbaker at apple.com,
nvasilyev at apple.com, timothy at apple.com,
webkit-bug-importer at group.apple.com
* SUMMARY
Native Bindings Descriptors are Incomplete. We are not returning a getter/function and the configurable property looks incorrect.
According to WebIDL:
http://www.w3.org/TR/WebIDL/#es-attributes
> For each attribute defined on the interface, there must exist a corresponding property. If the attribute was declared
> with the [Unforgeable] extended attribute, then the property exists on every object that implements the interface.
> Otherwise, it exists on the interface’s interface prototype object.
>
> The characteristics of these properties are as follows:
>
> - The name of the property is the identifier of the attribute.
> - The property has attributes { [[Get]]: G, [[Set]]: S, [[Enumerable]]: true, [[Configurable]]: configurable }, ...
> - G is the attribute getter, defined below; and
> - S is the attribute setter, also defined below.
> - The attribute getter is a Function object ...
> - The attribute setter is undefined if the attribute is declared readonly and has neither a [PutForwards] nor
> a [Replaceable] extended attribute declared on it. Otherwise, it is a Function object ...
For example, in MouseEvent: (simplified)
interface MouseEvent : UIEvent {
readonly attribute boolean altKey;
};
WebKit gives us a descriptor with empty get/set and configurable "false" but should be true:
webkit-console> Object.getOwnPropertyDescriptor(MouseEvent.prototype, "altKey");
{
configurable: false
enumerable: true
get: undefined
set: undefined
}
I expect something more like Firefox:
firefox-console> Object.getOwnPropertyDescriptor(MouseEvent.prototype, "altKey");
Object { configurable: true, enumerable: true, get: altKey(), set: undefined }
Note that Chrome's bindings are on the instance, not prototype, and so don't seem to match the spec.
chrome-console> Object.getOwnPropertyDescriptor(x, "altKey")
Object {value: false, writable: true, enumerable: true, configurable: true}
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20150117/f76a62c3/attachment-0002.html>
More information about the webkit-unassigned
mailing list