<feed xmlns='http://www.w3.org/2005/Atom'>
<title>angular.js/src, branch g3_v1_3</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/'/>
<entry>
<title>fix(input): don't perform HTML5 validation on updated model-value</title>
<updated>2014-03-24T14:54:09+00:00</updated>
<author>
<name>Caitlin Potter</name>
</author>
<published>2014-03-23T02:39:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=b472d0275f2900beba3b1f2fcee821369f8c15c1'/>
<id>b472d0275f2900beba3b1f2fcee821369f8c15c1</id>
<content type='text'>
Running html5-validation immediately after model-value is updated is incorrect, because the view
has not updated, and HTML5 constraint validation has not adjusted.

Closes #6796
Closes #6806
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Running html5-validation immediately after model-value is updated is incorrect, because the view
has not updated, and HTML5 constraint validation has not adjusted.

Closes #6796
Closes #6806
</pre>
</div>
</content>
</entry>
<entry>
<title>docs($document): add a documentation example.</title>
<updated>2014-03-20T03:42:21+00:00</updated>
<author>
<name>Trevor Ewen</name>
</author>
<published>2014-03-20T01:06:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=4d4da556eb2a401ad92323e04c803ff2e77924b0'/>
<id>4d4da556eb2a401ad92323e04c803ff2e77924b0</id>
<content type='text'>
The $document docs are pretty empty, and this fills them out a bit. The example itself may not be
particularly useful, but it could be improved or removed later. Works for me.

Closes #6757
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The $document docs are pretty empty, and this fills them out a bit. The example itself may not be
particularly useful, but it could be improved or removed later. Works for me.

Closes #6757
</pre>
</div>
</content>
</entry>
<entry>
<title>docs($q): add mention of Antroid 2.x browser</title>
<updated>2014-03-19T19:39:32+00:00</updated>
<author>
<name>thorn0</name>
</author>
<published>2014-02-18T09:52:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=58f5da86645990ef984353418cd1ed83213b111e'/>
<id>58f5da86645990ef984353418cd1ed83213b111e</id>
<content type='text'>
The Android 2.x browser is not ES5-compatible in that it does not allow
use of reserved words as property names. This docs fix adds Android to the
note to the `$q` docs which already make it known that string property
notation should be used when using the `finally` method on `$q`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The Android 2.x browser is not ES5-compatible in that it does not allow
use of reserved words as property names. This docs fix adds Android to the
note to the `$q` docs which already make it known that string property
notation should be used when using the `finally` method on `$q`.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix($rootScope): ng-repeat can't handle NaN values. #4605</title>
<updated>2014-03-19T18:34:15+00:00</updated>
<author>
<name>Sekib Omazic</name>
</author>
<published>2014-02-09T16:58:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=fb6062fb9d83545730b993e94ac7482ffd43a62c'/>
<id>fb6062fb9d83545730b993e94ac7482ffd43a62c</id>
<content type='text'>
$watchCollection checks if oldValue !== newValue which does not work for NaN. This was causing
infinite digest errors, since comparing NaN to NaN in $watchCollection would always return false,
indicating that a change was occuring on each loop.

This fix adds a simple check to see if the current value and previous value are both NaN, and
if so, does not count it as a change.

Closes #4605
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
$watchCollection checks if oldValue !== newValue which does not work for NaN. This was causing
infinite digest errors, since comparing NaN to NaN in $watchCollection would always return false,
indicating that a change was occuring on each loop.

This fix adds a simple check to see if the current value and previous value are both NaN, and
if so, does not count it as a change.

Closes #4605
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(select): avoid checking option element selected properties in render</title>
<updated>2014-03-19T03:18:42+00:00</updated>
<author>
<name>Jeff Balboni</name>
</author>
<published>2014-01-26T21:17:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=f40f54c6da4a5399fe18a89d068634bb491e9f1a'/>
<id>f40f54c6da4a5399fe18a89d068634bb491e9f1a</id>
<content type='text'>
In Firefox, hovering over an option in an open select menu updates the selected property of option
elements. This means that when a render is triggered by the digest cycle, and the list of options
is being rendered, the selected properties are reset to the values from the model and the option
hovered over changes. This fix changes the code to only use DOM elements' selected properties in a
comparison when a change event has been fired. Otherwise, the internal new and existing option
arrays are used.

Closes #2448
Closes #5994
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In Firefox, hovering over an option in an open select menu updates the selected property of option
elements. This means that when a render is triggered by the digest cycle, and the list of options
is being rendered, the selected properties are reset to the values from the model and the option
hovered over changes. This fix changes the code to only use DOM elements' selected properties in a
comparison when a change event has been fired. Otherwise, the internal new and existing option
arrays are used.

Closes #2448
Closes #5994
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(orderBy): support string predicates containing non-ident characters</title>
<updated>2014-03-19T02:54:46+00:00</updated>
<author>
<name>Caitlin Potter</name>
</author>
<published>2014-02-06T04:50:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=37bc5ef4d87f19da47d3ab454c43d1e532c4f924'/>
<id>37bc5ef4d87f19da47d3ab454c43d1e532c4f924</id>
<content type='text'>
The orderBy filter now allows string predicates passed to the orderBy filter to make use property
name predicates containing non-ident strings, such as spaces or percent signs, or non-latin
characters.

This behaviour requires the predicate string to be double-quoted.

In markup, this might look like so:

```html
&lt;div ng-repeat="item in items | orderBy:'\"Tip %\"'"&gt;
...
&lt;/div&gt;
```

Or in JS:

```js
var sorted = $filter('orderBy')(array, ['"Tip %"', '-"Subtotal $"'], false);
```

