Closed Bug 605982 Opened 14 years ago Closed 14 years ago

mozMatchesSelector should raise a SYNTAX_ERR exception on invalid selectors

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla2.0b7
Tracking Status
blocking2.0 --- -

People

(Reporter: mattcoz, Assigned: mounir)

References

()

Details

(Keywords: dev-doc-complete, Whiteboard: [good first bug])

Attachments

(1 file, 1 obsolete file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11
Build Identifier: 

Currently mozMatchesSelector returns false when called with an invalid selector, this is the wrong behavior.  Here is what the W3C draft says:

"If the given group of selectors is invalid ([SELECT], section 13), the implementation must raise a SYNTAX_ERR exception ([DOM-LEVEL-3-CORE], section 1.4)."

The webkit and ie implementations of this method correctly raise the exception.

Reproducible: Always

Steps to Reproduce:
1. Call mozMatchesSelector with an invalid selector.
Actual Results:  
returns false

Expected Results:  
raises SYNTAX_ERR exception
OS: Windows 7 → All
Hardware: x86 → All
Compatibility concern, content/base/src/nsGenericElement.cpp looks easy to fix even for someone not really familiar with the code, should address for this release, I think.
Status: UNCONFIRMED → NEW
blocking2.0: --- → ?
Ever confirmed: true
Whiteboard: [good first bug]
Assignee: nobody → mounir.lamouri
Status: NEW → ASSIGNED
Version: unspecified → Trunk
Attached patch Patch v1 (obsolete) — Splinter Review
I'm wondering if we shouldn't add the tests to content/base/test/file_bug416317.xhtml?
Attachment #484864 - Flags: review?(bzbarsky)
Attachment #484864 - Flags: approval2.0?
By the way, thank you for your report, Matt :)
Comment on attachment 484864 [details] [diff] [review]
Patch v1

I'm fine either way on the test, but you should be propagating out the actual error from ParseSelectorList instead of assuming it's always SYNTAX_ERR.
Attachment #484864 - Flags: review?(bzbarsky) → review-
Blocks: 518003
Attached patch Patch v2Splinter Review
Attachment #484864 - Attachment is obsolete: true
Attachment #485006 - Flags: review?(bzbarsky)
Attachment #484864 - Flags: approval2.0?
Attachment #485006 - Flags: approval2.0?
Comment on attachment 485006 [details] [diff] [review]
Patch v2

r=me
Attachment #485006 - Flags: review?(bzbarsky)
Attachment #485006 - Flags: review+
Attachment #485006 - Flags: approval2.0?
Attachment #485006 - Flags: approval2.0+
Pushed:
http://hg.mozilla.org/mozilla-central/rev/25507af6a959

Thank you for your report Matt :)
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Flags: in-testsuite+
Keywords: dev-doc-needed
Resolution: --- → FIXED
Target Milestone: --- → mozilla2.0b8
Target Milestone: mozilla2.0b8 → mozilla2.0b7
Updated documentation:

https://developer.mozilla.org/en/DOM/Node.mozMatchesSelector

Noted on Firefox 4 for developers.
blocking2.0: ? → -
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: