History log of /yui3/src/yui/js/yui-core.js
Revision Date Author Comments Expand
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

/yui3/build/event/event-delegate-min.js /yui3/build/event/event-focus-min.js /yui3/build/event/event-min.js /yui3/build/yui/features-debug.js /yui3/build/yui/features-min.js /yui3/build/yui/features.js /yui3/build/yui/get-debug.js /yui3/build/yui/get-min.js /yui3/build/yui/get.js /yui3/build/yui/rls-debug.js /yui3/build/yui/rls.js /yui3/build/yui/yui-base-debug.js /yui3/build/yui/yui-base-min.js /yui3/build/yui/yui-base.js /yui3/build/yui/yui-debug.js /yui3/build/yui/yui-later-debug.js /yui3/build/yui/yui-later-min.js /yui3/build/yui/yui-later.js /yui3/build/yui/yui-log-debug.js /yui3/build/yui/yui-log-min.js /yui3/build/yui/yui-log.js /yui3/build/yui/yui-min.js /yui3/build/yui/yui-throttle-debug.js /yui3/build/yui/yui-throttle-min.js /yui3/build/yui/yui-throttle.js /yui3/build/yui/yui.js features.js get.js queue-base.js rls.js yui-array.js yui-core.js yui-lang.js yui-later.js yui-log.js yui-object.js yui-throttle.js yui.js
b39897a381c2203466da5568bfd2862a54a81311 15-Sep-2010 Adam Moore <adamoore@yahoo-inc.com>

lint/doc cleanup

/yui3/build/loader/loader-base-debug.js /yui3/build/loader/loader-base-min.js /yui3/build/loader/loader-base.js /yui3/build/loader/loader-debug.js /yui3/build/loader/loader-min.js /yui3/build/loader/loader-rollup-debug.js /yui3/build/loader/loader-rollup-min.js /yui3/build/loader/loader-rollup.js /yui3/build/loader/loader-yui3-min.js /yui3/build/loader/loader.js /yui3/build/yui/features-debug.js /yui3/build/yui/features.js /yui3/build/yui/get-debug.js /yui3/build/yui/get.js /yui3/build/yui/intl-base-debug.js /yui3/build/yui/intl-base.js /yui3/build/yui/rls-debug.js /yui3/build/yui/rls.js /yui3/build/yui/yui-base-debug.js /yui3/build/yui/yui-base-min.js /yui3/build/yui/yui-base.js /yui3/build/yui/yui-debug.js /yui3/build/yui/yui-later-debug.js /yui3/build/yui/yui-later.js /yui3/build/yui/yui-log-debug.js /yui3/build/yui/yui-log.js /yui3/build/yui/yui-min.js /yui3/build/yui/yui-throttle-debug.js /yui3/build/yui/yui-throttle.js /yui3/build/yui/yui.js /yui3/sandbox/loader/2in3.html /yui3/sandbox/loader/2in3_datatable.html /yui3/sandbox/loader/2in3_rte.html /yui3/sandbox/loader/load.html /yui3/src/loader/js/loader.js /yui3/src/loader/js/meta.js /yui3/src/loader/js/rollup.js _module.js features.js get.js intl-base.js queue-base.js rls.js yui-array.js yui-core.js yui-lang.js yui-later.js yui-log.js yui-object.js yui-throttle.js yui-ua.js yui.js
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.