Closes #6143
Closes #6144
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The orderBy filter now allows string predicates passed to the orderBy filter to make use property
name predicates containing non-ident strings, such as spaces or percent signs, or non-latin
characters.

This behaviour requires the predicate string to be double-quoted.

In markup, this might look like so:

```html
&lt;div ng-repeat="item in items | orderBy:'\"Tip %\"'"&gt;
...
&lt;/div&gt;
```

Or in JS:

```js
var sorted = $filter('orderBy')(array, ['"Tip %"', '-"Subtotal $"'], false);
```

Closes #6143
Closes #6144
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(ngCookie): convert non-string values to string</title>
<updated>2014-03-19T02:50:17+00:00</updated>
<author>
<name>Caitlin Potter</name>
</author>
<published>2014-03-18T17:13:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=3652831084c3788f786046b907a7361d2e89c520'/>
<id>3652831084c3788f786046b907a7361d2e89c520</id>
<content type='text'>
Previously, non-string values stored in $cookies would be removed, without warning the user, and
causing difficulty debugging. Now, the value is converted to string before being stored, and the
value is not dropped. Serialization may be customized using the toString() method of an object's
prototype.

Closes #6151
Closes #6220
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, non-string values stored in $cookies would be removed, without warning the user, and
causing difficulty debugging. Now, the value is converted to string before being stored, and the
value is not dropped. Serialization may be customized using the toString() method of an object's
prototype.

Closes #6151
Closes #6220
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(ngTouch): update workaround for desktop Webkit quirk</title>
<updated>2014-03-19T02:30:23+00:00</updated>
<author>
<name>Chris Constantin</name>
</author>
<published>2014-02-18T00:10:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=bc42950b514b60f319812eeb87aae2915e394237'/>
<id>bc42950b514b60f319812eeb87aae2915e394237</id>
<content type='text'>
Fix click busting of input click triggered by a label click quickly
following a touch event on a different element, in desktop
and mobile WebKit

To reproduce the issue fixed by this commit set up a page with
 - an element with ng-click
 - a radio button (with hg-model) and associated label
In a quick sequence tap on the element and then on the label.
The radio button will not be checked, unless PREVENT_DURATION has passed

Closes #6302
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix click busting of input click triggered by a label click quickly
following a touch event on a different element, in desktop
and mobile WebKit

To reproduce the issue fixed by this commit set up a page with
 - an element with ng-click
 - a radio button (with hg-model) and associated label
In a quick sequence tap on the element and then on the label.
The radio button will not be checked, unless PREVENT_DURATION has passed

Closes #6302
</pre>
</div>
</content>
</entry>
<entry>
<title>fix($httpBackend): don't error when JSONP callback called with no parameter</title>
<updated>2014-03-19T01:49:35+00:00</updated>
<author>
<name>Caitlin Potter</name>
</author>
<published>2014-03-18T15:11:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=6680b7b97c0326a80bdccaf0a35031e4af641e0e'/>
<id>6680b7b97c0326a80bdccaf0a35031e4af641e0e</id>
<content type='text'>
This change brings Angular's JSONP behaviour closer in line with jQuery's. It will no longer treat
a callback called with no data as an error, and will no longer support IE8 via the onreadystatechanged
event.

BREAKING CHANGE:

Previously, the JSONP backend code would support IE8 by relying on the readystatechanged events. This
is no longer the case, as these events do not provide adequate useful information for deeming whether
or not a response is an error.

Previously, a JSONP response which did not pass data into the callback would be given a status of -2,
and treated as an error. Now, this situation will instead be given a status of 200, despite the lack
of data. This is useful for interaction with certain APIs.

Previously, the onload and onerror callbacks were added to the JSONP script tag. These have been
replaced with jQuery events, in order to gain access to the event object. This means that it is now
difficult to test if the callbacks are registered or not. This is possible with jQuery, using the
$.data("events") method, however it is currently impossible with jqLite. This is not expected to
break applications.

Closes #4987
Closes #6735
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change brings Angular's JSONP behaviour closer in line with jQuery's. It will no longer treat
a callback called with no data as an error, and will no longer support IE8 via the onreadystatechanged
event.

BREAKING CHANGE:

Previously, the JSONP backend code would support IE8 by relying on the readystatechanged events. This
is no longer the case, as these events do not provide adequate useful information for deeming whether
or not a response is an error.

Previously, a JSONP response which did not pass data into the callback would be given a status of -2,
and treated as an error. Now, this situation will instead be given a status of 200, despite the lack
of data. This is useful for interaction with certain APIs.

Previously, the onload and onerror callbacks were added to the JSONP script tag. These have been
replaced with jQuery events, in order to gain access to the event object. This means that it is now
difficult to test if the callbacks are registered or not. This is possible with jQuery, using the
$.data("events") method, however it is currently impossible with jqLite. This is not expected to
break applications.

Closes #4987
Closes #6735
</pre>
</div>
</content>
</entry>
<entry>
<title>fix($$RAFProvider): check for webkitCancelRequestAnimationFrame</title>
<updated>2014-03-19T01:37:04+00:00</updated>
<author>
<name>Traxmaxx</name>
</author>
<published>2014-03-04T17:54:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=c839f78b8f2d8d910bc2bfc9e41b3e3b67090ec1'/>
<id>c839f78b8f2d8d910bc2bfc9e41b3e3b67090ec1</id>
<content type='text'>
Android 4.3 only supports webkitCancelRequestAnimationFrame.

Closes #6526
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Android 4.3 only supports webkitCancelRequestAnimationFrame.

Closes #6526
</pre>
</div>
</content>
</entry>
</feed>
