src/cm/media/js/lib/yui/yui3-3.15.0/build/features/features-debug.js
author gibus
Mon, 10 Mar 2014 15:19:48 +0100
changeset 602 e16a97fb364a
permissions -rw-r--r--
Use YUI 3.15
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
602
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     1
YUI.add('features', function (Y, NAME) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     2
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     3
var feature_tests = {};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     4
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     5
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     6
Contains the core of YUI's feature test architecture.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     7
@module features
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     8
*/
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     9
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    10
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    11
* Feature detection
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    12
* @class Features
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    13
* @static
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    14
*/
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    15
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    16
Y.mix(Y.namespace('Features'), {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    17
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    18
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    19
    * Object hash of all registered feature tests
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    20
    * @property tests
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    21
    * @type Object
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    22
    */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    23
    tests: feature_tests,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    24
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    25
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    26
    * Add a test to the system
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    27
    *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    28
    *   ```
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    29
    *   Y.Features.add("load", "1", {});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    30
    *   ```
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    31
    *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    32
    * @method add
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    33
    * @param {String} cat The category, right now only 'load' is supported
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    34
    * @param {String} name The number sequence of the test, how it's reported in the URL or config: 1, 2, 3
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    35
    * @param {Object} o Object containing test properties
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    36
    * @param {String} o.name The name of the test
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    37
    * @param {Function} o.test The test function to execute, the only argument to the function is the `Y` instance
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    38
    * @param {String} o.trigger The module that triggers this test.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    39
    */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    40
    add: function(cat, name, o) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    41
        feature_tests[cat] = feature_tests[cat] || {};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    42
        feature_tests[cat][name] = o;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    43
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    44
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    45
    * Execute all tests of a given category and return the serialized results
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    46
    *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    47
    *   ```
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    48
    *   caps=1:1;2:1;3:0
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    49
    *   ```
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    50
    * @method all
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    51
    * @param {String} cat The category to execute
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    52
    * @param {Array} args The arguments to pass to the test function
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    53
    * @return {String} A semi-colon separated string of tests and their success/failure: 1:1;2:1;3:0
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    54
    */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    55
    all: function(cat, args) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    56
        var cat_o = feature_tests[cat],
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    57
            // results = {};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    58
            result = [];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    59
        if (cat_o) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    60
            Y.Object.each(cat_o, function(v, k) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    61
                result.push(k + ':' + (Y.Features.test(cat, k, args) ? 1 : 0));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    62
            });
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    63
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    64
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    65
        return (result.length) ? result.join(';') : '';
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    66
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    67
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    68
    * Run a sepecific test and return a Boolean response.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    69
    *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    70
    *   ```
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    71
    *   Y.Features.test("load", "1");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    72
    *   ```
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    73
    *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    74
    * @method test
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    75
    * @param {String} cat The category of the test to run
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    76
    * @param {String} name The name of the test to run
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    77
    * @param {Array} args The arguments to pass to the test function
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    78
    * @return {Boolean} True or false if the test passed/failed.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    79
    */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    80
    test: function(cat, name, args) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    81
        args = args || [];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    82
        var result, ua, test,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    83
            cat_o = feature_tests[cat],
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    84
            feature = cat_o && cat_o[name];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    85
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    86
        if (!feature) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    87
            Y.log('Feature test ' + cat + ', ' + name + ' not found');
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    88
        } else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    89
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    90
            result = feature.result;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    91
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    92
            if (Y.Lang.isUndefined(result)) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    93
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    94
                ua = feature.ua;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    95
                if (ua) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    96
                    result = (Y.UA[ua]);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    97
                }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    98
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    99
                test = feature.test;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   100
                if (test && ((!ua) || result)) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   101
                    result = test.apply(Y, args);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   102
                }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   103
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   104
                feature.result = result;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   105
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   106
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   107
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   108
        return result;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   109
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   110
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   111
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   112
// Y.Features.add("load", "1", {});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   113
// Y.Features.test("load", "1");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   114
// caps=1:1;2:0;3:1;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   115
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   116
/* This file is auto-generated by (yogi loader --yes --mix --start ../) */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   117
/*jshint maxlen:900, eqeqeq: false */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   118
var add = Y.Features.add;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   119
// app-transitions-native
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   120
add('load', '0', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   121
    "name": "app-transitions-native",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   122
    "test": function (Y) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   123
    var doc  = Y.config.doc,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   124
        node = doc ? doc.documentElement : null;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   125
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   126
    if (node && node.style) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   127
        return ('MozTransition' in node.style || 'WebkitTransition' in node.style || 'transition' in node.style);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   128
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   129
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   130
    return false;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   131
},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   132
    "trigger": "app-transitions"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   133
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   134
// autocomplete-list-keys
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   135
add('load', '1', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   136
    "name": "autocomplete-list-keys",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   137
    "test": function (Y) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   138
    // Only add keyboard support to autocomplete-list if this doesn't appear to
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   139
    // be an iOS or Android-based mobile device.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   140
    //
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   141
    // There's currently no feasible way to actually detect whether a device has
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   142
    // a hardware keyboard, so this sniff will have to do. It can easily be
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   143
    // overridden by manually loading the autocomplete-list-keys module.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   144
    //
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   145
    // Worth noting: even though iOS supports bluetooth keyboards, Mobile Safari
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   146
    // doesn't fire the keyboard events used by AutoCompleteList, so there's
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   147
    // no point loading the -keys module even when a bluetooth keyboard may be
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   148
    // available.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   149
    return !(Y.UA.ios || Y.UA.android);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   150
},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   151
    "trigger": "autocomplete-list"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   152
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   153
// dd-gestures
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   154
add('load', '2', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   155
    "name": "dd-gestures",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   156
    "trigger": "dd-drag",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   157
    "ua": "touchEnabled"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   158
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   159
// dom-style-ie
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   160
add('load', '3', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   161
    "name": "dom-style-ie",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   162
    "test": function (Y) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   163
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   164
    var testFeature = Y.Features.test,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   165
        addFeature = Y.Features.add,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   166
        WINDOW = Y.config.win,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   167
        DOCUMENT = Y.config.doc,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   168
        DOCUMENT_ELEMENT = 'documentElement',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   169
        ret = false;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   170
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   171
    addFeature('style', 'computedStyle', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   172
        test: function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   173
            return WINDOW && 'getComputedStyle' in WINDOW;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   174
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   175
    });
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   176
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   177
    addFeature('style', 'opacity', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   178
        test: function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   179
            return DOCUMENT && 'opacity' in DOCUMENT[DOCUMENT_ELEMENT].style;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   180
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   181
    });
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   182
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   183
    ret =  (!testFeature('style', 'opacity') &&
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   184
            !testFeature('style', 'computedStyle'));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   185
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   186
    return ret;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   187
},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   188
    "trigger": "dom-style"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   189
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   190
// editor-para-ie
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   191
add('load', '4', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   192
    "name": "editor-para-ie",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   193
    "trigger": "editor-para",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   194
    "ua": "ie",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   195
    "when": "instead"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   196
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   197
// event-base-ie
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   198
add('load', '5', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   199
    "name": "event-base-ie",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   200
    "test": function(Y) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   201
    var imp = Y.config.doc && Y.config.doc.implementation;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   202
    return (imp && (!imp.hasFeature('Events', '2.0')));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   203
},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   204
    "trigger": "node-base"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   205
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   206
// graphics-canvas
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   207
add('load', '6', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   208
    "name": "graphics-canvas",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   209
    "test": function(Y) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   210
    var DOCUMENT = Y.config.doc,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   211
        useCanvas = Y.config.defaultGraphicEngine && Y.config.defaultGraphicEngine == "canvas",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   212
		canvas = DOCUMENT && DOCUMENT.createElement("canvas"),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   213
        svg = (DOCUMENT && DOCUMENT.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1"));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   214
    return (!svg || useCanvas) && (canvas && canvas.getContext && canvas.getContext("2d"));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   215
},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   216
    "trigger": "graphics"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   217
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   218
// graphics-canvas-default
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   219
add('load', '7', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   220
    "name": "graphics-canvas-default",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   221
    "test": function(Y) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   222
    var DOCUMENT = Y.config.doc,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   223
        useCanvas = Y.config.defaultGraphicEngine && Y.config.defaultGraphicEngine == "canvas",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   224
		canvas = DOCUMENT && DOCUMENT.createElement("canvas"),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   225
        svg = (DOCUMENT && DOCUMENT.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1"));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   226
    return (!svg || useCanvas) && (canvas && canvas.getContext && canvas.getContext("2d"));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   227
},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   228
    "trigger": "graphics"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   229
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   230
// graphics-svg
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   231
add('load', '8', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   232
    "name": "graphics-svg",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   233
    "test": function(Y) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   234
    var DOCUMENT = Y.config.doc,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   235
        useSVG = !Y.config.defaultGraphicEngine || Y.config.defaultGraphicEngine != "canvas",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   236
		canvas = DOCUMENT && DOCUMENT.createElement("canvas"),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   237
        svg = (DOCUMENT && DOCUMENT.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1"));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   238
    
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   239
    return svg && (useSVG || !canvas);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   240
},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   241
    "trigger": "graphics"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   242
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   243
// graphics-svg-default
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   244
add('load', '9', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   245
    "name": "graphics-svg-default",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   246
    "test": function(Y) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   247
    var DOCUMENT = Y.config.doc,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   248
        useSVG = !Y.config.defaultGraphicEngine || Y.config.defaultGraphicEngine != "canvas",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   249
		canvas = DOCUMENT && DOCUMENT.createElement("canvas"),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   250
        svg = (DOCUMENT && DOCUMENT.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1"));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   251
    
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   252
    return svg && (useSVG || !canvas);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   253
},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   254
    "trigger": "graphics"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   255
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   256
// graphics-vml
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   257
add('load', '10', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   258
    "name": "graphics-vml",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   259
    "test": function(Y) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   260
    var DOCUMENT = Y.config.doc,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   261
		canvas = DOCUMENT && DOCUMENT.createElement("canvas");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   262
    return (DOCUMENT && !DOCUMENT.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1") && (!canvas || !canvas.getContext || !canvas.getContext("2d")));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   263
},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   264
    "trigger": "graphics"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   265
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   266
// graphics-vml-default
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   267
add('load', '11', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   268
    "name": "graphics-vml-default",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   269
    "test": function(Y) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   270
    var DOCUMENT = Y.config.doc,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   271
		canvas = DOCUMENT && DOCUMENT.createElement("canvas");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   272
    return (DOCUMENT && !DOCUMENT.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1") && (!canvas || !canvas.getContext || !canvas.getContext("2d")));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   273
},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   274
    "trigger": "graphics"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   275
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   276
// history-hash-ie
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   277
add('load', '12', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   278
    "name": "history-hash-ie",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   279
    "test": function (Y) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   280
    var docMode = Y.config.doc && Y.config.doc.documentMode;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   281
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   282
    return Y.UA.ie && (!('onhashchange' in Y.config.win) ||
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   283
            !docMode || docMode < 8);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   284
},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   285
    "trigger": "history-hash"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   286
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   287
// io-nodejs
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   288
add('load', '13', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   289
    "name": "io-nodejs",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   290
    "trigger": "io-base",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   291
    "ua": "nodejs"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   292
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   293
// json-parse-shim
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   294
add('load', '14', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   295
    "name": "json-parse-shim",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   296
    "test": function (Y) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   297
    var _JSON = Y.config.global.JSON,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   298
        Native = Object.prototype.toString.call(_JSON) === '[object JSON]' && _JSON,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   299
        nativeSupport = Y.config.useNativeJSONParse !== false && !!Native;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   300
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   301
    function workingNative( k, v ) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   302
        return k === "ok" ? true : v;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   303
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   304
    
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   305
    // Double check basic functionality.  This is mainly to catch early broken
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   306
    // implementations of the JSON API in Firefox 3.1 beta1 and beta2
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   307
    if ( nativeSupport ) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   308
        try {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   309
            nativeSupport = ( Native.parse( '{"ok":false}', workingNative ) ).ok;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   310
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   311
        catch ( e ) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   312
            nativeSupport = false;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   313
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   314
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   315
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   316
    return !nativeSupport;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   317
},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   318
    "trigger": "json-parse"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   319
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   320
// json-stringify-shim
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   321
add('load', '15', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   322
    "name": "json-stringify-shim",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   323
    "test": function (Y) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   324
    var _JSON = Y.config.global.JSON,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   325
        Native = Object.prototype.toString.call(_JSON) === '[object JSON]' && _JSON,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   326
        nativeSupport = Y.config.useNativeJSONStringify !== false && !!Native;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   327
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   328
    // Double check basic native functionality.  This is primarily to catch broken
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   329
    // early JSON API implementations in Firefox 3.1 beta1 and beta2.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   330
    if ( nativeSupport ) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   331
        try {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   332
            nativeSupport = ( '0' === Native.stringify(0) );
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   333
        } catch ( e ) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   334
            nativeSupport = false;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   335
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   336
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   337
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   338
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   339
    return !nativeSupport;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   340
},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   341
    "trigger": "json-stringify"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   342
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   343
// scrollview-base-ie
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   344
add('load', '16', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   345
    "name": "scrollview-base-ie",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   346
    "trigger": "scrollview-base",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   347
    "ua": "ie"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   348
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   349
// selector-css2
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   350
add('load', '17', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   351
    "name": "selector-css2",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   352
    "test": function (Y) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   353
    var DOCUMENT = Y.config.doc,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   354
        ret = DOCUMENT && !('querySelectorAll' in DOCUMENT);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   355
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   356
    return ret;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   357
},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   358
    "trigger": "selector"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   359
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   360
// transition-timer
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   361
add('load', '18', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   362
    "name": "transition-timer",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   363
    "test": function (Y) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   364
    var DOCUMENT = Y.config.doc,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   365
        node = (DOCUMENT) ? DOCUMENT.documentElement: null,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   366
        ret = true;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   367
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   368
    if (node && node.style) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   369
        ret = !('MozTransition' in node.style || 'WebkitTransition' in node.style || 'transition' in node.style);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   370
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   371
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   372
    return ret;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   373
},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   374
    "trigger": "transition"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   375
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   376
// widget-base-ie
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   377
add('load', '19', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   378
    "name": "widget-base-ie",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   379
    "trigger": "widget-base",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   380
    "ua": "ie"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   381
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   382
// yql-jsonp
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   383
add('load', '20', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   384
    "name": "yql-jsonp",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   385
    "test": function (Y) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   386
    /* Only load the JSONP module when not in nodejs or winjs
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   387
    TODO Make the winjs module a CORS module
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   388
    */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   389
    return (!Y.UA.nodejs && !Y.UA.winjs);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   390
},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   391
    "trigger": "yql",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   392
    "when": "after"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   393
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   394
// yql-nodejs
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   395
add('load', '21', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   396
    "name": "yql-nodejs",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   397
    "trigger": "yql",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   398
    "ua": "nodejs",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   399
    "when": "after"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   400
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   401
// yql-winjs
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   402
add('load', '22', {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   403
    "name": "yql-winjs",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   404
    "trigger": "yql",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   405
    "ua": "winjs",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   406
    "when": "after"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   407
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   408
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   409
}, '@VERSION@', {"requires": ["yui-base"]});