1
0
Fork 0
mirror of https://github.com/Yetangitu/ampache synced 2025-10-05 10:49:37 +02:00

Update prototype to git HEAD (4ce0b0f)

git://github.com/sstephenson/prototype.git
This commit is contained in:
Paul Arthur 2013-01-15 15:12:16 -05:00
parent 035fd9b117
commit 19efa3adf7
2 changed files with 61 additions and 37 deletions

View file

@ -4,6 +4,7 @@
--------------------------------------------------------------------------
v.3.6-FUTURE
- Updated Prototype to git HEAD (4ce0b0f)
- Fixed bug that disclosed passwords for plugins to users that didn't
have access to update the password (patch by Fred Thomsen)
- Fixed streaming on Android devices and anything else that expects to

View file

@ -399,7 +399,7 @@ Object.extend(Function.prototype, (function() {
var __method = this, args = slice.call(arguments, 1);
var bound = function() {
var a = merge(args, arguments), c = context;
var a = merge(args, arguments);
var c = this instanceof bound ? this : context;
return __method.apply(c, a);
};
@ -577,7 +577,8 @@ Object.extend(String.prototype, (function() {
}
while (source.length > 0) {
if (match = source.match(pattern)) {
match = source.match(pattern)
if (match && match[0].length > 0) {
result += source.slice(0, match.index);
result += String.interpret(replacement(match));
source = source.slice(match.index + match[0].length);
@ -921,8 +922,8 @@ var Enumerable = (function() {
}
function include(object) {
if (Object.isFunction(this.indexOf))
if (this.indexOf(object) != -1) return true;
if (Object.isFunction(this.indexOf) && this.indexOf(object) != -1)
return true;
var found = false;
this.each(function(value) {
@ -1406,11 +1407,13 @@ var Hash = Class.create(Enumerable, (function() {
function _each(iterator, context) {
var i = 0;
for (var key in this._object) {
var value = this._object[key], pair = [key, value];
pair.key = key;
pair.value = value;
iterator.call(context, pair);
iterator.call(context, pair, i);
i++;
}
}
@ -1464,7 +1467,7 @@ var Hash = Class.create(Enumerable, (function() {
function toQueryPair(key, value) {
if (Object.isUndefined(value)) return key;
var value = String.interpret(value);
value = String.interpret(value);
value = value.gsub(/(\r)?\n/, '\r\n');
value = encodeURIComponent(value);
@ -1580,9 +1583,9 @@ var ObjectRange = Class.create(Enumerable, (function() {
}
function _each(iterator, context) {
var value = this.start;
while (this.include(value)) {
iterator.call(context, value);
var value = this.start, i;
for (i = 0; this.include(value); i++) {
iterator.call(context, value, i);
value = value.succ();
}
}
@ -1777,7 +1780,8 @@ Ajax.Request = Class.create(Ajax.Base, {
}
for (var name in headers)
this.transport.setRequestHeader(name, headers[name]);
if (headers[name] != null)
this.transport.setRequestHeader(name, headers[name]);
},
success: function() {
@ -2628,6 +2632,7 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
}
function down(element, expression, index) {
if (arguments.length === 1) return firstDescendant(element);
element = $(element), expression = expression || 0, index = index || 0;
if (Object.isNumber(expression))
@ -2783,7 +2788,7 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
name = table.names[attr] || attr;
value = attributes[attr];
if (table.values[attr])
name = table.values[attr](element, value);
name = table.values[attr](element, value) || name;
if (value === false || value === null)
element.removeAttribute(name);
else if (value === true)
@ -3104,7 +3109,7 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
}
function hasLayout_IE(element) {
if (!element.currentStyle.hasLayout)
if (!element.currentStyle || !element.currentStyle.hasLayout)
element.style.zoom = 1;
return element;
}
@ -3157,7 +3162,7 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
var filter = Element.getStyle(element, 'filter');
if (filter.length === 0) return 1.0;
var match = (filter || '').match(/alpha\(opacity=(.*)\)/);
if (match[1]) return parseFloat(match[1]) / 100;
if (match && match[1]) return parseFloat(match[1]) / 100;
return 1.0;
}
@ -3432,6 +3437,14 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
Element.addMethods(methods);
function destroyCache_IE() {
DIV = null;
ELEMENT_CACHE = null;
}
if (window.attachEvent)
window.attachEvent('onunload', destroyCache_IE);
})(this);
(function() {
@ -4066,7 +4079,8 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
function viewportOffset(forElement) {
var valueT = 0, valueL = 0, docBody = document.body;
var element = $(forElement);
forElement = $(forElement);
var element = forElement;
do {
valueT += element.offsetTop || 0;
valueL += element.offsetLeft || 0;
@ -4099,10 +4113,11 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
var layout = element.getLayout();
element.store('prototype_absolutize_original_styles', {
left: element.getStyle('left'),
top: element.getStyle('top'),
width: element.getStyle('width'),
height: element.getStyle('height')
position: element.getStyle('position'),
left: element.getStyle('left'),
top: element.getStyle('top'),
width: element.getStyle('width'),
height: element.getStyle('height')
});
element.setStyle({
@ -5799,18 +5814,23 @@ var Form = {
accumulator = function(result, key, value) {
if (key in result) {
if (!Object.isArray(result[key])) result[key] = [result[key]];
result[key].push(value);
result[key] = result[key].concat(value);
} else result[key] = value;
return result;
};
} else {
initial = '';
accumulator = function(result, key, value) {
value = value.gsub(/(\r)?\n/, '\r\n');
value = encodeURIComponent(value);
value = value.gsub(/%20/, '+');
return result + (result ? '&' : '') + encodeURIComponent(key) + '=' + value;
}
accumulator = function(result, key, values) {
if (!Object.isArray(values)) {values = [values];}
if (!values.length) {return result;}
var encodedKey = encodeURIComponent(key).gsub(/%20/, '+');
return result + (result ? "&" : "") + values.map(function (value) {
value = value.gsub(/(\r)?\n/, '\r\n');
value = encodeURIComponent(value);
value = value.gsub(/%20/, '+');
return encodedKey + "=" + value;
}).join("&");
};
}
return elements.inject(initial, function(result, element) {
@ -6244,17 +6264,14 @@ Form.EventObserver = Class.create(Abstract.EventObserver, {
node = currentTarget;
}
if (node.nodeType == Node.TEXT_NODE)
node = node.parentNode;
return Element.extend(node);
return node.nodeType == Node.TEXT_NODE ? node.parentNode : node;
}
function findElement(event, expression) {
var element = _element(event), match = Prototype.Selector.match;
var element = _element(event), selector = Prototype.Selector;
if (!expression) return Element.extend(element);
while (element) {
if (Object.isElement(element) && match(element, expression))
if (Object.isElement(element) && selector.match(element, expression))
return Element.extend(element);
element = element.parentNode;
}
@ -6535,8 +6552,8 @@ Form.EventObserver = Class.create(Abstract.EventObserver, {
function stopObservingElement(element) {
var uid = getUniqueElementID(element),
registry = getRegistryForElement(element, uid);
var uid = getUniqueElementID(element), registry = GLOBAL.Event.cache[uid];
if (!registry) return;
destroyRegistryForElement(element, uid);
@ -6716,9 +6733,9 @@ Form.EventObserver = Class.create(Abstract.EventObserver, {
return createMouseEnterLeaveResponder(uid, eventName, handler);
return function(event) {
var cacheEntry = Event.cache[uid];
var element = cacheEntry.element;
if (!Event.cache) return;
var element = Event.cache[uid].element;
Event.extend(event, element);
handler.call(element, event);
};
@ -6726,7 +6743,7 @@ Form.EventObserver = Class.create(Abstract.EventObserver, {
function createResponderForCustomEvent(uid, eventName, handler) {
return function(event) {
var cacheEntry = Event.cache[uid], element = cacheEntry.element;
var element = Event.cache[uid].element;
if (Object.isUndefined(event.eventName))
return false;
@ -6741,7 +6758,7 @@ Form.EventObserver = Class.create(Abstract.EventObserver, {
function createMouseEnterLeaveResponder(uid, eventName, handler) {
return function(event) {
var cacheEntry = Event.cache[uid], element = cacheEntry.element;
var element = Event.cache[uid].element;
Event.extend(event, element);
var parent = event.relatedTarget;
@ -6791,6 +6808,12 @@ Form.EventObserver = Class.create(Abstract.EventObserver, {
fireContentLoadedEvent();
}
if (document.readyState === 'complete') {
fireContentLoadedEvent();
return;
}
if (document.addEventListener) {
document.addEventListener('DOMContentLoaded', fireContentLoadedEvent, false);
} else {