Commit Graph

69 Commits

Author SHA1 Message Date
Thomas Fuchs
03ae9dd3ee * Make document.getElementsByClassName match the WHATWG Web Applications 1.0 specification which was adopted in Firefox 3 (http://www.whatwg.org/specs/web-apps/current-work/#getelementsbyclassname). It now supports multiple class names given as an array or a space-separated list in a string. The method will only return the nodes that match all the class names. In browsers that implement the method natively it will not be overwritten. Closes #8401. [Mislav Marohnic] 2007-06-17 22:26:46 +00:00
Thomas Fuchs
9ff57b042d Prevent a crash in Safari when calling String#evalJSON(true) on very large strings. Add String#isJSON. Closes #7834. [Tobie Langel] 2007-06-17 16:03:38 +00:00
Thomas Fuchs
1e13c1d0b7 Prototype: Prevent a crash in Safari 1.3 on String#stripScripts and String#extractScripts. Closes #8332. Allow JSON data to contain line breaks. Closes #8271. 2007-06-13 20:57:19 +00:00
Thomas Fuchs
d5665e0d22 Prototype: add failing unit test (IE) for Element.Methods.getStyle on auto-calculated widths. References #8564. 2007-06-10 12:58:32 +00:00
Thomas Fuchs
51bb86dc39 Add Hash.prototype.index which returns the first found property that has a specific value. Closes #8528. [Thomas Fuchs, slusarz, Mislav Marohnic] 2007-06-10 11:09:06 +00:00
Thomas Fuchs
86118c3cb5 Prototype: Add Number.prototype.round/ceil/floor/abs as an aliases to the respective methods in Math. Refactor to seperate number extensions from base.js. [Thomas Fuchs] 2007-06-06 16:10:16 +00:00
Thomas Fuchs
0c7bac17f0 Prototype: Make Element#absolutize and Element#relativize properly use Element#getStyle. Closes #8580. [Christophe Porteneuve] 2007-06-06 14:30:01 +00:00
Thomas Fuchs
225597cb35 Prototype: Add Number.prototype.round as an alias to Math.round(). [Thomas Fuchs] 2007-06-06 12:08:15 +00:00
Thomas Fuchs
ae8d11d819 Prototype: make new insertion syntax work again on Ajax.Updater 2007-06-02 16:32:43 +00:00
Thomas Fuchs
5f4bab4dcb Prototype: Fix Element.insert for null values and numeric values when defaulting to bottom 2007-06-02 16:00:47 +00:00
Thomas Fuchs
d4d4fddc7c Prototype: Change Element.insert syntax to allow multiple positions. 2007-06-02 15:08:50 +00:00
Thomas Fuchs
67783190f4 whitespace is my homeboy 2007-05-31 22:35:13 +00:00
Thomas Fuchs
4cafec8a9c Prototype: String.prototype.truncate now explicitly converts its return value into a string if no truncation takes place. This prevents possible issues with methods expecting input data that is typeof == string. 2007-05-31 22:32:25 +00:00
Thomas Fuchs
f099e670f5 Element.setOpacity now calls removeAttribute on the filter style on IE if no more filters remain, which makes Cleartype work properly. Closes #8376. 2007-05-19 00:11:46 +00:00
Sam Stephenson
beeb12e7dd prototype: Prevent an error being thrown by $$ when #id does not exist in $$("div #id"). Closes #8325. 2007-05-18 00:51:34 +00:00
Thomas Fuchs
df33e410b0 testElementMethodInsert: add test for non-lowercase position argument 2007-05-12 19:12:04 +00:00
Sam Stephenson
83b4b337e1 Merge -r6634:HEAD from ../branches/dom.
* Make Element#update and Element#insert work for SELECT tags in IE and Opera. [Tobie Langel]

* Make Element#insert and Element#update better handle TABLE related elements in IE and Opera. Closes #7776, #8040, #7550, #7776, #7938. [Tobie Langel]

* Make Element#readAttribute('title') work in Opera. [Tobie Langel]

* Make Element#replace work with form elements in Firefox and Safari. Closes #8010, #7989. [dsl239, Tobie Langel]

* Add Element#wrap which wraps the element inside a new one. Closes #5732. [P. Vande, Tobie Langel]

* Make Element into a constructor: new Element(tagName, attributes). Add Element#writeAttribute which accepts a hash of attributes or a name/value pair. Closes #7476. [Mislav Marohnić, haraldmartin, Tobie Langel]

* Insertion overhaul: Add Element.insert(content[, position = 'Bottom']). Deprecate Insertion (kept for backwards compatibility). Make Ajax.Updater option.insertion accept both Insertion.Top or the now preferred 'Top'. Closes #7907. [Tobie Langel]
2007-05-12 05:01:56 +00:00
Sam Stephenson
67a4d00588 prototype: Refactor Element.extend and eliminate Element.extend.cache. 2007-05-12 04:32:30 +00:00
Sam Stephenson
f457c98673 prototype: Merge -r6639:HEAD from branches/rel_1-5-1 into trunk. 2007-05-01 04:19:46 +00:00
Sam Stephenson
562e61fc8c prototype: Add Function#curry, Function#delay, Function#defer, and Function#wrap. Closes #8134. 2007-04-29 05:37:07 +00:00
Sam Stephenson
d6c7cd9c9e prototype: Fix $F breakage from [6598]. 2007-04-28 03:28:13 +00:00
Sam Stephenson
b76d34e7bb prototype: Fix regression in which no-argument calls to Element.addMethods() would not add the methods defined in Form.Methods and Form.Element.Methods. Closes #8206. 2007-04-28 02:32:21 +00:00
Sam Stephenson
1886b03d60 prototype: Fix Element#readAttribute to work with the 'type' attribute in IE. Closes #8160. 2007-04-28 02:23:26 +00:00
Sam Stephenson
47bfeb5083 prototype: Add Element#childElements as an alias for Element#immediateDescendants. 2007-04-24 06:17:59 +00:00
Sam Stephenson
5784d78f6e prototype: Add Element#firstDescendant to retrieve the first non-text child node of an element. Optimize DOM navigation methods (Element#up, Element#down, Element#previous, Element#next) for no-argument calls. Closes #7848. 2007-04-24 06:06:44 +00:00
Sam Stephenson
63342b9c01 prototype: Element.addMethods should add methods to Element as well as Element.Methods. Closes #7888. 2007-04-24 05:23:41 +00:00
Sam Stephenson
7a324b859c prototype: Add support for per-request onCreate callbacks to Ajax.Request. Closes #8011. 2007-04-24 03:58:34 +00:00
Sam Stephenson
fea6bc1a21 prototype: Automatically strip security delimiter comments from JSON strings before evaling them. The default delimiter is '/*-secure- ... */' or you can specify your own with the Prototype.JSONFilter regular expression. If you wrap your JSON response bodies in this delimiter on the server side, rogue external sites can't hijack potentially sensitive data via <script> tags. Closes #7910. 2007-04-24 03:31:14 +00:00
Sam Stephenson
643b7bec37 prototype: Add extra spacing so Array#toJSON and Hash#toJSON generate YAML-loadable JSON. Closes #7883. 2007-04-24 02:50:52 +00:00
Thomas Fuchs
193104ac33 Trivial dom.html cleanups, dont do the hidden element getDimensions test for now 2007-04-18 16:30:40 +00:00
Thomas Fuchs
95ac141bd9 Fix Form.request for forms containing an input element with name="action". Closes #8063. 2007-04-17 17:41:22 +00:00
Thomas Fuchs
4c90be6a30 Prevent a crash on Safari on String.prototype.stripScripts and extractScripts with large <script> tags. 2007-04-03 22:21:58 +00:00
Thomas Fuchs
c0509c7f5f Prototype: clean (un)escapeHTML IE special casing and optimize speed for IE and Safari 2007-03-29 17:39:48 +00:00
Thomas Fuchs
9a7dcd54fb Prevent linefeed normalisation in String.prototype.escapeHTML and unescapeHTML on IE for consistency with other browsers 2007-03-28 11:35:05 +00:00
Thomas Fuchs
5f2acb4be5 Make Hash.toQueryString serialize undefined values. Ensure consistency with String.prototype.toQueryParams. Closes #7806. [Mislav Marohnic] 2007-03-27 20:55:56 +00:00
Thomas Fuchs
4506db2df2 Fix Selector issues with :not and attribute selector double quotes, fixes #7901. [Andrew Dupont] 2007-03-27 18:20:35 +00:00
Thomas Fuchs
779cd337b8 Fix issues with Selector an+b logic, performance improvements. Closes #7873. [Andrew Dupont] 2007-03-27 18:14:53 +00:00
Thomas Fuchs
930c8f2665 Fix an issue with Element.getDimensions with some element types on non IE-browsers. Closes #7683. [Andrew Dupont] 2007-03-27 18:04:59 +00:00
Thomas Fuchs
db2ee67799 Fix Form.disable to work again on non-form elements. Closes #6887. [Mislav Marohnic] 2007-03-27 17:53:52 +00:00
Thomas Fuchs
fc91a3e456 Fix an issue with String.prototype.endsWith. Closes #7822. [altblue] 2007-03-27 17:43:30 +00:00
Sam Stephenson
cb1ad0e2cd prototype: Add a tab character via innerHTML to the selector whitespace test. 2007-03-12 21:26:21 +00:00
Thomas Fuchs
e9501d63e5 Make Element.extend work on IE for Nodes with the same ID that where discarded. 2007-03-11 22:40:24 +00:00
Thomas Fuchs
d03e70c4d1 Fix toJSON unit tests in array.html to use array toJSON methods [Tobie Langel] 2007-03-11 21:16:10 +00:00
Thomas Fuchs
b2845e4557 Prototype: Make Selector correctly extend the first element it returns on IE. [Thomas Fuchs] 2007-03-11 14:51:14 +00:00
Thomas Fuchs
a6984e692b Prevent a crash in Safari when using $A() on NodeList objects that contain text nodes. [Thomas Fuchs] 2007-03-11 13:42:40 +00:00
Thomas Fuchs
881b7dc00f Prototype: Fix Element.Methods.descendants() to properly extend elements on IE. 2007-03-11 10:59:06 +00:00
Sam Stephenson
7544938291 prototype: Detabify test/unit/selector.html 2007-03-09 04:15:48 +00:00
Sam Stephenson
00bce412d2 prototype: Merge the selector branch into trunk, bringing vast performance improvements, bug fixes, and near-complete CSS3 compliance to $$ and Selector. Closes #7568. 2007-03-09 04:12:13 +00:00
Sam Stephenson
f160bc4d4d prototype: Add support for JSON encoding and decoding. Closes #7427. 2007-03-09 03:23:24 +00:00
Sam Stephenson
f281192758 prototype: Fix double escaping of query parameters in Hash.prototype.toQueryString, and prevent Safari from iterating over shadowed properties when creating hashes. Closes #7421. 2007-03-09 03:15:03 +00:00