diff -r 322d0feea350 -r 89ef5ed3c48b src/cm/media/js/lib/yui/yui_3.10.3/build/shim-plugin/shim-plugin-debug.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cm/media/js/lib/yui/yui_3.10.3/build/shim-plugin/shim-plugin-debug.js Tue Jul 16 14:29:46 2013 +0200 @@ -0,0 +1,113 @@ +/* +YUI 3.10.3 (build 2fb5187) +Copyright 2013 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ + +YUI.add('shim-plugin', function (Y, NAME) { + + /** + * Provides shimming support for Node via a Plugin. + * This fixes SELECT bleedthrough for IE6 & Mac scrollbars + * @module shim-plugin + */ + + /** + * Node plugin which can be used to add shim support. + * + * @class Plugin.Shim + * @param {Object} User configuration object + */ + function Shim(config) { + this.init(config); + } + + /** + * Default class used to mark the shim element + * + * @property CLASS_NAME + * @type String + * @static + * @default "yui-node-shim" + */ + // TODO: use ClassNameManager + Shim.CLASS_NAME = 'yui-node-shim'; + + /** + * Default markup template used to generate the shim element. + * + * @property TEMPLATE + * @type String + * @static + */ + Shim.TEMPLATE = ''; + + Shim.prototype = { + init: function(config) { + this._host = config.host; + this.initEvents(); + this.insert(); + this.sync(); + }, + + initEvents: function() { + this._resizeHandle = this._host.on('resize', this.sync, this); + }, + + getShim: function() { + return this._shim || ( + this._shim = Y.Node.create( + Shim.TEMPLATE, + this._host.get('ownerDocument') + ) + ); + }, + + insert: function() { + var node = this._host; + this._shim = node.insertBefore( this.getShim(), + node.get('firstChild')); + }, + + /** + * Updates the size of the shim to fill its container + * @method sync + */ + sync: function() { + var shim = this._shim, + node = this._host; + + if (shim) { + shim.setAttrs({ + width: node.getStyle('width'), + height: node.getStyle('height') + }); + } + }, + + /** + * Removes the shim and destroys the plugin + * @method destroy + */ + destroy: function() { + var shim = this._shim; + if (shim) { + shim.remove(true); + } + + this._resizeHandle.detach(); + } + }; + + Shim.NAME = 'Shim'; + Shim.NS = 'shim'; + + Y.namespace('Plugin'); + Y.Plugin.Shim = Shim; + + +}, '3.10.3', {"requires": ["node-style", "node-pluginhost"]});