/yui3/build/loader/loader-debug.js /yui3/build/loader/loader-min.js /yui3/build/loader/loader.js /yui3/build/queue-promote/queue-promote-debug.js /yui3/build/queue-promote/queue-promote-min.js /yui3/build/queue-promote/queue-promote.js /yui3/build/queue-run/queue-run-debug.js /yui3/build/queue-run/queue-run-min.js /yui3/build/queue-run/queue-run.js /yui3/build/yui/yui-base-debug.js /yui3/build/yui/yui-base-min.js /yui3/build/yui/yui-base.js /yui3/build/yui/yui-debug.js /yui3/build/yui/yui-min.js /yui3/build/yui/yui.js /yui3/sandbox/yui/dps+wireless.pdf /yui3/sandbox/yui/log.html /yui3/src/loader/js/loader.js /yui3/src/queue-promote/README /yui3/src/queue-promote/build.properties /yui3/src/queue-promote/build.xml /yui3/src/queue-promote/js/queue-promote.js /yui3/src/queue-promote/tests/example.html /yui3/src/queue-promote/tests/io_success.txt /yui3/src/queue-promote/tests/io_timeout.php /yui3/src/queue-promote/tests/queue.html /yui3/src/queue-run/README /yui3/src/queue-run/build.properties /yui3/src/queue-run/build.xml /yui3/src/queue-run/js/queue-run.js /yui3/src/queue-run/tests/example.html /yui3/src/queue-run/tests/io_success.txt /yui3/src/queue-run/tests/io_timeout.php /yui3/src/queue-run/tests/queue.html /yui3/src/queue/base.properties /yui3/src/queue/base.xml /yui3/src/queue/build.properties /yui3/src/queue/promote.xml /yui3/src/yui/README /yui3/src/yui/build.properties _module.js queue-base.js yui-array.js yui-core.js yui-init.js yui-lang.js yui-object.js yui-ua.js yui.js /yui3/src/yui/yui-base.properties
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

/yui3/build/get/get-debug.js /yui3/build/get/get.js /yui3/build/yui-base/yui-base-debug.js /yui3/build/yui-base/yui-base-min.js /yui3/build/yui-base/yui-base.js /yui3/build/yui/yui-debug.js /yui3/build/yui/yui-min.js /yui3/build/yui/yui.js /yui3/sandbox/yui/2 /yui3/sandbox/yui/assets/get.php /yui3/sandbox/yui/assets/post.php /yui3/sandbox/yui/assets/sync.php /yui3/sandbox/yui/assets/weather.php /yui3/sandbox/yui/augment2.html /yui3/sandbox/yui/bubbledd.html /yui3/sandbox/yui/ce.html /yui3/sandbox/yui/clone.html /yui3/sandbox/yui/dd.html /yui3/sandbox/yui/do.html /yui3/sandbox/yui/dom.html /yui3/sandbox/yui/each.html /yui3/sandbox/yui/event-compat.html /yui3/sandbox/yui/get.html /yui3/sandbox/yui/halt.html /yui3/sandbox/yui/load.html.orig /yui3/sandbox/yui/onavail.html /yui3/sandbox/yui/profiler.html /yui3/sandbox/yui/state.html /yui3/sandbox/yui/ua.html /yui3/sandbox/yui/unsubscribe.html /yui3/sandbox/yui/use.html /yui3/sandbox/yui/xhr.html /yui3/sandbox/yui/yui.html /yui3/src/get/README /yui3/src/loader/README /yui3/src/yui/README /yui3/src/yui/build.properties /yui3/src/yui/build.xml /yui3/src/yui/get.properties /yui3/src/yui/get.xml get.js loader.js yui-array.js yui-base.js yui-core.js yui-init.js yui-lang.js yui-later.js yui-log.js yui-object.js yui-ua.js yui.js /yui3/src/yui/loader.properties /yui3/src/yui/loader.xml /yui3/src/yui/yui-array.js /yui3/src/yui/yui-base.properties /yui3/src/yui/yui-base.xml /yui3/src/yui/yui-core.js /yui3/src/yui/yui-dump.js /yui3/src/yui/yui-init.js /yui3/src/yui/yui-lang.js /yui3/src/yui/yui-later.js /yui3/src/yui/yui-log.js /yui3/src/yui/yui-object.js /yui3/src/yui/yui-ua.js /yui3/util/yui/README /yui3/util/yui/build.properties /yui3/util/yui/build.xml /yui3/util/yui/build/yui-debug.js /yui3/util/yui/build/yui-min.js /yui3/util/yui/build/yui.js /yui3/util/yui/src/js/yui-array.js /yui3/util/yui/src/js/yui-compat.js /yui3/util/yui/src/js/yui-core.js /yui3/util/yui/src/js/yui-dump.js /yui3/util/yui/src/js/yui-init.js /yui3/util/yui/src/js/yui-lang.js /yui3/util/yui/src/js/yui-log.js /yui3/util/yui/src/js/yui-object.js /yui3/util/yui/src/js/yui-substitute.js /yui3/util/yui/src/js/yui-ua.js /yui3/util/yui/src/js/yui.js