| Age | Commit message (Collapse) | Author |
|
|
|
|
|
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
|
|
|
|
|
|
Due to bd524fc4 calling $destroy() on a scope mupltiple times cases NPE.
Closes #1627
|
|
|
|
Under certain circumstances chrome fails to GC scopes
because of buggy optimizations and caching. Nulling out
references to (not from!) other scopes helps Chrome to
realize that this object should be GC-ed.
This is really just a workaround as the real problem needs
to be fixed in Chrome.
See discusstion at:
https://github.com/angular/angular.js/issues/1313#issuecomment-10378451
And chrome bug at:
https://code.google.com/p/v8/issues/detail?id=2073
Closes #1313
|
|
Having one async queue per scope complicates the matters when users wish to do
partial scope updates, since many services put events on the rootScope. By
having single queue the programing model is simplified.
|
|
as of now
|