W3C home > Mailing lists > Public > www-dom@w3.org > October to December 2012

[Bug 19555] New: Node.getDocumentPosition should return 0x23 or 0x25 for disconnected nodes, not 0x01

From: <bugzilla@jessica.w3.org>
Date: Tue, 16 Oct 2012 15:21:06 +0000
To: www-dom@w3.org
Message-ID: <bug-19555-4009@http.www.w3.org/Bugs/Public/>

          Priority: P2
            Bug ID: 19555
                CC: bzbarsky@mit.edu, mike@w3.org, Ms2ger@gmail.com,
          Assignee: annevk@annevk.nl
            Blocks: 13044
           Summary: Node.getDocumentPosition should return 0x23 or 0x25
                    for disconnected nodes, not 0x01
        QA Contact: public-webapps-bugzilla@w3.org
          Severity: normal
    Classification: Unclassified
                OS: All
          Reporter: ayg@aryeh.name
          Hardware: All
            Status: NEW
           Version: unspecified
         Component: DOM
           Product: WebAppsWG

See discussion here:


IE, Firefox, and Opera all implement the DOM Level 3 Core spec.  That means
that for any two given disconnected nodes, they'll return either




consistently, as long as each one's root node has no parent.  (In practice,
Gecko does a pointer comparison between pointers to the root nodes, where the
pointer used is unique and stable for any given node.  Probably IE/Opera are

This is meant to be used for sorting arbitrary lists of nodes uniquely.  In
fact, jQuery exposes a function that does exactly that.  But the current spec
says to just return 0x01, which very well might break jQuery.  jQuery relies on
the sort being a total order because it passes a function based on it to JS'
.sort() method, which has undefined behavior for bogus sort functions.

In practice, the method is horrible enough (bitfields in JS!) that I don't
think it's worth making it prettier.  I say we should just spec it like DOM
Level 3 Core.  People can use .contains(), and we could add
.isBefore()/.isAfter() methods to round it out if we want.

You are receiving this mail because:
You are on the CC list for the bug.
Received on Tuesday, 16 October 2012 15:21:11 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:37:01 UTC