Closed Bug 763943 Opened 13 years ago Closed 13 years ago

Show compatibility warning if an add-on uses E4X

Categories

(addons.mozilla.org Graveyard :: Compatibility Tools, defect)

defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED
2012-08-23

People

(Reporter: kmag, Assigned: basta)

References

Details

(Whiteboard: [fx15])

Attachments

(1 file)

While E4X still works on Gecko 15, the landing of compartment per global broke so many common use cases that any use of E4X whatsoever should block the compatibility bump and generate a warning along the lines of: As of Gecko 15, it is no longer possible to pass E4X objects between most contexts, including different chrome windows or JavaScript modules. See [[bug 650353]] and [[bug 613142]].
What do you suggest we look for?
Whiteboard: [fx15]
Any occurrence of an E4X node or operation in the parse tree should do it. Basically any of these: "XMLEscape": node(branches=("expression", ), action=actions._expression, returns=True), "XMLDefaultDeclaration": node(branches=("namespace", )), "XMLQualifiedIdentifier": node(branches=("left", "right")), "XMLFunctionQualifiedIdentifier": node(branches=("right", )), "XMLAttributeSelector": node(branches=("attribute", ), returns=True), "XMLFilterExpression": node(branches=("left", "right"), returns=True), "XMLElement": node(branches=("contents", ), returns=True), "XMLList": node(branches=("contents", )), "XMLStartTag": node(branches=("contents", )), "XMLEndTag": node(branches=("contents", )), "XMLPointTag": node(branches=("contents", )), "XMLName": node(branches=("contents", )), There shouldn't be a need to warn more than once.
This is a compatibility warning, so the add-on should still be upgraded in this case. Message: It is no longer possible to pass E4X objects between most contexts, including different chrome windows or JavaScript modules. You should also be aware that E4X is in a quick deprecation path. See <LINK> for more information. Link: https://developer.mozilla.org/en-US/docs/E4X Affected add-on: https://addons.mozilla.org/en-US/firefox/addon/pentadactyl/
Assignee: nobody → mattbasta
OS: Linux → All
Hardware: x86_64 → All
Summary: Block Gecko 15 compatibility bump on E4X usage → Show compatibility warning if an add-on uses E4X
Target Milestone: --- → 2012-08-23
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Attached file Test add-on
Summary: ------------------------------ Detected type: Extension/Multi-Extension ------------------------------ Test failed! Errors: Warning: E4X Deprecated E4X has been deprecated and will be disabled by default for content in Gecko 16, and will be removed in Gecko 17. Tier: 3 File: bootstrap.js Line: 7 Column: 10 Context: > > var foo = <foo> > </foo>;
Status: RESOLVED → VERIFIED
Blocks: 820460
Product: addons.mozilla.org → addons.mozilla.org Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: