Commit Graph

375 Commits

Author SHA1 Message Date
Andrew Dupont 91b787ae17 Ensure the `target` property on events is never undefined in IE. [#383 state:resolved] 2009-02-21 23:27:18 -06:00
Andrew Dupont ab1313ea20 Ensure Element#descendants always returns an array. [#373 state:resolved] 2009-02-18 10:34:01 -06:00
Andrew Dupont d3189652a6 Fixed incorrect usage of === operator. [#127 state:resolved] 2009-02-18 10:30:19 -06:00
James Wheare 03512f5060 Fix for http://prototype.lighthouseapp.com/projects/8886/tickets/543. Don't switch fixed position elements to absolute in Element.getDimensions
Signed-off-by: Sam Stephenson <sam@37signals.com>
2009-02-11 10:14:15 +08:00
Samuel Lebeau ceb7b72621 Avoid String#sub with empty pattern to make endless loop [#534 state:resolved]
Signed-off-by: Sam Stephenson <sam@37signals.com>
2009-02-11 10:12:28 +08:00
Sam Stephenson a519c02b2e Sprocketize Prototype 2009-01-27 15:42:32 -06:00
Andrew Dupont 952feb48a3 Changes to dom.js to get direct extension of element prototypes working in IE8. We're down to one test failure in the dom.js unit tests. 2009-01-21 20:40:45 -06:00
Andrew Dupont 4af7dc0f5d Changed feature detection in order to properly detect the mutable Element prototypes in IE8. 2009-01-21 20:29:23 -06:00
Samuel Lebeau 8a999a0389 Fix Range documentation 2009-01-12 08:28:49 -06:00
Samuel Lebeau b2597ece0c Start PDoc integration. 2009-01-12 08:27:43 -06:00
Andrew Dupont 997689fcea Switch Object.is(Array|String|Number) to use the vastly-superior approach discovered by Juriy. 2009-01-11 18:26:26 -06:00
savetheclocktower 31d1c6fd48 Further fix to ensure Object#is(String|Number) do not throw exceptions on host objects in IE. [#510 state:resolved] 2009-01-05 10:49:09 -06:00
Andrew Dupont 9f5c40c744 Ensure Enumerable#grep can handle strings with RegExp metacharacters. [#257 state:resolved] 2008-12-19 18:50:08 -06:00
Andrew Dupont e9e8c7fbe5 Switch to the "doScroll approach" for the dom:loaded custom event. [#127 state:resolved] 2008-12-16 22:52:24 -06:00
savetheclocktower bd1d3fa1ff Change the way we detect that an object of key/value pairs has been passed to Element#store. 2008-12-16 13:19:23 -06:00
Andrew Dupont c3c953363b Optimize document.viewport.get(Dimensions|Width|Height). [#336 state:resolved] 2008-12-15 20:40:15 -06:00
Andrew Dupont 07506e648b Fix issue where Object#isString and Object#isNumber return false for String and Number "wrapper" objects. [#375 state:resolved] 2008-12-15 20:31:18 -06:00
Andrew Dupont 60a6c7ac70 Set document.loaded = true before firing dom:loaded custom event. 2008-12-15 20:21:17 -06:00
savetheclocktower c4f6066d2c Allow Element#store to accept an object containing several key/value pairs. 2008-12-15 09:51:16 -06:00
savetheclocktower 1ca385b18c Change Element#retrieve to return the element itself (for chaining). 2008-12-15 09:41:10 -06:00
Andrew Dupont 3b21105237 Alter event system to use new element storage API rather than have its own global hashtable. 2008-12-14 01:35:49 -06:00
Andrew Dupont 77b9a2614a Alter element storage API to handle the `window` object gracefully. 2008-12-14 01:35:12 -06:00
Andrew Dupont 3977e66796 Added Element#store and Element#retrieve for safe, hash-backed storage of element metadata (no memory leaks). Also added Element#getStorage for working with the element's storage hash directly. Hat tip: Mootools. 2008-12-12 23:53:39 -06:00
Tobie Langel 1d617df4df Avoid using arguments.callee in string.js. 2008-12-11 17:05:24 +01:00
Tobie Langel 1cda280a72 Avoid using arguments.callee in dom.js. 2008-12-11 17:05:09 +01:00
Tobie Langel b74eeeb757 Make Element constructor creation cleaner. 2008-12-11 17:04:13 +01:00
Tobie Langel 51d0181d29 Avoid using arguments.callee in events.js. 2008-12-11 17:03:53 +01:00
Tobie Langel 7f6b3e81a2 Overwrite Array#concat method for handling the arguments object in Opera. 2008-12-11 17:03:10 +01:00
Tobie Langel 1395330440 Fix Array errors in Opera. 2008-12-11 17:00:45 +01:00
Tobie Langel e5f7cac36f Avoid shadowing named functions. 2008-12-11 16:55:02 +01:00
Tobie Langel 86407790d2 Fix issue where certain versions of Safari treat class names
case-insensitively in Selector/7390 queries. [#390 state:resolved]
2008-12-11 12:07:23 +01:00
Andrew Dupont 1324e4abe0 Refactored class.js. 2008-12-11 12:06:22 +01:00
Andrew Dupont 54bf343560 Fix issue where Function#argumentNames returned incorrect results in IE when comments were intermixed with argument names. [#397 state:resolved] 2008-12-11 12:02:26 +01:00
savetheclocktower c039f68fb7 Selector.patterns should be represented as an ordered structure. [#315 state:resolved] 2008-12-11 12:00:44 +01:00
Tobie Langel dad88f6ebf Refactored event.js. 2008-12-11 11:56:38 +01:00
Tobie Langel 1aacbd692c string.js rewrite. 2008-12-11 11:50:51 +01:00
Tobie Langel 535d4e6d18 function.js rewrite. 2008-12-11 11:49:41 +01:00
Tobie Langel 0b646c01c6 Refactor object.js. 2008-12-11 11:46:42 +01:00
Tobie Langel 48f5ff2072 Split ajax.js. 2008-12-11 11:45:10 +01:00
Tobie Langel fe35c941eb Split src code into lang, dom and ajax directories. 2008-12-11 11:43:15 +01:00
Tobie Langel 6850979395 Split base.js up. 2008-12-11 11:42:15 +01:00
Tobie Langel 616319377f Extract the template class out of string.js and into its own file. 2008-12-11 11:35:20 +01:00
Tobie Langel 314e161c57 Reorganize range.js. 2008-12-11 11:34:19 +01:00
Tobie Langel 23b760865a Reorganize number.js. 2008-12-11 11:34:05 +01:00
Tobie Langel 75440aa98d Reorganize hash.js. 2008-12-11 11:33:45 +01:00
Tobie Langel 92eac6f1f6 Reorganize enumerable.js. 2008-12-11 11:33:31 +01:00
Tobie Langel d3e833c48e Reorganizing array.js source code. 2008-12-11 11:31:36 +01:00
Thomas Fuchs deb47c6361 Workaround a JavaScript exception in Opera. 2008-09-28 21:12:15 +02:00
Tobie Langel 6416d28080 Fix Event#element throwing errors for events missing a currentTarget. 2008-09-09 11:57:59 -07:00
Tobie Langel be8508f2a1 Event#element clean-up. 2008-09-07 20:50:35 -07:00
Andrew Dupont b7af8a745b Improve NodeList detection for Safari's $A function. [#187 state:resolved] 2008-09-07 20:19:05 -07:00
Andrew Dupont 5ddfad8a62 Use different tactic to sniff for Opera in order to avoid false positives in IE. [#176 state:resolved] 2008-09-07 20:18:21 -07:00
Andrew Dupont 7444a4ad02 Rename variable in Form.Element.Serializers.select. [#180 state:resolved] 2008-09-07 20:11:53 -07:00
Andrew Dupont 6c6f8d39ea Coerce Opera's version string into a number whenever we need to sniff. [#163 state:resolved] 2008-09-07 20:07:30 -07:00
Andrew Dupont 4308f376ff Update copyright dates in HEADER. 2008-09-07 19:37:54 -07:00
Andrew Dupont d88c25fd47 Ensure Object.isElement handles "falsy" values properly. 2008-09-07 19:26:21 -07:00
Andrew Dupont b31f642e64 Ensure Hash does not return keys from the prototype chain (e.g., constructor, valueOf, toString). 2008-09-07 19:20:38 -07:00
Andrew Dupont 64002a9083 Fix toString/valueOf sharing same method reference via closure in Class#addMethods. Use plain property assignment, since Object.extend fails to enumerate over toString/valueOf. 2008-09-07 19:19:21 -07:00
Andrew Dupont 637134651a Fix IE's missing negated attribute operator in the selector class. 2008-09-07 18:50:43 -07:00
Andrew Dupont 34798f0d74 Fix Opera 9.5 strict issue that swaps documentElement.clientHeight with body.clientHeight. 2008-09-07 18:49:45 -07:00
jdalton 1d0fb77ec3 Force Element.Methods.Simulated.hasAttribute() to return a boolean value. 2008-09-07 16:30:11 -07:00
Andrew Dupont b52a55482e Small unit test fix. 2008-09-07 10:56:33 -07:00
Tobie Langel 6004aa8289 Ensure Element.hide and Element.show return an element, even if you pass an element ID. 2008-09-06 22:47:26 -07:00
Tobie Langel ae707f4475 Fix an issue where Element#getStyle('height') returns null if the height is set to "auto." 2008-09-03 18:27:04 -07:00
Tobie Langel 6847d27509 Form#serializeElements should not serialize file inputs. 2008-09-03 16:33:03 -07:00
Andrew Dupont 9787801f06 Fix an issue with calling Event.pointer before the DOM is loaded. (kangax, jddalton) [#4 state:resolved] 2008-09-03 15:33:56 -07:00
Tobie Langel b4ea2abda1 Element#down on an input element should not raise error. 2008-09-03 14:16:32 -07:00
Tobie Langel b628c6de5c Avoid potential memory leaks in Firefox. [#12 state:resolved] 2008-09-03 12:19:28 -07:00
Tobie Langel 206a4c824f Allow Function#argumentNames to handle line breaks between arguments. 2008-09-03 12:17:53 -07:00
Samuel Lebeau 15b43b7633 Add context argument to Number#times 2008-09-03 11:45:59 -07:00
Tobie Langel 5a1ef1e05c Fix Function#argumentNames. 2008-09-03 11:44:47 -07:00
Tobie Langel 9c8d9d89d6 Replace all instances of foo.__proto__ by foo['__proto__'] for Caja-compliance. 2008-09-02 19:06:25 -07:00
Tobie Langel de5cc4a0f9 Speed up Function#argumentNames. Avoid Enum dependency. 2008-09-02 19:03:23 -07:00
kangax b75bc189ec Fix Event#element accessing nonexistent tagName property (e.g. when element is a document) 2008-09-02 18:58:50 -07:00
Andrew Dupont a1d89b4503 Fixed a faulty variable assignment, the result of my own idiocy last week. 2008-04-04 12:55:59 -05:00
Andrew Dupont 1c00700894 Fix parentheses. 2008-03-31 13:58:10 -05:00
Andrew Dupont ab8cc48b8d Account for context to assure Element#down, et al., work properly with Selectors API. 2008-03-31 12:51:44 -05:00
Andrew Dupont d13a93882c Fix issue where Safari improperly reports an element as a descendant of itself. 2008-03-30 21:02:47 -05:00
Andrew Dupont a3f7b712c3 Greatly simplify IE's implementation of Element#descendantOf. 2008-03-30 20:07:47 -05:00
Andrew Dupont b03d4d40a0 Merge branch 'master' of git@github.com:sstephenson/prototype 2008-03-29 22:23:50 -05:00
Andrew Dupont 7062189fed Added Prototype.BrowserFeatures.SelectorsAPI boolean. 2008-03-29 22:21:58 -05:00
Andrew Dupont 35a70710b0 Prevent exception when using Selector to search for an attribute that is not present. 2008-03-28 13:31:36 -05:00
Andrew Dupont 55e5d645e1 Fix issues where Firefox improperly returns the wrong node from a call to Event.element. Also fixes possible exception in Event.element in IE. 2008-03-28 13:13:16 -05:00
Andrew Dupont 0c676269e9 Fix issue where Safari 3 deletes custom properties from the document object when the page is returned to via the back button. 2008-03-28 12:48:42 -05:00
Andrew Dupont 03c1530014 Integrate support for the W3C Selectors API into the Selector class. Will now use the API when possible (browser supports the API *and* recognizes the given selector). Means minor changes to the semantics of :enabled, :disabled, and :empty in order to comply with CSS spec. 2008-03-27 01:18:15 -05:00
Tobie Langel 855e27311d prototype: Avoid re-extending element in Element#getDimensions. 2008-03-19 14:04:52 +00:00
Tobie Langel 598387f137 prototype: Prevent Hash#toQueryString from serializing objets. 2008-03-19 13:01:47 +00:00
Tobie Langel 32b1b6b7cd prototype: Fix Event#pointer in IE standard mode. Closes #9920. 2008-03-19 07:01:49 +00:00
Andrew Dupont 6a2d81ce62 Fixed an improperly-encoded apostrophe in a comment. 2008-03-17 15:59:58 +00:00
Tobie Langel 6bae548e0a prototype: Refactor String#escapeHTML to avoid using the with statement. 2008-03-16 19:08:34 +00:00
Tobie Langel addfdef8ff prototype: Make Element#writeAttribute handle frameborder attribute in IE. Closes #11068. 2008-03-09 08:05:29 +00:00
Tobie Langel 359e8810de prototype: Minor clean-up of selector.js. Closes #10844. 2008-03-09 07:27:02 +00:00
Tobie Langel c7e0a3d93c prototype: Make String#unescapeHTML strip tags in IE. Closes #10173. 2008-03-09 07:21:45 +00:00
Tobie Langel 5a50e4d2c0 prototype: Performance improvements for Enumerables. Closes #11264. 2008-03-09 06:56:03 +00:00
Tobie Langel 5630369f42 prototype: Make Prototype tagName comparisons XHTML-compliant. Closes #11012, #11013, #11014. 2008-02-05 03:35:04 +00:00
Tobie Langel 7821b989fe prototype: Avoid breaking Element.prototype in browsers which support it. Closes #11004. 2008-02-04 23:22:18 +00:00
Tobie Langel 2830ac2ac5 prototype: Prevent Element#cumulativeOffset, Element#getOffsetParent, Element#positionedOffset, Element#viewportOffset and Element#clonePosition from throwing an error in IE when called on a parent-less element. Closes #9416, #10192, #10248. 2008-02-03 22:29:29 +00:00
Tobie Langel d770a6c704 prototype: Prevent Enumerable#eachSlice from entering into an endless loop if passed an argument smaller than 1. Closes #10665. 2008-02-03 21:08:13 +00:00
Tobie Langel f4d68350f3 prototype: Allow Selector to correctly detect the presence of namespaced attributes. Closes #10987. 2008-02-03 19:45:32 +00:00
Tobie Langel ea9d81eea1 prototype: Make Element#absolutize and Element#relativize always return element. Closes #10983. 2008-02-03 19:36:35 +00:00