DOM properties emit deprecation or other warnings when debugger tries to enumerate them
Categories
(DevTools :: Console, defect, P2)
Tracking
(firefox114 fixed)
Tracking | Status | |
---|---|---|
firefox114 | --- | fixed |
People
(Reporter: bj, Assigned: nchevobbe)
References
Details
Attachments
(4 files, 2 obsolete files)
I am seeing errors in the web console from chrome code with the 10 April 2013 Nightly. Steps to reproduce: - Visit https://www.mozilla.org/en-US/ . - Open the Web Console. - Clear the console window. - Execute "inspect(document)". - Click the arrow head to the left of __proto__. Expected result: - __proto__ expands with no errors. Actual result: - __proto__ expands with two errors in the Web Console: -- [11:32:30.811] Use of inputEncoding is deprecated. @ chrome://global/content/devtools/dbg-script-actors.js:1697 [11:32:30.812] Ignoring get or set of property that has [LenientThis] because the "this" object is incorrect. @ chrome://global/content/devtools/dbg-script-actors.js:1697 The relevant line of code is: rv = fn.call(chain[i]); Note 1: I used control-c, control-v to copy each error. The first error comes with a line containing "--" as part of the copy, the second error does not have that extra line. Note 2: Expanding __proto__ again in the same tab will produce no additional error messages, but expanding in a new tab will generate the errors.
Comment 1•12 years ago
|
||
This is caused by the debugger enumerating all properties in order to send them across the remote debugging protocol. Various DOM properties are instrumented to emit deprecation or other warnings on such access and I don't know how the debugger could silence them without modifying DOM code.
Comment 2•11 years ago
|
||
moving to debugger.
Updated•11 years ago
|
Comment 6•11 years ago
|
||
Updated•10 years ago
|
Comment 8•9 years ago
|
||
This issue consistently happens in ff42 - forcing me to switch to chrome :-(
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Comment 11•5 years ago
|
||
Nicolas, could you help me understand if this would be on Console or Inspector?
Assignee | ||
Comment 14•4 years ago
|
||
For future reference:
This is the code that triggers the warnings: devtools/server/actors/object.js#463
We could fix this in two ways:
- maintain a list of deprecated properties in devtools code, and avoid calling the getter if it is in the list of deprecated properties
- find a way to get the information directly from the webidl files, since the warning mechanism is implemented there, by having a
[Deprecated
annotation above the property (see https://searchfox.org/mozilla-central/search?q=%5BDeprecated&path=&case=true®exp=false)
1.
is more straightforward, at the expense of having to manually update the list (and possibly miss new deprecation)
2.
seems to be the proper way to go, but the work might not be trivial
We've been talking in the past of using webidl files for other means in DevTools (e.g. autocompletion parameters hints in the console), so maybe we should dedicate some time to work on that. There's a already a webidl -> JS AST library in the tree (https://searchfox.org/mozilla-central/source/testing/web-platform/tests/resources/webidl2/lib/webidl2.js), so maybe we could take advantage of that.
Assignee | ||
Comment 15•4 years ago
|
||
This is the AST produced when parsing dom/webidl/EventHandler.webidl with webidl2.js
[
{
"type": "callback",
"name": "EventHandlerNonNull",
"idlType": {
"type": "return-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "any"
},
"arguments": [
{
"type": "argument",
"name": "event",
"extAttrs": [],
"idlType": {
"type": "argument-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "Event"
},
"default": null,
"optional": false,
"variadic": false
}
],
"extAttrs": [
{
"type": "extended-attribute",
"name": "TreatNonObjectAsNull",
"rhs": null,
"arguments": []
}
]
},
{
"type": "typedef",
"name": "EventHandler",
"idlType": {
"type": "typedef-type",
"extAttrs": [],
"generic": "",
"nullable": true,
"union": false,
"idlType": "EventHandlerNonNull"
},
"extAttrs": []
},
{
"type": "callback",
"name": "OnBeforeUnloadEventHandlerNonNull",
"idlType": {
"type": "return-type",
"extAttrs": [],
"generic": "",
"nullable": true,
"union": false,
"idlType": "DOMString"
},
"arguments": [
{
"type": "argument",
"name": "event",
"extAttrs": [],
"idlType": {
"type": "argument-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "Event"
},
"default": null,
"optional": false,
"variadic": false
}
],
"extAttrs": [
{
"type": "extended-attribute",
"name": "TreatNonObjectAsNull",
"rhs": null,
"arguments": []
}
]
},
{
"type": "typedef",
"name": "OnBeforeUnloadEventHandler",
"idlType": {
"type": "typedef-type",
"extAttrs": [],
"generic": "",
"nullable": true,
"union": false,
"idlType": "OnBeforeUnloadEventHandlerNonNull"
},
"extAttrs": []
},
{
"type": "callback",
"name": "OnErrorEventHandlerNonNull",
"idlType": {
"type": "return-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "any"
},
"arguments": [
{
"type": "argument",
"name": "event",
"extAttrs": [],
"idlType": {
"type": "argument-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": true,
"idlType": [
{
"type": null,
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "Event"
},
{
"type": null,
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "DOMString"
}
]
},
"default": null,
"optional": false,
"variadic": false
},
{
"type": "argument",
"name": "source",
"extAttrs": [],
"idlType": {
"type": "argument-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "DOMString"
},
"default": null,
"optional": true,
"variadic": false
},
{
"type": "argument",
"name": "lineno",
"extAttrs": [],
"idlType": {
"type": "argument-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "unsigned long"
},
"default": null,
"optional": true,
"variadic": false
},
{
"type": "argument",
"name": "column",
"extAttrs": [],
"idlType": {
"type": "argument-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "unsigned long"
},
"default": null,
"optional": true,
"variadic": false
},
{
"type": "argument",
"name": "error",
"extAttrs": [],
"idlType": {
"type": "argument-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "any"
},
"default": null,
"optional": true,
"variadic": false
}
],
"extAttrs": [
{
"type": "extended-attribute",
"name": "TreatNonObjectAsNull",
"rhs": null,
"arguments": []
}
]
},
{
"type": "typedef",
"name": "OnErrorEventHandler",
"idlType": {
"type": "typedef-type",
"extAttrs": [],
"generic": "",
"nullable": true,
"union": false,
"idlType": "OnErrorEventHandlerNonNull"
},
"extAttrs": []
},
{
"type": "interface mixin",
"name": "GlobalEventHandlers",
"inheritance": null,
"members": [
{
"type": "attribute",
"name": "onabort",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onblur",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onfocus",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onauxclick",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onbeforeinput",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "Pref",
"rhs": {
"type": "string",
"value": "\"dom.input_events.beforeinput.enabled\""
},
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "oncanplay",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "oncanplaythrough",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onchange",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onclick",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onclose",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "oncontextmenu",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "oncuechange",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "ondblclick",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "ondrag",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "ondragend",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "ondragenter",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "ondragexit",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "ondragleave",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "ondragover",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "ondragstart",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "ondrop",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "ondurationchange",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onemptied",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onended",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onformdata",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "Pref",
"rhs": {
"type": "string",
"value": "\"dom.formdata.event.enabled\""
},
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "oninput",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "oninvalid",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onkeydown",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onkeypress",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onkeyup",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onload",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onloadeddata",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onloadedmetadata",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onloadend",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onloadstart",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onmousedown",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onmouseenter",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "LenientThis",
"rhs": null,
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onmouseleave",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "LenientThis",
"rhs": null,
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onmousemove",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onmouseout",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onmouseover",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onmouseup",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onwheel",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onpause",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onplay",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onplaying",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onprogress",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onratechange",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onreset",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onresize",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onscroll",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onseeked",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onseeking",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onselect",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onshow",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onstalled",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onsubmit",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onsuspend",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "ontimeupdate",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onvolumechange",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onwaiting",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onselectstart",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "Pref",
"rhs": {
"type": "string",
"value": "\"dom.select_events.enabled\""
},
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "ontoggle",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onpointercancel",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "Pref",
"rhs": {
"type": "string",
"value": "\"dom.w3c_pointer_events.enabled\""
},
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onpointerdown",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "Pref",
"rhs": {
"type": "string",
"value": "\"dom.w3c_pointer_events.enabled\""
},
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onpointerup",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "Pref",
"rhs": {
"type": "string",
"value": "\"dom.w3c_pointer_events.enabled\""
},
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onpointermove",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "Pref",
"rhs": {
"type": "string",
"value": "\"dom.w3c_pointer_events.enabled\""
},
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onpointerout",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "Pref",
"rhs": {
"type": "string",
"value": "\"dom.w3c_pointer_events.enabled\""
},
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onpointerover",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "Pref",
"rhs": {
"type": "string",
"value": "\"dom.w3c_pointer_events.enabled\""
},
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onpointerenter",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "Pref",
"rhs": {
"type": "string",
"value": "\"dom.w3c_pointer_events.enabled\""
},
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onpointerleave",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "Pref",
"rhs": {
"type": "string",
"value": "\"dom.w3c_pointer_events.enabled\""
},
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "ongotpointercapture",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "Pref",
"rhs": {
"type": "string",
"value": "\"dom.w3c_pointer_events.enabled\""
},
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onlostpointercapture",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "Pref",
"rhs": {
"type": "string",
"value": "\"dom.w3c_pointer_events.enabled\""
},
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onmozfullscreenchange",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "Deprecated",
"rhs": {
"type": "string",
"value": "\"MozfullscreenchangeDeprecatedPrefix\""
},
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onmozfullscreenerror",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "Deprecated",
"rhs": {
"type": "string",
"value": "\"MozfullscreenerrorDeprecatedPrefix\""
},
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onanimationcancel",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onanimationend",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onanimationiteration",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onanimationstart",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "ontransitioncancel",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "ontransitionend",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "ontransitionrun",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "ontransitionstart",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onwebkitanimationend",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "BinaryName",
"rhs": {
"type": "string",
"value": "\"onwebkitAnimationEnd\""
},
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onwebkitanimationiteration",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "BinaryName",
"rhs": {
"type": "string",
"value": "\"onwebkitAnimationIteration\""
},
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onwebkitanimationstart",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "BinaryName",
"rhs": {
"type": "string",
"value": "\"onwebkitAnimationStart\""
},
"arguments": []
}
],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onwebkittransitionend",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "BinaryName",
"rhs": {
"type": "string",
"value": "\"onwebkitTransitionEnd\""
},
"arguments": []
}
],
"special": "",
"readonly": false
}
],
"extAttrs": [],
"partial": false
},
{
"type": "interface mixin",
"name": "WindowEventHandlers",
"inheritance": null,
"members": [
{
"type": "attribute",
"name": "onafterprint",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onbeforeprint",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onbeforeunload",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "OnBeforeUnloadEventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onhashchange",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onlanguagechange",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onmessage",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onmessageerror",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onoffline",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "ononline",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onpagehide",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onpageshow",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onpopstate",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onrejectionhandled",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onstorage",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onunhandledrejection",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onunload",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
}
],
"extAttrs": [],
"partial": false
},
{
"type": "interface mixin",
"name": "DocumentAndElementEventHandlers",
"inheritance": null,
"members": [
{
"type": "attribute",
"name": "oncopy",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "oncut",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
},
{
"type": "attribute",
"name": "onpaste",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
}
],
"extAttrs": [],
"partial": false
},
{
"type": "interface mixin",
"name": "OnErrorEventHandlerForNodes",
"inheritance": null,
"members": [
{
"type": "attribute",
"name": "onerror",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
}
],
"extAttrs": [],
"partial": false
},
{
"type": "interface mixin",
"name": "OnErrorEventHandlerForWindow",
"inheritance": null,
"members": [
{
"type": "attribute",
"name": "onerror",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "OnErrorEventHandler"
},
"extAttrs": [],
"special": "",
"readonly": false
}
],
"extAttrs": [],
"partial": false
}
]
We could detect deprecated properties by checking the existence of an item with a name
of "Deprecated"
in extraAttrs
:
{
"type": "attribute",
"name": "onmozfullscreenchange",
"idlType": {
"type": "attribute-type",
"extAttrs": [],
"generic": "",
"nullable": false,
"union": false,
"idlType": "EventHandler"
},
"extAttrs": [
{
"type": "extended-attribute",
"name": "Deprecated",
"rhs": {
"type": "string",
"value": "\"MozfullscreenchangeDeprecatedPrefix\""
},
"arguments": []
}
],
"special": "",
"readonly": false
}
Assignee | ||
Comment 16•4 years ago
|
||
Updated•4 years ago
|
Comment 17•4 years ago
|
||
Comment on attachment 9158871 [details]
Bug 860312 - [devtools] Generate a list of deprecated DOM methods and attributes. r=ladybenko.
Revision D80864 was moved to bug 1686417. Setting attachment 9158871 [details] to obsolete.
Assignee | ||
Comment 18•4 years ago
|
||
Updated•2 years ago
|
Comment 19•2 years ago
|
||
The severity field for this bug is relatively low, S3. However, the bug has 5 duplicates.
:nchevobbe, could you consider increasing the bug severity?
For more information, please visit auto_nag documentation.
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 21•2 years ago
|
||
Assignee | ||
Comment 22•2 years ago
|
||
As the drawback of not having the safeGetter evaluated is quite minimal, we taking
a very simple route and only check the getter name against the list of deprecated
getter names.
We didn't have test for deprecated warnings, so one is added where we check such
messages are not emitted when expanding an object inspector.
Depends on D174056
Updated•2 years ago
|
Assignee | ||
Comment 23•2 years ago
|
||
Getters with LegacyLenientThis attribute will trigger a warning in the console
if it's called with the unexpected this
.
We can't tell in DevTools if we have the "right" this
.
For example displaying an HTMLDivElementPrototype
object, we'll trigger the
warning because of the onmouseenter
getter, which is supposed to be called
with the HTMLElement
instance, which we don't have at this point.
For this reason, we exclude those from being safe getters, which will prevent
triggering the warning.
There are not a lot of properties with the [LegacyLenientThis] attribute,
so I feel like it's fine putting those into the deprecated list, but maybe
we could rename the file so it better conveys what it holds.
Depends on D174057
Updated•1 year ago
|
Updated•1 year ago
|
Comment 24•1 year ago
|
||
Pushed by nchevobbe@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/aa2d7ec51634 [devtools] Generate list of unsafe getters. r=devtools-reviewers,ochameau. https://hg.mozilla.org/integration/autoland/rev/1bedc0cbd0cb [devtools] Check deprecated list before calling a getter. r=devtools-reviewers,ochameau. https://hg.mozilla.org/integration/autoland/rev/2470693a461a [devtools] Add LegacyLenientThis getters to unsafe list. r=devtools-reviewers,ochameau.
Comment 25•1 year ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/aa2d7ec51634
https://hg.mozilla.org/mozilla-central/rev/1bedc0cbd0cb
https://hg.mozilla.org/mozilla-central/rev/2470693a461a
Description
•