~landscape/lazr-js/production

« back to all changes in this revision

Viewing changes to src-js/lazrjs/yui/dom/selector-native.js

  • Committer: Sidnei da Silva
  • Date: 2010-09-18 14:54:13 UTC
  • mfrom: (166.11.12 toolchain)
  • Revision ID: sidnei.da.silva@canonical.com-20100918145413-8scojue3rodcm0f4
- Merge from lazr-js trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
Copyright (c) 2010, Yahoo! Inc. All rights reserved.
3
3
Code licensed under the BSD License:
4
4
http://developer.yahoo.com/yui/license.html
5
 
version: 3.1.1
6
 
build: 47
 
5
version: 3.2.0
 
6
build: 2676
7
7
*/
8
8
YUI.add('selector-native', function(Y) {
9
9
 
32
32
 
33
33
    useNative: true,
34
34
 
35
 
    _compare: ('sourceIndex' in document.documentElement) ?
 
35
    _compare: ('sourceIndex' in Y.config.doc.documentElement) ?
36
36
        function(nodeA, nodeB) {
37
37
            var a = nodeA.sourceIndex,
38
38
                b = nodeB.sourceIndex;
45
45
 
46
46
            return -1;
47
47
 
48
 
        } : (document.documentElement[COMPARE_DOCUMENT_POSITION] ?
 
48
        } : (Y.config.doc.documentElement[COMPARE_DOCUMENT_POSITION] ?
49
49
        function(nodeA, nodeB) {
50
50
            if (nodeA[COMPARE_DOCUMENT_POSITION](nodeB) & 4) {
51
51
                return -1;
110
110
    query: function(selector, root, firstOnly, skipNative) {
111
111
        root = root || Y.config.doc;
112
112
        var ret = [],
113
 
            useNative = (Y.Selector.useNative && document.querySelector && !skipNative),
 
113
            useNative = (Y.Selector.useNative && Y.config.doc.querySelector && !skipNative),
114
114
            queries = [[selector, root]],
115
115
            query,
116
116
            result,
168
168
    },
169
169
 
170
170
    _nativeQuery: function(selector, root, one) {
 
171
        if (Y.UA.webkit && selector.indexOf(':checked') > -1 &&
 
172
                (Y.Selector.pseudos && Y.Selector.pseudos.checked)) { // webkit (chrome, safari) fails to find "selected"
 
173
            return Y.Selector.query(selector, root, one, true); // redo with skipNative true to try brute query
 
174
        }
171
175
        try {
172
176
            return root['querySelector' + (one ? '' : 'All')](selector);
173
177
        } catch(e) { // fallback to brute if available
264
268
})(Y);
265
269
 
266
270
 
267
 
}, '3.1.1' ,{requires:['dom-base']});
 
271
}, '3.2.0' ,{requires:['dom-base']});