d13a1e700d2545fd4416c2b00c7ca47eb4432bcf |
|
29-Feb-2012 |
Eric Ferraiuolo <eferraiuolo@gmail.com> |
Fixed `Y.getLocation()` to work with `YUI({win: someOtherWindow})`.
Fixes #2531823 |
ac9b25cc3f58612d05a3aa25903a67eebd3c44e9 |
|
19-Jan-2012 |
Eric Ferraiuolo <eferraiuolo@gmail.com> |
Added `Y.getLocation()` to encourage safer access to `window.location`.
Both Safari and MobileSafari have a nasty bug/issue related to holding
references to `window.location` on pages which are restored from cache. |
5c1d9e043503606aacdf14c2a39d4fce211e7c64 |
|
14-Sep-2011 |
Ryan Grove <ryan@wonko.com> |
Y.mix() will no longer shadow prototype properties on the receiver by default. [Fixes #2530501]
In 3.3.0 and earlier, when doing an object to object mix, a property
"foo" on the receiver's prototype would block a property "foo" from
being mixed into the receiver itself if overwrite == false. In 3.4.0,
prototype properties are ignored during an object to object mix, since
that's essentially the definition of what an object to object mix is
(i.e., "mix things from this object [not its prototype] into that object
[not its prototype]").
After much discussion and consideration, we've decided to bring back the
old behavior to preserve backwards compatibility. While the old behavior
violates the strict definition of an object to object mix, the new
behavior violates the principle of least surprise, so the old behavior
is the lesser of the two evils.
One side effect of the old (and now new again) behavior that should be
noted is that since shadowing of prototype properties is never allowed
when overwrite is false, using Y.mix() or Y.augment() with an object or
class that contains a toString() property (or any other property that
exists on Object.prototype) will result in that property not being
augmented. The only way to augment an object with properties that would
shadow those on Object.prototype is to set the overwrite parameter to
true. This caveat would also apply to properties added to
Object.prototype by other JS on the page (Object.prototype.toJSON comes
to mind). |
f337c07d293239b69ae9e85e28d1972daec99aff |
|
26-Aug-2011 |
Dav Glass <davglass@gmail.com> |
Fixes #2530909 - Changed args.toString() to String(args); in Y.cached
Also added a test case for this to make sure it doesn't
break in the future. |
841992e58cf6eac32a697e90349a16c7750a9eaa |
|
14-Jun-2011 |
Ryan Grove <ryan@wonko.com> |
Update API docs and improve readability of Y.cached() and Y.merge(). |
a7805745d4eca10912ab8e72ccc8860326bb8860 |
|
01-Jun-2011 |
Ryan Grove <ryan@wonko.com> |
Don't pass the whitelist to recursive Y.mix calls.
The old Y.mix didn't pass the whitelist along, and I thought I was
fixing a bug by changing that, but it turns out there's code that
depends on that behavior. Thanks to Satyen for tracking that down. |
2db800d2dbdadc265dfe19874f106f5a34e9f378 |
|
24-May-2011 |
Ryan Grove <ryan@wonko.com> |
Cache Y.Lang.isObject. |
69a063b45ae500a0e28f869ad728378d36fbe9e6 |
|
24-May-2011 |
Ryan Grove <ryan@wonko.com> |
Refactor Y.mix.
This refactoring had three main goals:
1. Correctness.
2. Runtime performance.
3. Improve code readability and reduce complexity.
Several bugs have been fixed (missing and unsafe hasOwnProperty checks,
inconsistent merging behavior between whitelist and non-whitelist
iteration, incomplete implementation of IE enumeration fix).
Runtime performance is just a tiny bit worse than in 3.3.0,
primarily due to the cost of additional hasOwnProperty calls and the
expense of calling the safer Object.prototype.hasOwnProperty instead of
an object's own hasOwnProperty method. Runtime performance of Y.mix is
so fast to begin with (between 400,000 and 2 million calls per second
in modern browsers) and the difference is so small that this should be
insignificant in real-world usage, although I admit I was disappointed
to be unable to squeeze out an improvement. It's not worth compromising
on correctness, though.
Finally, code readability has been improved and complexity reduced by
eliminating unnecessary recursion, using simpler (and faster)
conditional structures, using descriptive variable names, and adding
explanatory comments. API documentation has also been improved
significantly. |
a16b85af6908094d89d657d94df0cfe124e0dab1 |
|
24-May-2011 |
Ryan Grove <ryan@wonko.com> |
Y.mix(): Pass arguments along when recursing to merge a whitelisted object. |
43a93fcb59b215be188100c871d728e602476560 |
|
24-May-2011 |
Ryan Grove <ryan@wonko.com> |
Y.mix(): Don't let prototype properties prevent object-to-object copy
when overwrite == false.
mix() was incorrectly treating the existence of a prototype property
(like Object.prototype.foo) as an indication that an object owned the
given property, which prevented it from being copied when overwriting
was disabled. |
e7b11a0f52dee2e5bce17b46169b4842fe054299 |
|
03-May-2011 |
Adam Moore <adamoore@yahoo-inc.com> |
IE mix fix for valueOf |
7caa6a0339dc0a35e4289296718da86ebea4cb9e |
|
25-Feb-2011 |
Adam Moore <adamoore@yahoo-inc.com> |
IE mix fix for valueOf |
0bc189b2acbd7c4b5af63eded0c4289e224676b7 |
|
27-Sep-2010 |
Adam Moore <adamoore@yahoo-inc.com> |
doc/lint cleanup |
b39897a381c2203466da5568bfd2862a54a81311 |
|
15-Sep-2010 |
Adam Moore <adamoore@yahoo-inc.com> |
lint/doc cleanup |
2c9fe75ac1579cf6e444f668fbc5bf7e2a76f44e |
|
18-May-2010 |
Adam Moore <adamoore@yahoo-inc.com> |
cached() fixed to handle falsy second arg [fixes #2528913]. doc tweak |
8703238092c4adb84182a23da6bfabd7941404c4 |
|
09-Apr-2010 |
Adam Moore <adamoore@yahoo-inc.com> |
aggregate reverted to limit merge to objects [fixes #2528346]. clone doesn't try to clone YUI instances because we don't like recursion errors. |
ca65ed2d362d134af5ddb6fee437bcd2f4c681bb |
|
08-Jan-2010 |
Adam Moore <adamoore@yahoo-inc.com> |
restored hasOwnProperty check in merge/mix |
9191edff4926ce68c7540d8572a4f5d138bb06cf |
|
06-Jan-2010 |
Adam Moore <adamoore@yahoo-inc.com> |
fixed deep mix/aggregate [fixes #2528405]. |
f89b4dd628000da1b003539c3c181e6b9880de00 |
|
10-Dec-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
inserted nodes get charset="utf-8" by default [fixes #2528434]. |
2c5ce90c334a2d0f18474e85c93b424b6ec9daaa |
|
13-Aug-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
queue-base is now part of yui-base. queue-run and queue-promote are independent modules. |
4778ff543a041ac356d6e661cc9b66c3fafa2092 |
|
12-Aug-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
API submodule breakdown |
c5a99d0418986780ae6c3d0dcd9d81c7fe58dfc7 |
|
06-Aug-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
Recursive calls to mix propagate args correctly [fixes #2528148]. |
361320a72c74c9f1a80410d1b65e82db6f90549c |
|
13-Jul-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
io submodule node dependency tuning [fixes #2528080]. |
ae1f7ed14ee90e037ce01ce4384fda0a7102b4f2 |
|
08-Jul-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
Fixed Y.Array.indexOf native fork. [fixes #2528021]. Removed 'cached' identifier from the anonymous wrapper function in Y.cached. |
87d6b0a14cce52c4faa4b78fc9878eb553dab0d5 |
|
17-Jun-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
YUI API update [fixes #2526015] |
0263b559dcd210a19a22676b25ecbcac81d1692c |
|
05-Jun-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
Updated delegate payload: the originalTarget is the delegation container. the target continues to be the first element that matches the delegation spec. The actual target is assigned to the originalTarget property. A NodeList containing all elements that match the delegation spec is assigned to the details field. Also: more type parse an cached performance tweaks. |
63898dadaf6dd411a13dd8ba0e89f6edbc715363 |
|
04-Jun-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
Y.cached no longer creates an array to deal with multiple parameters. Name parse optimization. |
e125e48e3547df3d96d6f2b0e1cf71c9a12a86b5 |
|
01-Jun-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
Removed Y.guid string churn. Removed paranoid property checks in Y.mix. |
2690c090ce850e485d15cf691f59e8aaeb3b4bb1 |
|
01-Jun-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
fixed aggregate + white list in Y.mix |
4fd59bfb8fcc741f2159cbd73f554dc64744d224 |
|
30-May-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
Optimized Y.mix whitelist path. Fixed event facade mix whitelist. |
d41433127d346d34d3bf10bd00f77ab84b5c69fa |
|
22-May-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
refactored Y.mix to remove the inner function. |
833987a6d18134e5f1f2e741cf4ebd959dec1398 |
|
22-May-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
focus/blur listeners add an additional NOOP listener to the parent contain when in Opera so that the listener is guaranteed to fire if the listener target is the event target. |
9c42541e375e7bb70c53012b3012d70f1a380254 |
|
15-May-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
loader no longer uses logInclude/logExclude for filtering decisions. Added 'filters' config for module specific filter overrides. |
35be7619236bbdabe0a279cc02b66f791ea9edab |
|
15-May-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
replaced classnamemanager's memoize routine with Y.cached |
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722 |
|
12-May-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
Info about dynamically loaded modules is stored globally, keyed by version number to avoid duplicate CSS inserts by multiple YUI instances [fixes #2139465].
# Please enter the commit message for your changes. Lines starting |
701dfa296d4afcfc9da4c68aaa58369782ca12f4 |
|
07-May-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
updated cached delimeter, reorganized |
deec4a36c2aa5af73ad5b7c6eb259311ea29cbd1 |
|
01-May-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
removed this.log log statements [fixes #2527874] |
8556a973cf2503e0990811fc2b7a48193ae23149 |
|
30-Apr-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
removed context arg from Y.cached |
d408aa66c7199d6b6a133c20c2116414dc70fa0a |
|
30-Apr-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
Y.on('delegate') now works correctly when an event matches multiple delegate listeners listening to the same event on the same node. |
004a8e29530376c7b032074ea4415d6f9cbd4f93 |
|
30-Apr-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
cached needed context |
28dae17326d6407fe8d1c8f772fb8eab3092b7c8 |
|
30-Apr-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
cashed works better with single arg |
29f8aa0e8e7e3eca92e8afae2bcb09e1e6cce6c5 |
|
30-Apr-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
doc cleanup |
be4b15ff720a0319386bee5f9510a18d784adb0f |
|
30-Apr-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
cached API doc |
b95f3e116b832ec809030dcf7152fbe137e4b54a |
|
30-Apr-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
Added Y.cached as a generic function memoization utility. Switched event type parse cache to use Y.cached. |
ba2701ee03e94104edf19911ee0989f8cee11088 |
|
06-Feb-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
refactor |
c4e6d94ea429e473a6732b6eb5e0fc980e822881 |
|
04-Feb-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
Added closures to prevent local variable collisions |
1b298c6f0ef597aa4ab0b8bcb25430b6c9a87749 |
|
14-Jan-2009 |
Adam Moore <adamoore@yahoo-inc.com> |
yui reorg, updated build and organization, get and loader source moved to yui src dir |