Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 1040 lines (590 sloc) 60.395 kB
d13a938 @savetheclocktower Fix issue where Safari improperly reports an element as a descendant …
savetheclocktower authored
1 * Fix issue where Safari improperly reports an element as a descendant of itself.
2
a3f7b71 @savetheclocktower Greatly simplify IE's implementation of Element#descendantOf.
savetheclocktower authored
3 * Greatly simplify IE's implementation of Element#descendantOf.
4
35a7071 @savetheclocktower Prevent exception when using Selector to search for an attribute that…
savetheclocktower authored
5 * Prevent exception when using Selector to search for an attribute that is not present. [gryn, Andrew Dupont]
6
55e5d64 @savetheclocktower Fix issues where Firefox improperly returns the wrong node from a cal…
savetheclocktower authored
7 * Fix issues where Firefox improperly returns the wrong node from a call to Event.element. Also fixes possible exception in Event.element in IE. [jdalton, Andrew Dupont]
8
9 * Fix issue where Safari 3 deletes custom properties from the document object when the page is returned to via the back button. [mzsanford, kangax, Andrew Dupont]
10
03c1530 @savetheclocktower Integrate support for the W3C Selectors API into the Selector class. …
savetheclocktower authored
11 * 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.
12
855e273 @tobie prototype: Avoid re-extending element in Element#getDimensions.
tobie authored
13 * Avoid re-extending element in Element#getDimensions. [kangax]
14
598387f @tobie prototype: Prevent Hash#toQueryString from serializing objets.
tobie authored
15 * Prevent Hash#toQueryString from serializing objets. [kangax, Tobie Langel]
16
32b1b6b @tobie prototype: Fix Event#pointer in IE standard mode. Closes #9920.
tobie authored
17 * Fix Event#pointer in IE standard mode. Closes #9920. [kangax, Tobie Langel]
18
78c4b99 @tobie prototype: Instanciate Test.Unit.Logger on window load.
tobie authored
19 * Instanciate Test.Unit.Logger on window load. [Tobie Langel]
20
21 * Unit tests clean-up. [Tobie Langel]
22
6bae548 @tobie prototype: Refactor String#escapeHTML to avoid using the with statement.
tobie authored
23 * Refactor String#escapeHTML to avoid using the `with` statement. [Tobie Langel]
24
c01cb85 @tobie prototype: Remove usage of the statement from unit tests.
tobie authored
25 * Remove usage of the `with` statement from unit tests. [Tobie Langel]
26
87ce153 @tobie prototype: Complete rewrite of the deprecation helper.
tobie authored
27 * Complete rewrite of the deprecation helper, now renamed UpdateHelper and useable by third-party libs. [Tobie Langel]
28
addfdef @tobie prototype: Make Element#writeAttribute handle frameborder attribute i…
tobie authored
29 * Make Element#writeAttribute handle frameborder attribute in IE. Closes #11068. [staaky, Tobie Langel]
30
359e881 @tobie prototype: Minor clean-up of selector.js. Closes #10844.
tobie authored
31 * Minor clean-up of selector.js. Closes #10844. [RQuadling]
32
c7e0a3d @tobie prototype: Make String#unescapeHTML strip tags in IE. Closes #10173.
tobie authored
33 * Make String#unescapeHTML strip tags in IE. Closes #10173. [kangax]
34
bfee207 @tobie prototype: Stop form observers in unit tests. Closes #10938.
tobie authored
35 * Stop form observers in unit tests. Closes #10938. [kangax]
36
5a50e4d @tobie prototype: Performance improvements for Enumerables. Closes #11264.
tobie authored
37 * Performance improvements for Enumerables. Closes #11264. [Ben, Samuel Lebeau]
38
fffb3c1 @tobie prototype: mark Hash.toJSON() as removed.
tobie authored
39 * deprecation extension: mark Hash.toJSON() as removed. [Tobie Langel]
40
088c049 @tobie prototype: improvements to deprecation.js.
tobie authored
41 * deprecation extension: mark Class.create() used without arguments as deprecated. [Tobie Langel]
42
43 * deprecation extension: mark Event.unloadCache as removed rather than deprecated. [Tobie Langel]
44
45 * deprecation extension: log everything *but* deprecations with console.error. [Tobie Langel]
46
54a2084 @savetheclocktower Change deprecation extension to use Firebug's console.warn and consol…
savetheclocktower authored
47 * Change deprecation extension to use Firebug's console.warn and console.error. [Andrew Dupont, Tobie Langel]
48
93d359f @tobie prototype fix a typo.
tobie authored
49 * Make tagName comparisons XHTML-compliant. Closes #11012, #11013, #11014. [cfis, Tobie Langel]
5630369 @tobie prototype: Make Prototype tagName comparisons XHTML-compliant. Closes…
tobie authored
50
7821b98 @tobie prototype: Avoid breaking Element.prototype in browsers which support…
tobie authored
51 * Avoid breaking Element.prototype in browsers which support it. Closes #11004. [cfis, Tobie Langel]
52
2830ac2 @tobie prototype: Prevent Element#cumulativeOffset, Element#getOffsetParent,…
tobie authored
53 * 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. [ronstoney, psiborg, kangax]
54
d770a6c @tobie prototype: Prevent Enumerable#eachSlice from entering into an endless…
tobie authored
55 * Prevent Enumerable#eachSlice from entering into an endless loop if passed an argument smaller than 1. Closes #10665. [kangax, Tobie Langel]
56
f4d6835 @tobie prototype: Allow Selector to correctly detect the presence of namespa…
tobie authored
57 * Allow Selector to correctly detect the presence of namespaced attributes. Closes #10987. [Samuel Lebeau, Tobie Langel]
58
ea9d81e @tobie prototype: Make Element#absolutize and Element#relativize always retu…
tobie authored
59 * Make Element#absolutize and Element#relativize always return element. Closes #10983. [kangax]
60
ed14693 @tobie prototype: Add deprecation extension.
tobie authored
61 * Add deprecation extension. [Tobie Langel]
62
2827428 @sstephenson prototype: Prepare for 1.6.0.2 release
sstephenson authored
63 *1.6.0.2* (January 25, 2008)
cc69b9c @tobie prototype: Add a description to :test and :dist rake tasks.
tobie authored
64
765cba2 @sstephenson prototype: Update the list of officially supported browsers in the RE…
sstephenson authored
65 * Update the list of officially supported browsers in the README. [sam]
66
25f1a4f @savetheclocktower Forgot the CHANGELOG on the last commit.
savetheclocktower authored
67 * Add tests for Element#descendantOf that deal with dynamically-created elements. [Andrew Dupont]
68
c24a390 @savetheclocktower Ensure positionedOffset properly considers "position: fixed" elements…
savetheclocktower authored
69 * Ensure positionedOffset properly considers "position: fixed" elements. Also ensures IE reports offsets correctly by triggering hasLayout when a "static" element has a "fixed" element as an offset parent. Closes #10644. [heygrady, kangax, Andrew Dupont]
70
ffa0d09 @savetheclocktower Roll back the fix for #9609, since it does not work in Opera. Instead…
savetheclocktower authored
71 * Roll back the fix for #9609, since it does not work in Opera. Instead, avoid using "valueOf" or "toString" as field names in forms.
72
a1ec25c @savetheclocktower Prevent DOM node expandos _countedByPrototype and _prototypeEventID f…
savetheclocktower authored
73 * Prevent DOM node expandos _countedByPrototype and _prototypeEventID from being serialized into (inner|outer)HTML in IE. Closes #10909. [dcpedit, Tobie Langel, Andrew Dupont]
74
794457d @tobie Make Ajax.Request#isSameOrigin JavaScript Lint compliant. Backport fi…
tobie authored
75 * Make Ajax.Request#isSameOrigin JavaScript Lint compliant. [Andrew Dupont]
76
0f97f4c @savetheclocktower Properly serialize form fields with names that collide with built-in …
savetheclocktower authored
77 * Properly serialize form fields with names that collide with built-in JS properties (like "length" or "toString"). Closes #9609. [gryn, kangax]
78
17cd2f9 @tobie prototype: Make Object.isArray correctly identify arrays created in a…
tobie authored
79 * Make Object.isArray correctly identify arrays created in another frame. Closes #10374. [pointy, Dean Edwards, Andrew Dupont, Tobie Langel]
80
7942a9e @savetheclocktower Fixed issue where Element#match failed on attribute selectors with si…
savetheclocktower authored
81 * Fixed issue where Element#match failed on attribute selectors with single or double quotes. Closes #10067. [Cezary Okupski, Andrew Dupont]
82
a5fe12b @tobie prototype: Add tests for Element#match.
tobie authored
83 * Add tests for Element#match. [Tobie Langel]
84
b26f4e3 @tobie prototype: Fix Element#writeAttribute to work with 'cellspacing' and …
tobie authored
85 * Fix Element#writeAttribute to work with 'cellspacing' and 'cellpadding' attributes in IE. Closes #9983. [/dev/urandom, Tobie Langel]
86
02cc999 @tobie prototype: Prevent a potential security issue for cross-site ajax req…
tobie authored
87 * Prevent a potential security issue for cross-site ajax requests. [Alexey Feldgendler, sam, Tobie Langel]
88
dcada47 @tobie prototype: Test for attribute existence before applying more complex …
tobie authored
89 * Test for attribute existence before applying more complex CSS3 selectors. Closes #10870. [arty, Tobie Langel]
90
91 * Fix "function $A" declaration inside of a conditional (confuses IE). Closes #10882. [Jacco, Andrew Dupont]
c200c27 @savetheclocktower Fix "function $A" declaration inside of a conditional (confuses IE). …
savetheclocktower authored
92
c67fe0b @savetheclocktower Fixed selector parsing so that "#foo [bar=baz]" is treated the same w…
savetheclocktower authored
93 * Fixed selector parsing so that "#foo [bar=baz]" is treated the same way as "#foo *[bar=baz]". Closes #10734. [jlukas, kangax, Andrew Dupont]
94
89cbe08 @savetheclocktower Fix Element#descendantOf logic in IE. Closes #10413. [martymix, kamil…
savetheclocktower authored
95 * Fix Element#descendantOf logic in IE. Closes #10413. [martymix, kamil.szot]
96
7052c5a @tobie prototype: Fix missing var in Element#insert. Closes #10838.
tobie authored
97 * Fix missing "var" in Element#insert. Closes #10838. [Lantash]
98
584acba @tobie prototype: Add Test.Unit.MessageTemplate class. Add flunk, buildMessa…
tobie authored
99 * Add Test.Unit.MessageTemplate class. Add flunk, buildMessage and assertBlock methods to Test.Unit.Assertions. Refactor accordingly. [Tobie Langel]
100
7cd956d @tobie prototype: Remove useless binding in Template#evaluate.
tobie authored
101 * Remove useless binding in Template#evaluate. [Tobie Langel]
102
ac48714 @tobie prototype: Make Object.inspect more robust.
tobie authored
103 * Make Object.inspect more robust. [Tobie Langel]
104
cc69b9c @tobie prototype: Add a description to :test and :dist rake tasks.
tobie authored
105 * Add a description to :test and :dist rake tasks. [Christoph Sturm]
106
a246e77 @tobie prototype: Fix Selector.matchElements to allow for coma-separated sel…
tobie authored
107 * Fix Selector.matchElements to allow for coma-separated selectors in Element#up/next/previous and Event#findElement. [Samuel Lebeau, Tobie Langel]
5a37860 @tobie prototype: Ensure creates an empty array when its argument's length …
tobie authored
108
0008fe4 @tobie prototype: Test.Unit refactoring. Allow running multiple instances of…
tobie authored
109 * Test.Unit refactoring. Allow running multiple instances of Test.Unit.Runner on the same page. Allow rake to run specific testcases (e.g.: rake test BROWSERS=firefox TESTS=array TESTCASES=testUniq,test$w). Closes #10704, #10705, #10706. [nicwilliams, Tobie Langel]
110
7c86e29 @tobie prototype: Optimize property detection of outerHTML. Avoids triggerin…
tobie authored
111 * Optimize property detection of outerHTML. Avoids triggering FOUC in Safari 3.0.4. Closes #10702. [subimage, Tobie Langel]
112
6f0def1 @tobie prototype: Add document.loaded, a boolean that is set to true once do…
tobie authored
113 * Add document.loaded, a boolean that is set to true once dom:loaded is fired. Setting document.loaded to true before the document is loaded prevents dom:loaded from being fired. [Tobie Langel]
114
b4735bc @tobie prototype: Make Element#insert standard-compliant. Fixes an issue in …
tobie authored
115 * Make Element#insert standard-compliant. Fixes an issue in FF3b2 when inserting HTML or text inside DOM nodes which aren't (yet) appended to the document. [Tobie Langel]
116
f553d22 @tobie prototype: Add some missing semicolons to the source tree. Closes #1…
tobie authored
117 * Add some missing semicolons to the source tree. Closes #10659. [Richard Quadling]
118
c9a0757 @tobie prototype: Ensure Ajax.Response#getHeader returns null for missing he…
tobie authored
119 * Ensure Ajax.Response#getHeader returns null for missing headers in Opera. [Tobie Langel]
120
143b13d @tobie prototype: Allow WEBrick to simulate slow or dropped connections and …
tobie authored
121 * Allow WEBrick to simulate slow or dropped connections and to ease Ajax request inspection. [Tobie Langel]
122
f0d54a4 @tobie prototype: Ensure Ajax.Response#getHeader returns null for missing he…
tobie authored
123 * Ensure Ajax.Response#getHeader returns null for missing headers. [Tobie Langel]
124
5a37860 @tobie prototype: Ensure creates an empty array when its argument's length …
tobie authored
125 * Ensure $A creates an empty array when its argument's length is undefined. Closes #10574. [henryju, Tobie Langel]
126
23f7cb6 @tobie prototype: Fix incorrect variable declaration in Event.fire. Closes #…
tobie authored
127 * Fix incorrect variable declaration in Event.fire. Closes #10329. [rubley]
6f0e0ad @savetheclocktower Handle case-sensitivity in Selector tag names better. Closes #5052. […
savetheclocktower authored
128
c691de7 @savetheclocktower Fix the way Selector handles [pseudoclass + combinator] with no space…
savetheclocktower authored
129 * Fix the way Selector handles [pseudoclass + combinator] with no space in between. Closes #9696. [kangax, fearphage, Andrew Dupont]
130
131 * Optimize Element#up/down/next/previous. Closes #10353. [Dylan Bruzenak, Nick Stackenburg, Andrew Dupont]
cb23962 @savetheclocktower Optimize Element#up/down/next/previous. Closes #10353. [Dylan Bruzena…
savetheclocktower authored
132
6f0e0ad @savetheclocktower Handle case-sensitivity in Selector tag names better. Closes #5052. […
savetheclocktower authored
133 * Handle case-sensitivity in Selector tag names better. Closes #5052. [mexx, Andrew Dupont]
134
804b99f @sstephenson prototype: Bump to 1.6.0.1
sstephenson authored
135 *1.6.0.1* (December 4, 2007)
769ae42 @sstephenson prototype: Ensure that an Ajax.Request's parameters option can be a H…
sstephenson authored
136
4d3ebf0 @savetheclocktower Change document.viewport.getDimensions to exclude scrollbars in all c…
savetheclocktower authored
137 * Change document.viewport.getDimensions to exclude scrollbars in all cases. Closes #10148, #9288. [Nick Stackenburg]
138
ae76169 @savetheclocktower Add logic to Element#getStyle in Opera that fixes inaccurate reportin…
savetheclocktower authored
139 * Add logic to Element#getStyle in Opera that fixes inaccurate reporting of computed 'width' and 'height' properties. [Andrew Dupont]
140
769ae42 @sstephenson prototype: Ensure that an Ajax.Request's parameters option can be a H…
sstephenson authored
141 * Ensure that an Ajax.Request's parameters option can be a Hash. Closes #10172. [kangax, sam]
142
c852854 @savetheclocktower * Ensure no comment nodes are returned in Selector queries (IE improp…
savetheclocktower authored
143 * Ensure no comment nodes are returned in Selector queries (IE improperly returns comment nodes on getElementsByTagName("*")). Change Element#descendants to use Element#getElementsBySelector in order to avoid this issue. Closes #10220. [Jeff Gobel, Andrew Dupont]
144
b01903d @savetheclocktower * Re-enable the XPath approach in Selector for Safari 3. Falls back t…
savetheclocktower authored
145 * Re-enable the XPath approach in Selector for Safari 3. Falls back to the non-XPath version when it sees a problematic token. [Andrew Dupont]
146
26b8033 @savetheclocktower * Fix a bug in the IE-specific Element#descendantOf logic. [Nicholas,…
savetheclocktower authored
147 * Fix a bug in the IE-specific Element#descendantOf logic. [Nicholas, Andrew Dupont]
148
2382304 @tobie prototype: Prevent memory leaks in Ajax.PeriodicalUpdater. Closes #10049
tobie authored
149 * Make Ajax.Updater clone its options hash before modifying it. Prevents memory leaks in Ajax.PeriodicalUpdater. Closes #10049 [Mislav Marohnić, Tobie Langel].
150
c371096 @tobie prototype: Remove useless variable in Selector.handlers.child. Closes…
tobie authored
151 * Remove useless variable in Selector.handlers.child. Closes #10006 [kuriyama]
152
d20cc77 @tobie prototype: Don't redeclare previously declared variables. Closes #10007
tobie authored
153 * Don't redeclare previously declared variables. Closes #10007 [kuriyama]
154
07a1646 @tobie prototype: use Object.isUndefined where possible.
tobie authored
155 * For consistency: use Object.isUndefined where possible. [Tobie Langel]
156
b058e24 @tobie prototype: Make String#isJSON return false for empty or blank strings…
tobie authored
157 * Make String#isJSON return false for empty or blank strings. Make Ajax.Response#responseJSON null when Ajax.Response#responseText is empty or blank. [Andrew Dupont, Thomas Fuchs, Tobie Langel]
158
f8ffe7b @tobie prototype: Make Ajax.Response#_getResponseJSON use Ajax.Response#resp…
tobie authored
159 * Make Ajax.Response#_getResponseJSON use Ajax.Response#responseText. [Tobie Langel]
160
74c005c @tobie prototype: Remove the now redundant forked declaration of Hash#_each.
tobie authored
161 * Remove the forked declaration of Hash#_each. As we are now systematically cloning the object upon instantiation, preventing iteration of shadowed properties is no longer required. [Tobie Langel]
162
0b6a6e2 @tobie prototype: Ensure Event#fire always returns an extended event. Make E…
tobie authored
163 * Performance optimizations for Event#findElement. Make Event#findElement's expression argument optional, in which case the extended target element is returned (same as Event#element). [Tobie Langel]
164
165 * Ensure Event#fire always returns an extended event. [Tobie Langel]
166
5ad3bad @sstephenson prototype: Version bump
sstephenson authored
167 *1.6.0* (November 6, 2007)
b83ae95 @sstephenson prototype: Fix template evaluation with empty replacements. Closes #…
sstephenson authored
168
9b78edb @sstephenson prototype: Fix Class#addMethods for "toString" and "valueOf" methods …
sstephenson authored
169 * Fix Class#addMethods for "toString" and "valueOf" methods in Internet Explorer. Closes #9901. [sam]
170
b14c9af @savetheclocktower Exclude Opera from using the sourceIndex approach in Element#descenda…
savetheclocktower authored
171 * Exclude Opera from using the sourceIndex approach in Element#descendantOf. [Tobie Langel, Andrew Dupont]
172
d6b843c @tobie Ensure Element#hasClassName always returns a boolean. Closes #10075.
tobie authored
173 * Ensure Element#hasClassName always returns a boolean. Closes #10075. [ronnylovtangen, Tobie Langel]
174
8cd85d1 @savetheclocktower Ensure selectors of the form "[href]" (attribute token with no preced…
savetheclocktower authored
175 * Ensure selectors of the form "[href]" (attribute token with no preceding tag name) work properly. Closes #8870. [chao, kangax, Andrew Dupont]
176
7cf17c7 @savetheclocktower Performance optimizations for Element#descendantOf. Costliness should…
savetheclocktower authored
177 * Performance optimizations for Element#descendantOf. Costliness should no longer be dependent on the difference in depth between the parent and the child. [Andrew Dupont]
178
916cbba @madrobby Apply the workaround for the Firefox "blinking element" opacity=1 bug…
authored
179 * Apply the workaround for the Firefox "blinking element" opacity=1 bug only to Firefox 1.5. [Thomas Fuchs]
180
bb66a5e @savetheclocktower Changelog entry for [8037].
savetheclocktower authored
181 * Add event.stopped, a boolean that is set to `true` when Event#stop is called. [Andrew Dupont, sam]
182
18969c5 @sstephenson prototype: Reset the browser's dimensions to their original settings …
sstephenson authored
183 * Reset the browser's dimensions to their original settings after running the DOM viewport tests. [sam]
184
1c5e3fe @sstephenson prototype: Fix the test runner for Firefox in Leopard.
sstephenson authored
185 * Fix the test runner for Firefox in Leopard. [sam]
186
4dece6b @tobie Use String#include wherever possible.
tobie authored
187 * Use String#include wherever possible.
188
16127b0 @tobie prototype: In IE, allow opacity to be set on elements not yet attache…
tobie authored
189 * In IE, allow opacity to be set on elements not yet attached to the document. Closes #9904. [Thomas Fuchs, dcpedit, Tobie Langel]
190
f870fba @tobie prototype: Avoid the try..catch block in Ajax.Response#_getResponseJS…
tobie authored
191 * Avoid the try..catch block in Ajax.Response#_getResponseJSON unless required. [Tobie Langel]
192
0100aee @tobie prototype: Add more tests to Element.update.
tobie authored
193 * Add more tests to Element.update. Closes #9327. [Tobie Langel]
194
44c9d89 @tobie prototype: Make the Ajax.Response#headerJSON property correctly decod…
tobie authored
195 * Make the Ajax.Response#headerJSON property correctly decode unicode characters. Closes #9285. [Marius Feraru, Tobie Langel]
196
827c8c6 @tobie prototype: Prevent a Firefox bug from throwing errors on page load/un…
tobie authored
197 * Make sure Event and Event.extend are defined before wrapping events and calling their handler. Prevents a known Firefox bug from throwing errors on page load/unload (cf.: https://bugzilla.mozilla.org/show_bug.cgi?id=361271). Closes #5393, #9421. [staaky, John Resig, sam, Tobie Langel]
198
ba96fa7 @tobie prototype: Minor cosmetic changes to the display of unit tests in ter…
tobie authored
199 * Minor cosmetic changes to the display of unit tests in terminal. [Tobie Langel]
200
29c0de6 @tobie prototype: Make submitting forms work in Opera < 9.1.
tobie authored
201 * Make submitting forms work in Opera < 9.1. Closes #9917, #9463, #8260. [kangax]
202
b83ae95 @sstephenson prototype: Fix template evaluation with empty replacements. Closes #…
sstephenson authored
203 * Fix template evaluation with empty replacements. Closes #9692. [Ryan McGeary]
e9e1a67 @sstephenson prototype: trunk is now 1.5.2_pre0
sstephenson authored
204
8327ffd @sstephenson prototype: Hash#toTemplateReplacements is an alias for Hash#toObject …
sstephenson authored
205 * Hash#toTemplateReplacements is an alias for Hash#toObject so you can once again pass hashes to Template#evaluate and String#interpolate. [sam]
206
d114e76 @sstephenson prototype: Fix Event#is(Left|Middle|Right)Click in IE. Closes #7520.
sstephenson authored
207 * Fix Event#is(Left|Middle|Right)Click in IE. Closes #7520 (again). [Mislav Marohnić]
208
b83ae95 @sstephenson prototype: Fix template evaluation with empty replacements. Closes #…
sstephenson authored
209 *1.6.0_rc1* (October 16, 2007)
210
aada1ab @savetheclocktower * Ensure Event.* generic methods work in IE, even when the event is n…
savetheclocktower authored
211 * Ensure Event.* generic methods work in IE, even when the event is not extended. [Viktor Kojouharov, Andrew Dupont]
212
bfd5353 @sstephenson prototype: Don't translate "keypress" events into "keydown" events.
sstephenson authored
213 * Don't translate "keypress" events into "keydown" events. [sam]
214 Note: "keypress" is broken in Safari <= 2.x, but Event#stop has no effect on "keydown" events.
215
8d3d6cd @savetheclocktower * Changed Element#makeClipping to remember the original overflow valu…
savetheclocktower authored
216 * Changed Element#makeClipping to remember the original overflow value, even if it's a non-inline style. [Andrew Dupont]
217
3dd7bd5 @sstephenson prototype: Cross-browser Event#isLeftClick with the addition of is(Mi…
sstephenson authored
218 * Cross-browser Event#isLeftClick with the addition of is(Middle|Right)Click. Closes #7520. [Christophe Porteneuve, Richard Quadling, Mislav Marohnić]
219
6cd34be @savetheclocktower * Change Selector to use the non-XPath approach for Safari 3 because …
savetheclocktower authored
220 * Changed Selector to use the non-XPath approach for Safari 3 because of bugs in its version of document.evaluate. [Andrew Dupont]
221
0dd4ba7 @savetheclocktower * Changed the Selector regex that tests whether the selector can be e…
savetheclocktower authored
222 * Changed the Selector regex that tests whether the selector can be expressed in XPath; added :checked, since XPath can't detect all scenarios in which an <input> is checked. Fixes #9776. [StelardActek, kangax, Andrew Dupont]
223
224 * Changed Selector pattern match so that descendant combinators after pseudoclass tokens are properly handled. Fixes #9696. [wiktor, kangax, Andrew Dupont]
88f8d3b @savetheclocktower * Changed Selector pattern match so that descendant combinators after…
savetheclocktower authored
225
865ac01 @tobie prototype: Make sure $w always returns an array.
tobie authored
226 * Make sure $w always returns an array. [Andrew Dupont, Tobie Langel]
227
0632778 @tobie Add more tests to Hash.
tobie authored
228 * Add more tests to Hash. [Mislav Marohnić]
229
941359b @tobie Performance enhancements to . Closes #9464
tobie authored
230 * Performance enhancements to $A. Closes #9464. [Samuel Lebeau]
231
7dda50a @tobie Make Function#argumentNames work with named functions. Closes #9826
tobie authored
232 * Make Function#argumentNames work with named functions. Closes #9826. [Samuel Lebeau]
233
96af1b7 @tobie Add Object.isHash.
tobie authored
234 * Add Object.isHash. [Tobie Langel]
235
d195111 @tobie Performance improvements to String#times.
tobie authored
236 * Performance improvements to String#times. [Martin Ström]
237
db371dd @tobie Make Ajax.Response#getHeaderJSON and Ajax.Response#getResponseJSON ps…
tobie authored
238 * Make Ajax.Response#getHeaderJSON and Ajax.Response#getResponseJSON pseudo private instance methods. [Tobie Langel]
239
e7bb042 @tobie Make ObjectRange use the new Class.create syntax.
tobie authored
240 * Make ObjectRange use the new Class.create syntax. [Mislav Marohnić]
241
242 * Fix a failing ClassCreate test case in IE. [Tobie Langel]
243
d25b863 @tobie Complete rewrite of the Hash class.
tobie authored
244 * Complete rewrite of the Hash class.
245
246 !! BACKWARDS COMPATIBILITY CHANGE !! This new version of Hash is NOT backwards compatible with the former Hash class.
247
248 Properties are now hidden away in an private store to prevent the risk of collision with Hash's instance and mixed-in methods.
249 This implies that properties of the hash can no longer be set, accessed or deleted directly: use the new Hash#get(key), Hash#set(key, value) and Hash#unset(key) instance methods instead.
250
251 - Make $H(object) equivalent to new Hash(object). Both now return a new (cloned) instance of Hash in all circumstances.
252 - Make Hash#merge non-destructive.
253
254 - Add Hash#update (a destructive version of Hash#merge).
255 - Add Hash#clone (returns a new, cloned instance of Hash).
256 - Add Hash#toObject (returns a clone of the contained object).
257 - Add Hash#get(key) (returns the value of the specified property).
258 - Add Hash#set(key, value) (sets the value of the given property. returns the value).
259 - Add Hash#unset(key) (deletes the specified property and returns its value).
260 - Add Hash.from as a alias to $H for consistency with Array.from.
261 - Add Object.toQueryString.
262
263 - Deprecate Hash.toQueryString (use Object.toQueryString or the instance method Hash#toQueryString instead).
264
265 - Remove Hash#remove (use Hash#unset instead).
266 - Remove Hash.toJSON (use Object.toJSON or the instance method Hash#toJSON instead). [sam, Tobie Langel]
267
4607e29 @sstephenson prototype: Element#wrap now returns the wrapper instead of the elemen…
sstephenson authored
268 * Element#wrap now returns the wrapper instead of the element being wrapped. [sam]
269
115d3e4 @sstephenson prototype: Namespace all custom event names to avoid conflicts with n…
sstephenson authored
270 * Namespace all custom event names to avoid conflicts with native DOM events. [sam]
271 - All custom event names MUST include a namespace. Prefix custom event names for observe, stopObserving, and fire with the namespace followed by a colon. E.g. document.fire("widget:activated")
272 - The "contentloaded" event is now "dom:loaded".
273 - The Event.DOMEvents array is no longer present. If an event name does not include a namespace, the event is treated as a native event.
274
c35598c @sstephenson prototype: Clean up the new class API.
sstephenson authored
275 * Clean up the new class API. [sam, Tobie Langel]
276 - Add Class#addMethods for adding instance methods to classes.
277 - Remove Class.extend and Class.mixin.
278 - Class.create now takes a variable number of arguments: if the first argument is a class, the newly created class inherits from that class; all other arguments are treated as successive calls to addMethods.
279
8ca43a5 @sstephenson prototype: Fix contentloaded event initialization in IE. Closes #945…
sstephenson authored
280 * Fix contentloaded event initialization in IE. Closes #9457, #9488, #9707. [Mislav Marohnić]
281
c904fe7 @sstephenson prototype: Deprecate document.getElementsByClassName and Element#getE…
sstephenson authored
282 * Deprecate document.getElementsByClassName and Element#getElementsByClassName since native versions return a NodeList and we can only return an Array. Please use $$ or Element#select instead. [sam]
283 For more information see https://bugzilla.mozilla.org/show_bug.cgi?id=390411
284
cf88669 @sstephenson prototype: Fix missing "var" in selector.js. Closes #9761.
sstephenson authored
285 * Fix missing "var" in selector.js. Closes #9761. [Tobie Langel]
286
4b1fb7e @sstephenson prototype: Date#toJSON now returns times in UTC for better compatibil…
sstephenson authored
287 * Date#toJSON now returns times in UTC for better compatibility with json.js. Closes #9332. [Tobie Langel]
288
8cf1f89 @sstephenson prototype: Ensure document._getElementsByXPath extends the elements i…
sstephenson authored
289 * Ensure document._getElementsByXPath extends the elements it returns; fixes $$ not returning extended elements in Opera 9.2. Closes #8843. [jdalton]
290
291 * Update Prototype.Browser.MobileSafari for iPod touch compatibility. [sam]
292
746a905 @madrobby Add tests for Object.extend and Object.clone.
authored
293 * Add tests for Object.extend and Object.clone. [Tobie Langel]
294
cca235b @madrobby Prototype: Add a test for Form.Observer.
authored
295 * Add a test for Form.Observer. [Christoph Sturm]
296
6c94af7 @madrobby Make sure setting opacity works on elements that have "no layout" in IE.
authored
297 * Make sure setting opacity works on elements that have "no layout" in IE. [Thomas Fuchs]
298
6ed9095 @sstephenson prototype: Simplify Class.create by establishing a prototype chain wh…
sstephenson authored
299 * Simplify Class.create by establishing a prototype chain when subclassing. Closes #9342. [Ben Newman]
300
5d3fd6f @sstephenson prototype: Fix Ajax.PeriodicalUpdater for compatibility with Ajax.Res…
sstephenson authored
301 * Fix Ajax.PeriodicalUpdater for compatibility with Ajax.Response. Closes #9321. [kampers]
302
001b548 @sstephenson prototype: Ensure that classes always have an initialize method.
sstephenson authored
303 * Ensure that classes always have an initialize method. [Mislav Marohnić]
304
6086db4 @sstephenson prototype: Update Template, Selector, Ajax.*, and ObjectRange classes…
sstephenson authored
305 * Update Template, Selector, Ajax.*, and ObjectRange classes to use the new class system. [Mislav Marohnić]
306
75b3f3c @sstephenson prototype: Change Abstract.TimedObserver to subclass PeriodicalExecut…
sstephenson authored
307 * Change Abstract.TimedObserver to subclass PeriodicalExecuter and tweak its subclasses to use new inheritance functionality. TimedObserver can now be stopped the same way as PeriodicalExecuter. Closes #8589. [Mislav Marohnić]
308
bfba40e @sstephenson prototype: Fix Class.mixin to extend the class's prototype.
sstephenson authored
309 * Fix Class.mixin to extend the class's prototype. [Mislav Marohnić]
310
b923d6d @sstephenson prototype: Fix superclass method call breakage from [7337].
sstephenson authored
311 * Fix superclass method call breakage from [7337]. [Mislav Marohnić, sam]
312
702d968 @sstephenson prototype: Change Class.extend to allow for superclass method resolut…
sstephenson authored
313 * Change Class.extend to allow for superclass method resolution and remove Class.inherit. Closes #9274. [Samuel Lebeau]
314
b2f884b @sstephenson prototype: Event handlers are now bound to the observed element, not …
sstephenson authored
315 * Event handlers are now bound to the observed element, not the event's target element. [Dan Webb]
316
aa1a7f5 @madrobby prototype: Define Node constants conditionally after checking for Nod…
authored
317 * Define Node constants conditionally after checking for Node.ELEMENT_NODE presence. Add unit test to check the values of all constants. Closes #7625. [Mislav Marohnić]
318
194fda0 @madrobby prototype: Make sure Enumerable#include doesnt do type comparision. …
authored
319 * Make sure Enumerable#include doesn't do type comparision. [Mislav Marohnić]
320
f86ac77 @madrobby Prototype: Add contextmenu to Event.DOMEvents.
authored
321 * Add contextmenu to Event.DOMEvents. [Thomas Fuchs]
322
1a0f6b3 @madrobby Prototype: update trunk CHANGELOG
authored
323 *1.6.0_rc0* (August 15, 2007)
324
d8b8c65 @sstephenson prototype: Fix readAttribute-related failure in form.html in IE.
sstephenson authored
325 * Fix readAttribute-related failure in form.html in IE. [sam, Andrew Dupont]
326
c27f2de @sstephenson prototype: Fix failing dom.html and selector.html tests in IE.
sstephenson authored
327 * Fix failing dom.html and selector.html tests in IE. [Tobie Langel, Andrew Dupont]
328
c603fc5 @sstephenson prototype: Make sure the WebKit redefinition of Element#cumulativeOff…
sstephenson authored
329 * Make sure the WebKit redefinition of Element#cumulativeOffset uses Element._returnOffset. Closes #9245. [mdaines]
330
11f25aa @sstephenson prototype: Make sure Element#observe is always chainable.
sstephenson authored
331 * Make sure Element#observe and Element#stopObserving are always chainable. [sam]
d2974cf @sstephenson prototype: Make sure Element#stopObserving is always chainable.
sstephenson authored
332
14ea77e @sstephenson prototype: Event.fire/Element#fire now returns the newly-fired event …
sstephenson authored
333 * Event.fire/Element#fire now returns the newly-fired event instead of the event's target element. [sam]
334
d7da841 @sstephenson prototype: Restrict Event.DOMEvents to include only events that can b…
sstephenson authored
335 * Restrict Event.DOMEvents to include only events that can be supported in all browsers. [sam]
336
ffa744e @sstephenson prototype: Fix a failing test in base.html in Safari 2.
sstephenson authored
337 * Fix a failing test in base.html in Safari 2. [Tobie Langel]
338
5f76c25 @madrobby Fix Element#positionedOffset and Element#getOffsetParent for static e…
authored
339 * Fix Element#positionedOffset and Element#getOffsetParent for static elements on IE. [Thomas Fuchs]
340
2fbb490 @sstephenson prototype: Make sure event handlers and their wrappers are removed fr…
sstephenson authored
341 * Make sure event handlers and their wrappers are removed from the cache by Event.stopObserving. [sam, Severin Heiniger]
342
f3d9cb2 @madrobby Add line numbers to failures when unit testing in Firefox. Closes #9…
authored
343 * Add line numbers to failures when unit testing in Firefox. Closes #9231. [John Resig]
344
e75cd0a @sstephenson prototype: Fix Function#argumentNames for IE
sstephenson authored
345 * Fix Function#argumentNames for Opera and IE. [Thomas Fuchs]
220f637 @sstephenson prototype: Fix Function#argumentNames for Opera
sstephenson authored
346
df71a6b @sstephenson prototype: Add Object.isString, Object.isNumber, and Object.isUndefin…
sstephenson authored
347 * Add Object.isString, Object.isNumber, and Object.isUndefined, and clean up the source to make use of Object.isXXX where possible. [sam]
348
ae2ab03 @sstephenson prototype: Add the document.viewport object for querying dimensions a…
sstephenson authored
349 * Add the document.viewport object for querying dimensions and scroll offsets of the browser viewport. [Andrew Dupont, Thomas Fuchs, sam]
350 Example:
351 document.viewport.getDimensions() // { width: 1149, height: 923 }
352 document.viewport.getWidth() // 1149
353 document.viewport.getHeight() // 923
354 document.viewport.getScrollOffsets() // { left: 0, top: 1592 }
355
c488384 @sstephenson prototype: Add support for brackets in quoted attribute value selecto…
sstephenson authored
356 * Add support for brackets in quoted attribute value selectors. Closes #9157. [Ken Snyder]
357
358 * Add some missing semicolons to the source tree. Closes #9140. [jdalton]
359
cbaec75 @madrobby Prototype: Fix event extensions and custom events firing for Safari 2.0
authored
360 * Fix event extensions and custom events firing for Safari 2.0. [Thomas Fuchs]
361
30aa7a6 @sstephenson prototype: Add RegExp.escape for escaping regular expression strings.…
sstephenson authored
362 * Add RegExp.escape for escaping regular expression strings. Closes #9094. [Ken Snyder]
363
aa4602b @sstephenson prototype: Merge -r7242:HEAD from ../branches/1-6-0-events. Adds sup…
sstephenson authored
364 * Make the eventName and handler arguments to Event.stopObserving optional. If no handler is specified, all handlers for the given event are unregistered. If no event name is specified, all observed events on the element are unregistered. [sam]
365
366 * Add cross-support for the DOMContentLoaded event through a Prototype custom event on document called "contentloaded". The DOMContentLoaded event fires before window.load, when the entire HTML document, but not necessarily its images, stylesheets or other assets, has loaded. Based on [6596]. [sam, Mislav Marohnić]
367 Example:
368 document.observe("contentloaded", function() {
369 $$("a").invoke("identify"); // give all <a> tags an ID
370 });
371
372 * Add Event.fire and Element.Methods.fire for firing custom events. Prototype custom events piggyback on a real DOM event ("ondataavailable"), so they bubble and cancel. You can fire custom events from any element, or fire global events on the document object. Observe custom events just as you'd observe a regular DOM event. [sam, Seth Dillingham]
373
374 * Extend the event object with methods from Event.Methods and normalize it in IE. [sam, Mislav Marohnić]
375
376 * Remove support for observing the capturing phase of DOM events, since we can't support it in all browsers. [sam]
377
52cf3f2 @sstephenson prototype: Merge -r7016:HEAD from ../branches/ajax. Add Ajax.Response…
sstephenson authored
378 * Add Ajax.Response object which supports the following methods: responseJSON, headerJSON, getHeader, getAllHeaders and handles browser discrepancies in the other response methods. Add sanitizeJSON, evalJS and evalJSON to Ajax.Request. Closes #8122, #8006, #7295. [Tobie Langel]
379
380 * Add an isRunningFromRake property to unit tests. [Tobie Langel]
381
382 * Add support for Opera browser in jstest.rb. [Tobie Langel]
383
281ac64 @sstephenson prototype: Merge -r6792:HEAD from ../branches/inheritance/{src/base.j…
sstephenson authored
384 * Inheritance branch merged to trunk; robust inheritance support for Class.create. Closes #5459. [Dean Edwards, Alex Arnell, Andrew Dupont, Mislav Mahronic]
385 - To access a method's superclass method, add "$super" as the first argument. (The naming is significant.) Works like Function#wrap.
386 - Class.create now takes two optional arguments. The first is an existing class to subclass; the second is an object literal defining the instance properties/methods. Either can be omitted. Backwards-compatible with old Class.create.
387 - Added Class.extend for dynamically adding methods to existing classes (while preserving inheritance chain). Can also be used for mixins.
388 - The 'constructor' property of a class instance always points back to the proper class. Class objects themselves have two special properties: 'superclass' and 'subclasses' (which default to 'null' and '[]', respectively). Allows for powerful introspection.
389 - Added Object.isFunction [sam]
390
90c9c69 @sstephenson prototype: Add Function#argumentNames, which returns an ordered array…
sstephenson authored
391 * Add Function#argumentNames, which returns an ordered array of the function's named arguments. [sam]
392
52cf3f2 @sstephenson prototype: Merge -r7016:HEAD from ../branches/ajax. Add Ajax.Response…
sstephenson authored
393 * Prevent a crash in Safari 1.3 on String#stripScripts and String#extractScripts. Closes #8332. [grant, Tobie Langel]
394
5645a07 @sstephenson prototype: Add Prototype.Browser.MobileSafari which evaluates to true…
sstephenson authored
395 * Add Prototype.Browser.MobileSafari which evaluates to true on the iPhone's browser. [sam]
396
82bedce @sstephenson prototype: Optimize Selector#match and Element#match for simple selec…
sstephenson authored
397 * Optimize Selector#match and Element#match for simple selectors. Closes #9082. [Andrew Dupont]
398
a529bcf @sstephenson prototype: Remove the dependency on Element.ClassNames from Element#a…
sstephenson authored
399 * Remove the dependency on Element.ClassNames from Element#addClassName/removeClassName/toggleClassName, and deprecate Element.ClassNames. Closes #9073. [Tobie Langel]
400
c0735db @sstephenson prototype: Make Element#wrap accept a second argument for setting att…
sstephenson authored
401 * Make Element#wrap accept a second argument for setting attributes on the wrapper. Allow wrapping elements which are not part of the document. Closes #9071. [Tobie Langel]
402
44ef748 @sstephenson prototype: Improvements for Element#replace, Element#update and Eleme…
sstephenson authored
403 * Improvements for Element#replace, Element#update and Element#insert. Closes #7429, #9060. [Tobie Langel]
404 - Element#replace/update/insert uses the argument's toElement or toHTML method if present (toElement has precedence if both are present).
405 - Element#replace and Element#update now also accept DOM elements.
406 - Element#replace better handles table-related elements in IE and Opera.
407
408 * Add Object.isArray and Object.isElement (returns true if the object is a DOM node of type 1). [Tobie Langel]
409
410 * Add Object.toHTML (uses the object's toHTML method if present or else passes the object to String.interpret). [Tobie Langel]
411
7b2ce66 @sstephenson prototype: Make Element#setStyle accept a string argument of CSS rule…
sstephenson authored
412 * Make Element#setStyle accept a string argument of CSS rules. Deprecate uncamelized style property names when setting styles using an object (for performance reasons). Closes #9059. [Tobie Langel]
413 Examples:
414 $('id').setStyle('font-size: 12px; float: left; opacity: 0.5');
415 $('id').setStyle({fontSize: '12px', cssFloat: 'left', opacity: 0.5});
416
417 !! BACKWARDS COMPATIBILITY CHANGE !!
418
419 If you have code that looks like this:
420 $('id').setStyle({'font-size': '12px'});
421 You need to replace it with either of the following:
422 $('id').setStyle({fontSize: '12px'});
423 $('id').setStyle('font-size: 12px;');
424
c6f3daa @sstephenson prototype: Add Element#identify, which returns the element's ID if it…
sstephenson authored
425 * Add Element#identify, which returns the element's ID if it exists, or sets and returns a unique, auto-generated ID (of the form "anonymous_element_" + auto-incremented digit) otherwise. Use this when you need to ensure an element has an ID. Closes #9012. [Jeff Watkins, sam, Tobie Langel]
426
7e6481b @sstephenson prototype: Make Element#readAttribute work for cloned elements in IE.…
sstephenson authored
427 * Make Element#readAttribute work for cloned elements in IE. Closes #8481. [chem, Tobie Langel]
428
ff45622 @sstephenson prototype: Template enhancements. Closes #8166.
sstephenson authored
429 * Template enhancements. Closes #8166. [Christophe Porteneuve]
430 - Added String#interpolate as a shortcut for new Template(...).evaluate(...).
431 - If you pass String#interpolate or Template#evaluate an object with a toTemplateReplacements() method, the return value of that method will be used as the replacement object.
432 - You can now substitute properties of template replacement values in template strings, using dot or bracket notation (or both). Example:
433 "#{name.last}, #{name.first[0]}. (#{location})".interpolate({
434 name: { first: "Christophe", last: "Porteneuve" }, location: "Paris"
435 }) // "Porteneuve, C. (Paris)"
436
437 * Extended grep semantics. The first argument to Enumerable#grep is now a "filter" (an object with a match() method) so you can now e.g. filter an array of DOM nodes by CSS selector. RegExp#match is now an alias to RegExp#test, so grep can still be used to filter an array of strings with a regular expression. Closes #7596. [Christophe Porteneuve, sam]
b59399b @sstephenson prototype: Extended grep semantics. The first argument to Enumerable…
sstephenson authored
438
38fa39a @sstephenson prototype: Make String#scan explicitly return a string. Closes #6350.
sstephenson authored
439 * Make String#scan explicitly return a string. This prevents possible issues with methods expecting input data that is typeof == 'string'. Closes #6350. [AndrewRev, Tobie Langel]
440
513042d @madrobby Add Array#intersect for set intersection. Returns a new array contain…
authored
441 * Add Array#intersect for set intersection. Returns a new array containing all items common to the array and the argument, with duplicates removed (clone of the Ruby & method). [Thomas Fuchs]
442 Example:
443 [1,1,3,5].intersect([1,2,3]) -> [1,3]
444
cea24d6 @madrobby Prototype: Rename Element#getElementsBySelector to Element#select and…
authored
445 * Rename Element#getElementsBySelector to Element#select and add alias for Element#getElementsBySelector. [Thomas Fuchs]
446
447 * Add Element#adjacent as a shortcut to selecting all adjacent nodes (and their children) that match a CSS selector. [Thomas Fuchs]
448
1c17b63 @sstephenson prototype: Enhance the Enumerable and Array APIs to more closely matc…
sstephenson authored
449 * Enhance the Enumerable and Array APIs to more closely match those of JavaScript 1.6 as implemented in Firefox 1.5. Closes #6650, #8409. [Mislav Marohnić, Sylvain Zimmer]
450 - Add Array#lastIndexOf, and change Array#indexOf not to overwrite the native method.
451 - Make Enumerable use Array.prototype.forEach instead of _each when possible (slight speed increase).
452 - Add "filter", "entries", "every", and "some" Array aliases.
453 - All Enumerable methods now have an additional parameter, "context", which, if present, specifies the object to which the iterators' "this" is bound.
454 - Function#bind and #curry now return the receiving function if the binding object is undefined.
455
29cd62e @sstephenson prototype: Temporary workaround for Prototype.BrowserFeatures.Specifi…
sstephenson authored
456 * Temporary workaround for Prototype.BrowserFeatures.SpecificElementExtensions incorrectly evaluating to true on iPhone. (needs further investigation) [sam]
457
9e7efd5 @madrobby Prototype: merges from form branch. Closes #5031, #5902, #7595, #840…
authored
458 * The action for Form#request defaults to the current URL if the "action" attribute is empty. (This is what most of the major browsers do.) Fixes #8483. [Tomas, Mislav Marohnić]
459
460 * In form serialization, change the way submit buttons are handled. Previously all submit buttons were serialized; now Prototype serializes only the first one. Change Form#serialize and Form.serializeElements to accept a params hash. With the "hash: false" option, a serialized string is returned instead of the hash data object. With the "submit: 'foo'" option, only the submit button with the name "foo" is serialized. References #5031. [Mislav Marohnić]
461 Examples:
462 $('form').serialize({ submit: 'delete' })
463 $('form').serialize({ hash: false }) //-> equivalent to $('form').serialize()
464
465 * Form#findFirstElement respects HTML tabindexes. Closes #7595. [Christophe Porteneuve]
466
467 * Added Form.Element#setValue method for setting values on various form controls. Checkboxes and radio buttons respond to a boolean and multiple select boxes expect an array of values. Closes #5902. [Jonathan Viney, Mislav Marohnić]
468 Examples:
469 $('text_input').setValue('hello world!')
470 $('remember_me').setValue(true)
471 $('attend_classes').setValue(['cheese rolling', 'evil chemistry'])
472
f2d304b @sstephenson prototype: Merge [7066] from branches/1-5-1-1
sstephenson authored
473 * Make document.getElementsByClassName match a subset of 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 a whitespace-separated list in a string. Array argument is not supported. 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 Marohnić]
d6bf5e4 @sstephenson prototype: Make document.getElementsByClassName match a subset of the…
sstephenson authored
474 Example:
03ae9dd @madrobby * Make document.getElementsByClassName match the WHATWG Web Applicati…
authored
475 document.getElementsByClassName('foo bar')
476
1b8ef5a @madrobby Fix a Safari rendering issue when floating elements could temporarily…
authored
477 * Fix a Safari rendering issue when floating elements could temporarily disappear when opacity was set to 1. Closes #7063. References #3044, #3813, #6706. [Thomas Fuchs, davidjrice]
9ff57b0 @madrobby Prevent a crash in Safari when calling String#evalJSON(true) on very …
authored
478
1b8ef5a @madrobby Fix a Safari rendering issue when floating elements could temporarily…
authored
479 * Prevent a crash in Safari when calling String#evalJSON(true) on very large strings. Add String#isJSON. Closes #7834. [Tobie Langel]
1e13c1d @madrobby Prototype: Prevent a crash in Safari 1.3 on String#stripScripts and S…
authored
480
1b8ef5a @madrobby Fix a Safari rendering issue when floating elements could temporarily…
authored
481 * Prevent a crash in Safari 1.3 on String#stripScripts and String#extractScripts. Closes #8332. [grant, Tobie Langel]
482
483 * Allow JSON data to contain line breaks. Closes #8271. [pijyster, Tobie Langel]
1e13c1d @madrobby Prototype: Prevent a crash in Safari 1.3 on String#stripScripts and S…
authored
484
51bb86d @madrobby Add Hash.prototype.index which returns the first found property that …
authored
485 * Add Hash.prototype.index which returns the first found property that has a specific value. Closes #8528. [Thomas Fuchs, slusarz, Mislav Marohnić]
486 Examples:
487 var hash = $H({a:1,b:'2'});
488 hash.index(1) // -> 'a'
489 hash.index('1') // -> undefined
490
ae2ea8a @sstephenson prototype: Ensure HTMLElement exists before creating Element.extend.
sstephenson authored
491 * Ensure HTMLElement exists before creating Element.extend. [Tobie Langel]
492
86118c3 @madrobby Prototype: Add Number.prototype.round/ceil/floor/abs as an aliases to…
authored
493 * 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]
0c7bac1 @madrobby Prototype: Make Element#absolutize and Element#relativize properly us…
authored
494
86118c3 @madrobby Prototype: Add Number.prototype.round/ceil/floor/abs as an aliases to…
authored
495 * Make Element#absolutize and Element#relativize properly use Element#getStyle. Closes #8580. [Christophe Porteneuve]
225597c @madrobby Prototype: Add Number.prototype.round as an alias to Math.round(). […
authored
496
431dd4e @madrobby Prototype: Test library fixes: make rake dist work on Windows, only t…
authored
497 * Test library fixes: make rake dist work on Windows, only teardown if a browser is supported. Closes #8463, #8498. [Mislav Marohnić, grant]
498
d4d4fdd @madrobby Prototype: Change Element.insert syntax to allow multiple positions.
authored
499 * Change Element.insert syntax to allow multiple positions. [Thomas Fuchs]
500 Examples:
501 Element.insert('foo', {top:'bar', bottom:'baz'});
502 $('foo').insert({after: new Element('p').update('bar')});
503 Element.insert('foo', new Element('p').update('bar')); // defaults to bottom
504 Element.insert('foo', 'bar'); // defaults to bottom
505
4cafec8 @madrobby Prototype: String.prototype.truncate now explicitly converts its retu…
authored
506 * 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'. [Thomas Fuchs, Tobie Langel, Sam Stephenson]
507
b61bca1 @sstephenson prototype: Event.findElement behaves as expected when the element pas…
sstephenson authored
508 * Event.findElement behaves as expected when the element passed matches the given selector. Closes #8395. [Mislav Marohnić, Tobie Langel]
509
f099e67 @madrobby Element.setOpacity now calls removeAttribute on the filter style on I…
authored
510 * Element.setOpacity now calls removeAttribute on the filter style on IE if no more filters remain, which makes Cleartype work properly. Closes #8376. [alexdemi, Thomas Fuchs]
511
55b658a @sstephenson prototype: Event.findElement now uses Element#up (and as a result can…
sstephenson authored
512 * Event.findElement now uses Element#up (and as a result can take a CSS selector instead of just a tag name). [Tobie Langel]
513
a8a19eb @sstephenson prototype: Minor cleanup of the position methods
sstephenson authored
514 * Minor cleanup of the position methods [sam]
515
7d2ae29 @sstephenson prototype: Fix Element#clonePosition to call Element#viewportOffset. …
sstephenson authored
516 * Fix Element#clonePosition to call viewportOffset. Closes #8372. [graemenelson, Christophe Porteneuve]
517
beeb12e @sstephenson prototype: Prevent an error being thrown by $$ when #id does not exis…
sstephenson authored
518 * Prevent an error being thrown by $$ when #id does not exist in $$("div #id"). Closes #8325. [Tobie Langel, ecke]
519
a7a0edd @madrobby Make Prototype.ScriptFragment behave when including Prototype inline.
authored
520 * Make Prototype.ScriptFragment behave when including Prototype inline. [Christophe Porteneuve]
521
5e356c3 @sstephenson prototype: Update CHANGELOG
sstephenson authored
522 * Deprecate Position (kept for backwards compatibility). Add Element#cumulativeOffset, Element#positionedOffset, Element#absolutize, Element#relativize, Element#cumulativeScrollOffset, Element#getOffsetParent, Element#viewportOffset and Element#clonePosition. [Christophe Porteneuve]
523
83b4b33 @sstephenson Merge -r6634:HEAD from ../branches/dom.
sstephenson authored
524 * Make Element#update and Element#insert work for SELECT tags in IE and Opera. [Tobie Langel]
525
526 * Make Element#insert and Element#update better handle TABLE related elements in IE and Opera. Closes #7776, #8040, #7550, #7776, #7938. [Tobie Langel]
527
528 * Make Element#readAttribute('title') work in Opera. [Tobie Langel]
529
530 * Make Element#replace work with form elements in Firefox and Safari. Closes #8010, #7989. [dsl239, Tobie Langel]
531
532 * Add Element#wrap which wraps the element inside a new one. Closes #5732. [P. Vande, Tobie Langel]
533
534 * 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]
535
93c43b9 @sstephenson prototype: Update CHANGELOG to reflect preferred capitalization for E…
sstephenson authored
536 * 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]
83b4b33 @sstephenson Merge -r6634:HEAD from ../branches/dom.
sstephenson authored
537
67a4d00 @sstephenson prototype: Refactor Element.extend and eliminate Element.extend.cache.
sstephenson authored
538 * Refactor Element.extend and eliminate Element.extend.cache. [sam]
539
562e61f @sstephenson prototype: Add Function#curry, Function#delay, Function#defer, and Fu…
sstephenson authored
540 * Add Function#curry, Function#delay, Function#defer, and Function#wrap. Closes #8134. [Andrew Dupont, Tobie Langel, sam]
541
f457c98 @sstephenson prototype: Merge -r6639:HEAD from branches/rel_1-5-1 into trunk.
sstephenson authored
542 *1.5.1* (May 1, 2007)
543
544 * Don't duplicate the event argument in Function#bindAsEventListener. Closes #6497. [wiktor]
545
546 * Fix Selector :not-clause chaining. [Andrew Dupont]
95df0a7 @sstephenson prototype: Prepare for 1.5.1 release.
sstephenson authored
547
c580aea @sstephenson prototype: 1.5.1_rc4
sstephenson authored
548 *1.5.1_rc4* (April 27, 2007)
1886b03 @sstephenson prototype: Fix Element#readAttribute to work with the 'type' attribut…
sstephenson authored
549
d6c7cd9 @sstephenson prototype: Fix $F breakage from [6598].
sstephenson authored
550 * Fix $F breakage from [6598]. [sam]
551
8a382ff @sstephenson prototype: Set window.$continue to an Error with a helpful message fo…
sstephenson authored
552 * Set window.$continue to an Error with a helpful message for anyone who may still be using "throw $continue". [sam]
553
310b3ec @sstephenson prototype: Fix jstest.rb IE support so you don't have to close the IE…
sstephenson authored
554 * Fix jstest.rb IE support so you don't have to close the IE window after each test (yay!). Closes #8207. [Ryan Schuft]
555
b360a93 @sstephenson prototype: Fix jstest.rb Konqueror support. Closes #7140.
sstephenson authored
556 * Fix jstest.rb Konqueror support. Closes #7140. [Christophe Porteneuve]
557
b76d34e @sstephenson prototype: Fix regression in which no-argument calls to Element.addMe…
sstephenson authored
558 * 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. [Tobie Langel, fwittekind]
559
1886b03 @sstephenson prototype: Fix Element#readAttribute to work with the 'type' attribut…
sstephenson authored
560 * Fix Element#readAttribute to work with the 'type' attribute in IE. Closes #8160. [Tobie Langel, Wiktor Ihárosi]
561
562 *1.5.1_rc3* (April 24, 2007)
fc91a3e @madrobby Fix an issue with String.prototype.endsWith. Closes #7822. [altblue]
authored
563
47bfeb5 @sstephenson prototype: Add Element#childElements as an alias for Element#immediat…
sstephenson authored
564 * Add Element#childElements as an alias for Element#immediateDescendants. [Tobie Langel]
565
5784d78 @sstephenson prototype: Add Element#firstDescendant to retrieve the first non-text…
sstephenson authored
566 * Optimize DOM navigation methods (Element#up, Element#down, Element#previous, Element#next) for no-argument calls. Closes #7848. [haraldmartin, sam]
567
568 * Add Element#firstDescendant to retrieve the first non-text child node of an element. [sam]
569
63342b9 @sstephenson prototype: Element.addMethods should add methods to Element as well a…
sstephenson authored
570 * Element.addMethods should add methods to Element as well as Element.Methods. Closes #7888. [Andrew Dupont]
571
7a324b8 @sstephenson prototype: Add support for per-request onCreate callbacks to Ajax.Req…
sstephenson authored
572 * Add support for per-request onCreate callbacks to Ajax.Request. Closes #8011. [Andrew Dupont]
573
4174060 @sstephenson prototype: Don't call evalResponse() when an Ajax response has no Con…
sstephenson authored
574 * Don't call evalResponse() when an Ajax response has no Content-type header. Closes #7827. [Tobie Langel]
575
fea6bc1 @sstephenson prototype: Automatically strip security delimiter comments from JSON …
sstephenson authored
576 * 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. [Tobie Langel]
577 For more details on potential security problems, see: http://www.fortifysoftware.com/servlet/downloads/public/JavaScript_Hijacking.pdf
578
643b7be @sstephenson prototype: Add extra spacing so Array#toJSON and Hash#toJSON generate…
sstephenson authored
579 * Add extra spacing so Array#toJSON and Hash#toJSON generate YAML-loadable JSON. Closes #7883. [Andrew Dupont]
580
95ac141 @madrobby Fix Form.request for forms containing an input element with name="act…
authored
581 * Fix Form.request for forms containing an input element with name="action". Closes #8063. [Thomas Fuchs, Mislav Marohnić]
582
583 * Make Event.element extend the returned element. Closes #7870. [Thomas Fuchs]
584
68f3b21 @madrobby Fix a CHANGELOG typo
authored
585 * Prevent a crash on Safari on String.prototype.stripScripts and extractScripts with large <script> tags. [Thomas Fuchs]
4c90be6 @madrobby Prevent a crash on Safari on String.prototype.stripScripts and extrac…
authored
586
c0509c7 @madrobby Prototype: clean (un)escapeHTML IE special casing and optimize speed …
authored
587 * Prevent linefeed normalisation in String.prototype.escapeHTML and unescapeHTML on IE for consistency with other browsers. Speed optimizations for Safari and IE. [Thomas Fuchs]
9a7dcd5 @madrobby Prevent linefeed normalisation in String.prototype.escapeHTML and une…
authored
588
5f2acb4 @madrobby Make Hash.toQueryString serialize undefined values. Ensure consistenc…
authored
589 * Make Hash.toQueryString serialize undefined values. Ensure consistency with String.prototype.toQueryParams. Closes #7806. [Mislav Marohnić]
590 Examples:
591 $H({a:'b',c:undefined}).toQueryString() -> 'a=b&c'
592 $H({a:'b',c:null}).toQueryString() -> 'a=b&c='
593 $H('a=b&c'.toQueryParams()).toQueryString() -> 'a=b&c'
594 $H('a=b&c='.toQueryParams()).toQueryString() -> 'a=b&c='
595
4506db2 @madrobby Fix Selector issues with :not and attribute selector double quotes, f…
authored
596 * Fix issues with Selector an+b logic, :not support, attribute selector double quotes, plus performance improvements. Closes #7873, #7901. [Andrew Dupont]
779cd33 @madrobby Fix issues with Selector an+b logic, performance improvements. Close…
authored
597
db2ee67 @madrobby Fix Form.disable to work again on non-form elements. Closes #6887. …
authored
598 * Fix Form.disable to work again on non-form elements. Closes #6887. [Mislav Marohnić]
599
fc91a3e @madrobby Fix an issue with String.prototype.endsWith. Closes #7822. [altblue]
authored
600 * Fix an issue with String.prototype.endsWith. Closes #7822. [altblue]
601
63985a2 @sstephenson prototype: 1.5.1_rc2
sstephenson authored
602 *1.5.1_rc2* (March 12, 2007)
881b7dc @madrobby Prototype: Fix Element.Methods.descendants() to properly extend eleme…
authored
603
cb1ad0e @sstephenson prototype: Add a tab character via innerHTML to the selector whitespa…
sstephenson authored
604 * Add a tab character via innerHTML to the selector whitespace test. [Christophe Porteneuve]
605
606 * Add an attribution to YUI-Ext's DomQuery in selector.js.
607
d17521f @madrobby Missed ticket #
authored
608 * Make Element.extend work on IE for Nodes with the same ID that where discarded. Closes #7497. [Mislav Marohnić, Thomas Fuchs]
e9501d6 @madrobby Make Element.extend work on IE for Nodes with the same ID that where …
authored
609
b2845e4 @madrobby Prototype: Make Selector correctly extend the first element it return…
authored
610 * Make Selector correctly extend the first element it returns on IE. [Thomas Fuchs]
611
a6984e6 @madrobby Prevent a crash in Safari when using $A() on NodeList objects that co…
authored
612 * Prevent a crash in Safari when using $A() on NodeList objects that contain text nodes. [Thomas Fuchs]
613
881b7dc @madrobby Prototype: Fix Element.Methods.descendants() to properly extend eleme…
authored
614 * Fix Element.Methods.descendants() to properly extend elements on IE. [Thomas Fuchs]
615
811fb86 @sstephenson prototype: 1.5.1_rc1: Fix readAttribute for IE7.
sstephenson authored
616 *1.5.1_rc1* (March 9, 2007)
617
618 * Fix readAttribute for IE7. [Andrew Dupont]
619
94cfdd3 @sstephenson prototype: 1.5.1_rc0
sstephenson authored
620 *1.5.1_rc0* (March 8, 2007)
ce639c2 @sstephenson prototype: Update HEADER to reflect new URL.
sstephenson authored
621
00bce41 @sstephenson prototype: Merge the selector branch into trunk, bringing vast perfor…
sstephenson authored
622 * Merge the selector branch into trunk, bringing vast performance improvements, bug fixes, and near-complete CSS3 compliance to $$ and Selector. Closes #7568. [Andrew Dupont]
623 Selector speed test: http://andrewdupont.net/test/double-dollar/
624
f160bc4 @sstephenson prototype: Add support for JSON encoding and decoding. Closes #7427.
sstephenson authored
625 * Add support for JSON encoding and decoding. Closes #7427. [Tobie Langel]
626
f281192 @sstephenson prototype: Fix double escaping of query parameters in Hash.prototype.…
sstephenson authored
627 * Fix double escaping of query parameters in Hash.prototype.toQueryString, and prevent Safari from iterating over shadowed properties when creating hashes. Closes #7421. [Tobie Langel, Mislav Marohnić]
628
752eebd @madrobby Prototype: Fix simulated attribute reading for IE for "href", "src" a…
authored
629 * Fix simulated attribute reading for IE for "href", "src" and boolean attributes. [Mislav Marohnić, Thomas Fuchs]
630
a9ec091 @madrobby Prototype: Form.Element.disable() will now call blur(), removed blur(…
authored
631 * Form.Element.disable() will now call blur(), removed blur() call from Form.Element.enable(). Closes #6034. [tdd]
632
fcc23f0 @madrobby Optimize document.getElementsByClassName and finalize DOM performance…
authored
633 * Optimize document.getElementsByClassName and finalize DOM performance optimization refactoring. Closes #6696. [Mislav Marohnić]
634
635 * Fix an issue with serializing empty array inputs. Closes #7516. [stakadush, Mislav Marohnić]
ebd3351 @madrobby Fix an issue with serializing empty array inputs, fixes #7516, merges…
authored
636
637 * Add optional third parameter "camelized" to Element.setStyle, for optimized performance if style names are known to be camelCased. [Thomas Fuchs]
aa7ba0d @madrobby Prototype: Add optional third parameter "camlized" to Element.setStyl…
authored
638
94d8333 @sstephenson prototype: Fix a bug in the simulated hasAttribute for IE due to getA…
sstephenson authored
639 * Fix a bug in the simulated hasAttribute for IE due to getAttributeNode sometimes returning null. [sam]
640
60bb068 @madrobby Prototype: Optimize Element.getStyle and add new Element.getOpacity m…
authored
641 * Optimize Element.getStyle and add new Element.getOpacity method. Special case IE and Opera getStyle methods. Closes #7648. [Tobie Langel, Thomas Fuchs]
642
80f6f40 @madrobby Prototype: Optimize Element.setStyle and add new Element.setOpacity m…
authored
643 * Optimize Element.setStyle and add new Element.setOpacity method, special case IE and Gecko opacity methods. Closes #7585. [savetheclocktower]
644
d148193 @madrobby Prototype: Add unified Browser detection by providing Prototype.Brows…
authored
645 * Add unified Browser detection by providing Prototype.Browser.(IE|Gecko|WebKit|Opera) booleans. Closes #6800. [savetheclocktower]
646
5224f0f @madrobby Prototype: Add String.prototype.empty and String.prototype.blank (tes…
authored
647 * Add String.prototype.empty and String.prototype.blank (tests if empty or whitespace-only). Closes #7016. [Jonathan Viney, Thomas Fuchs]
648
ab59de3 @madrobby Prototype: Update README to reflect new URLs, update LICENSE copyrigh…
authored
649 * Update README to reflect new URLs, update LICENSE copyright years. Closes #7426. [Tobie Langel]
650
6eca3f0 @sstephenson prototype: Array.prototype.uniq optimization. Closes #7417.
sstephenson authored
651 * Array.prototype.uniq optimization. Closes #7417. [Christophe Porteneuve]
652
74596ac @sstephenson prototype: String.prototype.endsWith should not fail on multiple occu…
sstephenson authored
653 * String.prototype.endsWith should not fail on multiple occurrences. Closes #7416. [Christophe Porteneuve]
654
343eae8 @sstephenson prototype: Add Form.Methods.request as a convenience method for seria…
sstephenson authored
655 * Add Form.Methods.request as a convenience method for serializing and submitting a form via Ajax.Request to the URL in the form's action attribute. [sam]
656
657 Options passed to request() are intelligently merged with the underlying Ajax.Request options:
658 - If the form has a method attribute, its value is used for the Ajax.Request method option. If a method option is passed to request(), it takes precedence over the form's method attribute. If neither is specified, method defaults to "post".
659 - Key/value pairs specified in the parameters option (either as a query string or as a hash) will be merged with (and take precedence over) the serialized form parameters.
660
7044da8 @sstephenson prototype: Fix $(form).serialize() in Safari and add support for exte…
sstephenson authored
661 * Fix $(form).serialize() in Safari and add support for extending specific tags to Element.addMethods. Closes #7358. [Andrew Dupont]
662
5345085 @sstephenson prototype: Add String.prototype.startsWith, String.prototype.endsWith…
sstephenson authored
663 * Add String.prototype.startsWith, String.prototype.endsWith, and String.prototype.include. Closes #7075. [Tobie Langel]
664
c556c89 @sstephenson prototype: Improve performance of String.prototype.escapeHTML by usin…
sstephenson authored
665 * Improve performance of String.prototype.escapeHTML by using a cached div and text node. Closes #6937. [altblue]
666
8ea007d @madrobby Prototype: Make setStyle() with opacity: 0 in Internet Explorer work …
authored
667 * Make setStyle() with opacity: 0 in Internet Explorer work correctly. [Thomas Fuchs]
668
8490189 @sstephenson prototype: Form.Element.activate shouldn't raise an exception when th…
sstephenson authored
669 * Form.Element.activate shouldn't raise an exception when the form or field is hidden. [sam]
670
c89875c @sstephenson prototype: Remove support for "throw $continue" in Enumerable. Use "…
sstephenson authored
671 * Remove support for "throw $continue" in Enumerable. Use "return" instead. [sam]
672
ce639c2 @sstephenson prototype: Update HEADER to reflect new URL.
sstephenson authored
673 * Update HEADER to reflect new URL. [sam]
674
3c89b25 @sstephenson prototype: Add release date to CHANGELOG
sstephenson authored
675 *1.5.0* (January 18, 2007)
bb4d189 @sstephenson prototype: Reorganize the source tree.
sstephenson authored
676
677 * Add test to ensure Content-type header is set for simulated verbs. [sam]
678
679 * Fix Content-Type header for HTTP methods simulated with POST not defaulting to application/x-www-form-urlencoded. [Thomas Fuchs]
680
681 * Simplify form serialization and add support for fields with the same name as Hash methods. Closes #6649. [Mislav Marohnić]
682
683 * Fix attribute selectors for IE. Closes #5170. [Tobie Langel, Andrew Dupont]
684
685 * A slew of dom.js improvements. Closes #4217, #6589, #7001. [Tobie]
686 - Fix Element.getDimensions() for hidden elements, make Element.getHeight() use .getDimensions()
687 - Add Element.getWidth()
688 - Make Element.replace() call .toString() on the html argument (alike .update())
689 - Fix an issue with Element.get/setStyle() and Safari with 'float'
690 - Add a bunch of missing unit tests
691
692 * Fix an issue with Element.setStyle({opacity:''}) setting the opacity to 0 instead of removing the set inline opacity style. [Thomas Fuchs]
693
694 * Ensure Ajax.Request's evalResponse is called before onComplete so that onComplete can reference any elements created during the response. Closes #6727. [jonathan]
695
696 * Ensure the WEBrick test runner sets the correct Content-Type for tests and fixtures. [sam]
697
698 * Form.serialize once again works with non-form elements. This is a temporary change to prevent the Rails link_to_remote regression described in #6898. Prototype 1.5.1 will introduce an API for working with collections of arbitrary form elements. References #6887. Closes #6898. [sam]
699
700 * Make selectors match forms that have an element with name="id" correctly, fixes #5759 [mislav]
701
702 * Remove support for HTTP authorization in Ajax calls introduced with #6366. Closes #6638 [jmecham]
703
704 * Add Enumerable.size() to count elements in an enumerable and the corresponding Array.size() method, fixes #6710 [ZenCocoon]
705
706 * Add String.succ() method to allow for String ranges, fixes #6037 [Cory Hudson, mislav]
707 Examples:
708 'abcd'.succ(); -> 'abce'
709 $R('a','d').map(function(char){ return char; }); -> ['a','b','c','d']
710
711 * Make Element.scrollTo() correctly consider offsets of parent DOM nodes, fixes #6625 [ohader, savetheclocktower]
712
713 * Fix Enumerable.inGroupsOf() to correctly work with fill values that evaluate to false, fixes #6782 [hawk]
714
715 * Remove/cleanup redundant $() calls in dom.js, fixes #6817 [Tobie]
716
717 * Don't cache files in automatic unit tests, fixes #6218 [voidlock]
718
719 * Add $w() to easily create arrays from strings like Ruby's %w, fixes #5682 [glazedginger, brendon.aaron]
720
721 * Add Element.toggleClassName() to toggle CSS classes on elements, fixes #6759 [Tobie]
722
723 * Make Form.getInputs always return an array for consistency, fixes #6475 [Justin Gehtland, savetheclocktower]
724
725 * Make TimedObserver work correctly for SELECT MULTIPLE elements, fixes #6593 [clemos, tdd]
726
727 * Fix Template.prototype.evaluate to correctly interpret 0 and false values, add String.interpret() for safely interpreting and converting values to strings, fixes #6675 [hawk]
728
729 * Make Element.getStyle() work with camelCased argument, fixes #6686 [Tobie]
730
731 * Fix a redundant check in Array.prototype.compact, fixes #4739 [wlodarcz, mislav]
732
733 * Fix $() to correctly pass back the results of document.getElementById(), notably returning "null" on elements not found, fixes #6582 [adsmart]
734
735 * Change/add assertNull, assertUndefined, assertNullOrUndefined and not-* variants in unittest.js, fixes #6582 [adsmart]
736
737 * Cleanup String.prototype.camelize, fix an issue with String.prototype.underscore, fixes #4714, #6685 [Tobie, Thomas Fuchs]
738
739 * Add String.prototype.capitalize, which returns a string with the first character in upper case, fixes #6666 [Tobie]
740
741 * Make Element.getStyle() and Element.setStyle() handle the CSS 'opacity' property transparently in IE, fixes #6093 [brandon.aaron, Tobie]
742
743 * Fix handling of CSS 'float' property for Element.getStyle() and Element.setStyle(), fixes #4160 [Thomas Fuchs, ericf]
744
745 * Fix that onComplete would be called twice with synchronous Ajax requests on Safari (provides units tests for #5756) [Thomas Fuchs]
746
747 * Fix Form.Field.activate to not select text on buttons in IE, fixes #2653 [sutch, mislav, Thomas Fuchs]
748
749 * Fix String.unescapeHTML() on Firefox for strings that are longer than 2048 bytes, fixes #5789 [Paul Moers, Thomas Fuchs]
750
751 * Redefine Array.prototype.concat for Opera, as the native implemenation doesn't work correctly [Thomas Fuchs]
752
753 * Add unit tests for Function.prototype.bind() [Thomas Fuchs]
754
755 * Add String.prototype.underscore and String.prototype.dasherize [Thomas Fuchs]
756 Examples:
757 'Hello_World'.dasherize() -> 'Hello-World'
758 'borderBottomWidth'.underscore() -> 'border_bottom_width'
759 'borderBottomWidth'.underscore().dasherize() -> 'border-bottom-width'
760
761 *1.5.0_rc2* (November 11, 2006)
762
763 * Ensure that existing DOM properties take precedence over extended element methods in all browsers. Closes #5115. [Sean Kleinjung, sam]
764
765 * Add Element.Methods.readAttribute as a simple wrapper around getAttribute (which isn't a "real" function and doesn't have .apply or .call in Safari and IE). Useful in conjunction with Enumerable.invoke for extracting the values of a custom attribute from a collection of elements. [sam]
766 Example:
767 <div id="widgets">
768 <div class="widget" widget_id="7">...</div>
769 <div class="widget" widget_id="8">...</div>
770 <div class="widget" widget_id="9">...</div>
771 </div>
772
773 $$('div.widget').invoke('readAttribute', 'widget_id')
774 // ["7", "8", "9"]
775
776 * Add Element.Methods.immediateDescendants, like $A($(element).childNodes) but without text nodes. [sam]
777
778 * More consistency. Closes #6573. [Bob Silva]
779
780 * String.prototype.toQueryParams and Hash.prototype.toQueryString now properly serialize arrays as multiple values. Closes #4436. [mislav, altblue, L`OcuS]
781
782 * Fix Form.serialize for options with empty values. Closes #5033. [tdd, Thomas Fuchs, sam]
783
784 * Add Element.Methods.Simulated for simulating HTMLElement methods in lesser browsers. Add hasAttribute as the first simulated method. [tdd, Thomas Fuchs, sam]
785
786 * Add a "retry with throw" button for test error messages. [sam]
787
788 * rake test now runs test/unit/*.html by default. Additionally, you can specify individual tests to run with the TESTS environment variable, and you can restrict the tests to particular browsers using the BROWSERS environment variable. [sam]
789
790 Examples:
791 % BROWSERS=safari,firefox rake test
792 % TESTS=dom rake test
793
794 * Element.hasClassName now bypasses the Element.ClassNames API for performance. [sam]
795
796 * Pick some low-hanging performance and DRYness fruit. [sam]
797 - Inline length property accesses in for loops
798 - Enumerable-ize for loops where it makes sense
799 - Make better use of Element.Methods and Form.Methods/Form.Element.Methods
800
801 * A slew of Ajax improvements. Closes #6366. [mislav, sam]
802
803 Public-facing changes include:
804 - HTTP method can be specified in either lowercase or uppercase, and uppercase is always used when opening the XHR connection
805 - Added 'encoding' option (for POST) with a default of 'UTF-8'
806 - Ajax.Request now recognizes all the JavaScript MIME types we're aware of
807 - PUT body support with the 'postBody' option
808 - HTTP authentication support with the 'username' and 'password' options
809 - Query parameters can be passed as a string or as a hash
810 - Fixed both String.toQueryParams and Hash.toQueryString when handling empty values
811 - Request headers can now be specified as a hash with the 'requestHeaders' option
812
813 * Improve performance of the common case where $ is called with a single argument. Closes #6347. [sam, rvermillion, mislav]
814
815 * Fix Object.inspect to correctly distinguish between null and undefined, fixes #5941 [tdd, mislav]
816
817 * Don't serialize disabled form elements, fixes #4586 [tdd]
818
819 * Make HTML element classes extension mechanism for Safari not throw errors on WebKit beta versions [Thomas Fuchs]
820
821 * Add support for using Element.update() with no or a non-string parameter [Thomas Fuchs]
822
823 Example:
824 $('empty_me').update() -> clears the element
825 $('easy_as').update(123) -> set element content to '123'
826
827 * Add unit tests for hashes, fixes #6344 [Tobie Langel]
828
829 * Add clone() method to arrays, fixes #6338 [Tobie Langel]
830
831 * Backing out of [5194] (Element.clear) because of issues with IE on certain elements, #6051
832
833 * Add Element.clear for easily emptying out elements, fixes #6051 [brandon.aaron@gmail.com]
834
835 * Enumerable.each now returns the enumerable to allow for method chaining, fixes #6250 [eventualbuddha]
836
837 * Make makeClipping and undoClipping always return their element to stay chainable
838
839 * Fix an issue with certain Element chain calls not correctly extending elements with Prototype element methods on IE [Thomas Fuchs]
840
841 * Add Enumerable.eachSlice and Enumerable.inGroupsOf, fixes #6046 [rails@tddsworld.com, Thomas Fuchs]
842
843 Example:
844 [1,2,3,4,5].inGroupsOf(3) -> [[1,2,3],[4,5,null]]
845 [1,2,3].inGroupsOf(4,'x') -> [[1,2,3,'x']]
846
847 * Complete unit tests for array.js and string.js [Thomas Fuchs]
848
849 * Performance improvements for document.getElementsByClassName, including querying with XPath in supported browsers. [Andrew Dupont]
850
851 * Make Form.getElements() return elements in the correct order, fix broken Form.serialize return, fixes #4249, #6172 [lars@pinds.com, Thomas Fuchs, john]
852
853 * Add various DOM unit tests, fixes #6176, #6177 [tdd]
854
855 * Split Form.serialize into Form.serialize and Form.serializeElements. The latter can be used stand-alone to serialize an array of elements you pass in, instead of the entire form [DHH]
856
857 * Form.Element.disable() and .enable() will now work correctly, fixes #6034 [dresselm@businesslogic.com]
858
859 * Fix IE and Safari issues with Position.positionedOffset, add position.html unit tests, fixes #5621 [renggli@iam.unibe.ch]
860
861 * Fix an issue with Element.undoClipping and IE [Thomas Fuchs]
862
863 * Element.cleanWhitespace now correctly removes consecutive empty text nodes, fixes #3209 [livier.duroselle@gmail.com]
864
865 * Element.extend now does not try to extend text nodes, fixes #4642 [siegfried.puchbauer@gmail.com]
866
867 *1.5.0_rc1* (September 4, 2006)
868
869 * bindAsEventListener now passes along any provided arguments after the event argument. Closes #5508. [todd.fisher@revolution.com]
870
871 * Fix makeClipping and undoClipping with local overflow style values other than visible and hidden, fixes #3672 [Thomas Fuchs]
872
873 * Add Element.up, Element.down, Element.previous, and Element.next for easily traversing the DOM. (Inspired by Thomas Fuchs' original implementation of Element.up: http://pastie.caboo.se/7702) [sam]
874
875 Examples:
876 <div id="sidebar"> -> $('nav').up() or $('menu').up('div')
877 <ul id="nav"> -> $('sidebar').down() or $('sidebar').down('ul') or $('menu').previous()
878 <li>...</li> -> $('sidebar').down(1) or $('sidebar').down('li')
879 <li>...</li> -> $('sidebar').down(2) or $('sidebar').down('li', 2) or $('sidebar').down('li').next('li')
880 <li class="selected">...</li> -> $('sidebar').down('li.selected')
881 </ul>
882 <ul id="menu"> -> $('sidebar').down('ul').next()
883 ...
884
885 * Refactor $$ and Element.getElementsBySelector into Selector.findChildElements. [sam]
886
887 * Add Element.match, which takes a single CSS selector expression and returns true if it matches the element. [sam]
888
889 * Add Element.ancestors, Element.descendants, Element.previousSiblings, Element.nextSiblings, and Element.siblings. [sam]
890
891 * Add Element.inspect for better DOM debugging. [sam]
892
893 * Add an optional boolean argument to String.prototype.inspect which, when true, makes the string double-quoted instead of single-quoted. [sam]
894
895 * Add the uniq() method to Arrays, which returns a new Array with duplicates removed, fixes #3810 [secondlife]
896
897 * Add stop() method to PeriodicalExecutor, fixes #4801 [Jon Evans]
898
899 * Fix issues with Enumerable.any, ObjectRange.toArray, added unit tests, fixes #4419 [miyamuko, Thomas Fuchs]
900
901 * Fix two instances of unneccesarily redeclared variables, fixes #5229 [Thomas Fuchs]
902
903 * Fix a loop in Element.extend to properly use local variable, fixes #5128 [arrix]
904
905 * Add constants for additional keys in Event, fixes #5411, #5795 [simone_b]
906
907 * Workaround a DOM API bug in Opera in Position.page(), fixes #2407, #5848 [Thomas Fuchs]
908
909 * Remove duplicate definition of Position.clone(), fixes #3765 [Thomas Fuchs]
910
911 * Make destructive Element, Form, and Form.Element methods return their first argument, so that multiple calls can be chained together. [sam]
912
913 ex. $("sidebar").addClassName("selected").show();
914
915 The following methods now return their first argument: Element.toggle, Element.hide, Element.show, Element.remove, Element.update, Element.replace, Element.addClassName, Element.removeClassName, Element.observe, Element.stopObserving, Element.cleanWhitespace, Element.scrollTo, Element.setStyle, Element.makePositioned, Element.undoPositioned, Element.makeClipping, Element.undoClipping, Form.reset, Form.disable, Form.enable, Form.focusFirstElement, Form.Element.focus, Form.Element.select, Form.Element.clear, Form.Element.activate, Form.Element.disable, Form.Element.enable.
916
917 * For consistency, Element.toggle, Element.show, Element.hide, Field.clear, and Field.present no longer take an arbitrary number of arguments. [sam]
918
919 !! BACKWARDS COMPATIBILITY CHANGE !!
920
921 If you have code that looks like this:
922 Element.show('page', 'sidebar', 'content');
923 You need to replace it with code like this:
924 ['page', 'sidebar', 'content'].each(Element.show);
925
926 * Mix in Form and Form.Element methods to forms and form field elements with $() and $$(). Closes #4448. [Dan Webb, sam]
927
928 * Add Object.clone [sam]
929
930 * Add Form.Element.disable and Form.Element.enable. Closes #4943. [jan@prima.de]
931
932 * Field is now simply an alias for Form.Element. [sam]
933
934 * Add Element.Methods.getElementsByClassName and Element.Methods.getElementsBySelector. Closes #4669. [Andrew Dupont, DHH, sam]
935
936 * Avoid race condition when stopping an Ajax.PeriodicalUpdater. Closes #4809. [e98cuenc@gmail.com]
937
938 * Improve support for synchronous requests. Closes #5916. [sam, jthrom@gmail.com]
939
940 * Add serialization and observation support for input type=search. Closes #4096. [rpnielsen@gmail.com]
941
942 * Properly decode query components in String.prototype.toQueryParams. Closes #3487. [sam]
943
944 * Add Array.prototype.reduce [sam]:
945 [1, 2].reduce() // [1, 2]
946 [1].reduce() // 1
947 [].reduce() // undefined
948
949 * Add Object.keys and Object.values [sam]
950
951 * Simulate non-GET/POST requests by POSTing with a _method parameter set to the actual verb [DHH]
952
953 * Make Element.update() handle TABLE-related elements with the DOM API because of IE's missing .innerHTML property on them [Thomas Fuchs, thx to Rick Olson]
954
955 * Sync to script.aculo.us unittest.js library as of 2006/08/29 [Thomas Fuchs]
956
957 * Add additional unit tests to test/unit/dom.html for testing Element.update and $().update in various enviroments [Thomas Fuchs]
958
959 * Prevent possible exceptions on unloading the page in IE [Thomas Fuchs]
960
961 *1.5.0_rc0* (April 5, 2006)
962
963 * Modify HTMLElement.prototype and short-circuit Element.extend where possible. Closes #4477. [Thomas Fuchs]
964
965 * Only observe window.onunload in IE for Mozilla bfcache support. Closes #3726. [Mike A. Owens]
966
967 * Don't redefine Array.prototype.shift. Closes #4138. [leeo]
968
969 * Prevent redefining Array.prototype.reverse more than once. Closes #3951. [brettdgibson@gmail.com]
970
971 * Fix Enumerable.min/Enumerable.max to recognize the value 0. Closes #3847, #4190. [rubyonrails@brainsick.com, Martin Bialasinski]
972
973 * Change Ajax.getTransport to prefer XMLHttpRequest in anticipation of IE 7. Closes #3688. [jschrab@malicstower.org, sam]
974
975 * Make Array.prototype.flatten more robust. Closes #3453. [Martin Bialasinski, sam]
976
977 * Fix evalScripts from crashing Firefox if script includes 'var'. Closes #3288, #4165. [rahul@ntag.com, sam]
978
979 * Scope iterators locally. Closes #4589. [sam]
980
981 * Support Insertion.Before/Insertion.After for <tr> elements in IE. Closes #3925. [rails-venkatp@sneakemail.com]
982
983 * Add a contentType option for overriding application/x-www-form-urlencoded in Ajax.Request. Closes #3564. [avif@arc90.com, sam]
984
985 * Surround values in the X-JSON header in parenthesis for better compatibility with Firefox. Closes #4118. [bigsmoke@gmail.com]
986
987 * Fix Form.serialize to properly encode option values in multiple selects in IE. Closes #3291. [rubyonrails@brainsick.com]
988
989 * Cache methods added to DOM elements with Element.extend to prevent memory leaks in IE. Closes #4465. [jaen@laborint.com, sam]
990
991 * 1.5.0_pre1* (March 26, 2006)
992
993 * Add attribute selector support for Selector (and $$). Closes #4368. [devslashnull@gmail.com]
994 Example:
995 $$('form#foo input[type=text]').each(function(input) {
996 input.setStyle({color: 'red'});
997 });
998
999 * Send Accept header containing 'text/javascript, text/html, application/xml, text/xml */*'' to inform Rails that we prefer RJS, but we'll take HTML or XML or whatever if you can't deliver the goods [DHH]
1000
1001 * Make $$ work in IE. Closes #3715. [rubyonrails@brainsick.com]
1002
1003 * Add test/browser.html, which provides a simple object browser for the Prototype source (Firefox/Safari only). [sam]
1004
1005 * Add Element.extend, which mixes Element methods into a single HTML element. This means you can now write $('foo').show() instead of Element.show('foo'). $, $$ and document.getElementsByClassName automatically call Element.extend on any returned elements. [sam]
1006
1007 * Add Element.replace as a cross-browser implementation of the "outerHTML" property. References #3246. [tom@craz8.com]
1008
1009 * Fix Enumerable.zip iterator behavior. [Marcin Kaszynski, sam]
1010
1011 *1.5.0_pre0* (January 18, 2006)
1012
1013 * Add String.prototype.truncate to complement the Action View truncate helper. [sam]
1014
1015 * Add String.prototype.gsub, String.prototype.sub, and String.prototype.scan, all of which take a pattern and an iterator (or a pattern and a replacement template string in the case of gsub and sub). [sam]
1016
1017 * Add a Template class for interpolating named keys from an object in a string. [sam]
1018
1019 * Add the $$ function for finding DOM elements by simple CSS selector strings. [sam]
1020 Example: Find all <img> elements inside <p> elements with class "summary", all inside
1021 the <div> with id "page". Hide each matched <img> tag.
1022 $$('div#page p.summary img').each(Element.hide)
1023
1024 * Add a Selector class for matching elements by single CSS selector tokens. [sam]
1025
1026 * Add Test.Unit.Assertions.assertEnumEqual for comparing Enumerables in tests. [sam]
1027
1028 * Add Element.childOf(element, ancestor) which returns true when element is a child of ancestor. [sam]
1029
1030 * Fix escaping in String.prototype.inspect. [sam]
1031
1032 * Add String.prototype.strip to remove leading and trailing whitespace from a string. [sam]
1033
1034 * Move Prototype to Rails SVN. [sam]
1035 http://dev.rubyonrails.org/svn/rails/spinoffs/prototype/
1036
1037 * Make the console nicer. [sam]
1038
1039 * Prune the source tree. [sam]
Something went wrong with that request. Please try again.