| Age | Commit message (Collapse) | Author | 
|---|
|  | $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 | 
|  | Originally we destroyed the oldValue by incrementaly copying over portions of the newValue
into the oldValue during dirty-checking, this resulted in oldValue to be equal to newValue
by the time we called the watchCollection listener.
The fix creates a copy of the newValue each time a change is detected and then uses that
copy *the next time* a change is detected.
To make `$watchCollection` behave the same way as `$watch`, during the first iteration
the listener is called with newValue and oldValue being identical.
Since many of the corner-cases are already covered by existing tests, I refactored the
test logging to include oldValue and made the tests more readable.
Closes #2621
Closes #5661
Closes #5688
Closes #6736 | 
|  | As highlighted by the new sterner dgeni. | 
|  |  | 
|  | These errors in the docs were preventing some parts of the docs from being
parsed. | 
|  |  | 
|  |  | 
|  |  | 
|  | Closes #6047. | 
|  | when decrementing ttl
An infinite $digest loop can be caused by expressions that invoke a promise.
The problem is that $digest does not decrement ttl unless it finds dirty changes;
it should check also if asyncQueue is empty.
Generally the condition for decrementing ttl should be the same as the
condition for terminating the $digest loop.
Fixes #2622 | 
|  | Closes #5633 | 
|  | presubmits | 
|  | loop
Closes #5525 | 
|  | for the event
Update $on and $destroy to maintain a count of event keys registered for each scope and its children.
$broadcast will not descend past a node that has a count of 0/undefined for the $broadcasted event key.
Closes #5341
Closes #5371 | 
|  | Also added a note to the Writing AngularJS Documentation:
https://github.com/angular/angular.js/wiki/Writing-AngularJS-Documentation/d0c715ef89
Closes #5261 | 
|  | Stop dirty-checking during $digest after the last dirty watcher has been re-checked.
This prevents unneeded re-checking of the remaining watchers (They were already
checked in the previous iteration), bringing a substantial performance improvement
to the average case run time of $digest.
Closes #5272
Closes #5287 | 
|  | Fixes #5169 | 
|  | Add calls to clearPhase() when an exception is raised by a watcher
while a digest cycle, in order to not be stuck on `$digest` scope phase | 
|  |  | 
|  | This change makes it easier to debug angular, especiall when dealing with heap snapshots
and hunting for memory leaks. | 
|  | Added documentation for `locals` parameter of `$eval` method. | 
|  | Closes #4451 | 
|  |  | 
|  | This also contains some whitespace corrections by my editor. | 
|  |  | 
|  | All sibling event handlers residing on the same scope to were stopped
if one of them called stopPropagation.
Closes #4204 | 
|  | Closes #4234 | 
|  | Executes $evalAsync at the scope that the call was made
Closes: #3548 | 
|  |  | 
|  | Some typos fixed and grammar improved:
- withing -> within
- life-cycle -> life cycle
- extraneous spaces
- grammar mistakes
- missing commas
- reworded unclear statements
Closes #3920 | 
|  | cycle is complete | 
|  | This change causes a new $digest to be scheduled in the next tick if
a task was was sent to the $evalAsync queue from outside of a $digest
or an $apply.
While this mode of operation is not common for most of the user code,
this change means that $q promises that utilze $evalAsync queue to
guarantee asynchronicity of promise apis will now also resolve outside
of a $digest, which turned out to be a big pain point for some developers.
The implementation ensures that we don't do more work than needed and
that we coalese as much work as possible into a single $digest.
The use of $browser instead of setTimeout ensures that we can mock out
and control the scheduling of "auto-flush", which should in theory
allow all of the existing code and tests to work without negative
side-effects.
Closes #3539
Closes #2438 | 
|  | previously it didn't work for dumping multiple objects | 
|  | Previously any $evalAsync task scheduled from a isolate scope or a child of an isolate scope
would never execute because we never flushed this queue | 
|  |  | 
|  | Closes #2915 | 
|  |  | 
|  | - add toThrowNg matcher | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | files inside docs comment code | 
|  | The new method allows to shallow watch collections (Arrays/Maps). | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | test($compile): add test for exposing transclude and isolate scope info to batarang | 
|  |  |