Thank you for reporting this bug. We will make it our priority to review this report.
  1. #11
    Sencha - Community Support Team mschwartz's Avatar
    Join Date
    Nov 2008
    Location
    San Diego, Peoples' Republic of California
    Posts
    2,053
    Vote Rating
    17
    mschwartz will become famous soon enough mschwartz will become famous soon enough

      0  

    Default


    also:
    e.target.localName == 'HTML'
    e.target.tagName == 'HTML'

  2. #12
    Sencha User ThorstenSuckow's Avatar
    Join Date
    Sep 2007
    Location
    Aachen, Germany
    Posts
    597
    Vote Rating
    2
    ThorstenSuckow is on a distinguished road

      0  

    Default


    Quote Originally Posted by Condor View Post
    ps. Does the isXUL method also work for you?

    Nope, it fails. However, this works:

    Code:
    Ext.Element.prototype.contains = function(el) {
        if (isXUL(el)) {
            return false;
        };
        return !el ? false : Ext.lib.Dom.isAncestor(this.dom, el.dom ? el.dom : el);
    Anyway, I wouldn't restrict it on DataView, as the same problem occurres in Ext.grid.*

  3. #13
    Sencha - Community Support Team mystix's Avatar
    Join Date
    Mar 2007
    Location
    Singapore
    Posts
    6,236
    Vote Rating
    5
    mystix will become famous soon enough

      0  

    Default


    here's a completely useless nugget:
    Firebug 1.4.0 + Firefox 3.5 now allows logging of the infamous anonymous-div which triggers this error. woot.

  4. #14
    Sencha - Community Support Team Condor's Avatar
    Join Date
    Mar 2007
    Location
    The Netherlands
    Posts
    24,246
    Vote Rating
    94
    Condor has much to be proud of Condor has much to be proud of Condor has much to be proud of Condor has much to be proud of Condor has much to be proud of Condor has much to be proud of Condor has much to be proud of Condor has much to be proud of

      0  

    Default


    Quote Originally Posted by mystix View Post
    here's a completely useless nugget:
    Firebug 1.4.0 + Firefox 3.5 now allows logging of the infamous anonymous-div which triggers this error. woot.
    I think that's why e.target.localName, e.target.tagName and e.target.children[0].localName actually work, because they would fail in Firefox 2.0 and 3.0.

  5. #15
    Sencha - Community Support Team mystix's Avatar
    Join Date
    Mar 2007
    Location
    Singapore
    Posts
    6,236
    Vote Rating
    5
    mystix will become famous soon enough

      0  

    Default


    Quote Originally Posted by Condor View Post
    I think that's why e.target.localName, e.target.tagName and e.target.children[0].localName actually work, because they would fail in Firefox 2.0 and 3.0.
    bingo. attempting to even access any property on that stupidly exposed anonymous-div results in total annihilation.

  6. #16
    Sencha - Community Support Team mystix's Avatar
    Join Date
    Mar 2007
    Location
    Singapore
    Posts
    6,236
    Vote Rating
    5
    mystix will become famous soon enough

      0  

    Default


    Quote Originally Posted by mystix View Post
    bingo. attempting to even access any property on that stupidly exposed anonymous-div results in total annihilation.
    which then brings us to the next problem -- how do we tackle the problem in Firefox 2+ / <3.5?

    does isXUL() still work there if we make the call further up the chain?

  7. #17
    Sencha - Community Support Team mschwartz's Avatar
    Join Date
    Nov 2008
    Location
    San Diego, Peoples' Republic of California
    Posts
    2,053
    Vote Rating
    17
    mschwartz will become famous soon enough mschwartz will become famous soon enough

      0  

    Default


    Try this.

    I am not getting the error anymore.

    Not tested a whole lot though.

    Code:
    Ext.Element.prototype.contains = function(el) {
        if (el && Ext.isGecko && Object.prototype.toString.call(el) === '[object XULElement]') {
            return false;
        }
        return !el ? false : Ext.lib.Dom.isAncestor(this.dom, el.dom ? el.dom : el); 
    };

  8. #18
    Sencha User ThorstenSuckow's Avatar
    Join Date
    Sep 2007
    Location
    Aachen, Germany
    Posts
    597
    Vote Rating
    2
    ThorstenSuckow is on a distinguished road

      0  

    Default


    I'd vote for the isXUL-check, though it introduces some overhead. Depending on the behavior of future FF's, I could also live with the try/catch solution for now.

  9. #19
    Sencha - Community Support Team mschwartz's Avatar
    Join Date
    Nov 2008
    Location
    San Diego, Peoples' Republic of California
    Posts
    2,053
    Vote Rating
    17
    mschwartz will become famous soon enough mschwartz will become famous soon enough

      0  

    Default


    If the above works, awesome.

    I like it because you don't have to hack on any of the components like DataView.

  10. #20
    Sencha User ThorstenSuckow's Avatar
    Join Date
    Sep 2007
    Location
    Aachen, Germany
    Posts
    597
    Vote Rating
    2
    ThorstenSuckow is on a distinguished road

      0  

    Default


    Quote Originally Posted by mschwartz View Post
    Try this.

    Code:
    Ext.Element.prototype.contains = function(el) {
        if (el && Ext.isGecko && Object.prototype.toString.call(el) === '[object XULElement]') {
            return false;
        }
        return !el ? false : Ext.lib.Dom.isAncestor(this.dom, el.dom ? el.dom : el); 
    };
    This chaining is giving me the creeps ... is that the best we can do to check for a XUL Element?