aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
2013-12-09docs($route): clarify examples of route parametershambyiii
Putting route parameter examples in braces was misleading newcomers. Closes #5243
2013-12-09docs($q): correct typo in the 'Differences Q/$q' sectionRobin Böhm
Closes #5230
2013-12-09docs($injector): add example on how to use the element.injectorJoscha Feth
Closes #5188
2013-12-06revert: chore(Angular.js): Use call and === instead of apply and == in type ↵Matias Niemelä
check functions
2013-12-06revert: chore($resource): Use shallow copy instead of angular.copyMatias Niemelä
2013-12-05fix($compile): update cloned elements if the template arrives after the cloningTobias Bosch
If an element has a directive whose content is loaded using `templateUrl`, and the element is cloned using a linking function before the template arrives, the clone needs to be updated as well. This also updates `ngIf` and `ngRepeat` to keep the connection to the clone of a tranclude function, so that they know about the changes a directive with `templateUrl` does to the element in the future. Fixes to #4930.
2013-12-05fix(isElement): return boolean value rather than `truthy` value.Caitlin Potter
angular.isElement currently returns a truthy object/function, or false. This patch aims to correct this behaviour by casting the result of the isElement expression to a boolean value via double-negation. Closes #4519 Closes #4534
2013-12-05chore(Angular.js): Use call and === instead of apply and == in type check ↵Karl Seamon
functions Updates isDate et al to use call instead of apply and === instead of ==. The change to call brings minor performance improvement and === is just better practice than ==. http://jsperf.com/call-vs-apply-tostring Closes #5295
2013-12-05chore($resource): Use shallow copy instead of angular.copyKarl Seamon
Replace calls to angular.copy with calls to a new function, shallowClearAndCopy. Add calls to copy for cache access in $http in order to prevent modification of cached data. Results in a measurable improvement to the startup time of complex apps within Google. Closes #5300
2013-12-05chore(Scope): short-circuit after dirty-checking last dirty watcherKarl Seamon
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
2013-12-05fix($animate): ensure animations work with directives that share a transclusionMatias Niemelä
Closes #4716 Closes #4871 Closes #5021 Closes #5278
2013-12-04fix(ngInit): evaluate ngInit before ngIncludeCaitlin Potter
The priority of ngInit is adjusted to occur before ngInclude, and after ngController. This enables ngInit to initiallize values in a controller's scope, and also to initiallize values before ngInclude executes. Closes #5167 Closes #5208
2013-12-04fix(input): ensure ngModelWatch() triggers second digest pass when appropriateDaniel Tabuenca
Due to an earlier change, ngModelWatch() no longer returns a value to the caller. This means the digest loop has no way to tell if the watch actually modified anything and so can not schedule another pass. This means any watches that watch form or model controller changes (e.g. watches on form.$valid) that are scheduled prior to an ngModelWatch() will not be able to see any changes made therin. This commit fixes this behavior by returning the latest evaluated ng-model value. Closes #5258 Closes #5282
2013-12-04fix($animate): ensure ms durations are properly roundedMatias Niemelä
Closes #5113 Closes #5162
2013-12-04fix($rootScope): broadcast $destroy event on $rootScopeJeff Cross
Fixes #5169
2013-12-04docs($interpolate): demonstrate a filter in the interpolated expressionSorin Gitlan
Closes #5186
2013-12-04docs(input): remove deprecated isolated scope pitfallJulien Bouquillon
The 1.2 release fixed the documented pitfall at 909cabd36d779598763cc358979ecd85bb40d4d7 by isolating only the isolated directive's scope. Closes #5179
2013-12-04docs(animate.js): fix copy/paste typo in leave docsYves Richard
fix the copy/paste typo within $animate.leave method inside of the $animate docs.
2013-12-04fix($rootScope): clear phase if an exception is raised by a watcherThomas Guillory
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
2013-12-04fix($compile): ensure isolated local watches' lastValue is always in syncDaniel Tabuenca
When using two-way binding with isolate scope, under some circumstances the lastValue variable captured in the parentValueWatch function can get out of sync. Specifically, if both the value in the origin scope as well as the value in the isolate scope get independently updated to the same value within one digest cycle, the lastValue is never updated. This potentially causes the watch to make the wrong decision as to which side to update on subsequent passes. This fixes things by ensuring lastValue is always set to the last seen value even if the watch's logic was short circuited because there was no difference between the values in the original and isolate scopes. Closes #5182
2013-12-03style(Scope): remove extra wsIgor Minar
2013-12-03style(Scope): rename child scope type from Child to ChildScopeIgor Minar
This change makes it easier to debug angular, especiall when dealing with heap snapshots and hunting for memory leaks.
2013-12-03style(Angular.js): fix typo in commentIgor Minar
2013-12-03fix(ngSanitize): prefer textContent to innerText to avoid layout trashingMichał Gołębiowski
innerText depends on styling as it doesn't display hidden elements. Therefore, it's better to use textContent not to cause unnecessary reflows. However, IE<9 don't support textContent so the innerText fallback is necessary.
2013-12-03chore($parse): micro-optimization for ensureSafeObject functionKarl Seamon
This version matches the "alternate 2.2" version here: http://jsperf.com/ensuresafeobject/2 alternate 2.3 is a bit faster and simpler, but would break backwards compatibility. Closes #5246
2013-12-03fix(jqLite): ignore incompatible nodes on find()Hubert SABLONNIÈRE
When a jqLite collection contains text nodes, find() does not work :-( This fix ignores all nodes than can't do getElementsByTagName() It seems a little bit faster than testing nodeType : http://jsperf.com/nodetype-vs-duck-typing Closes #4120
2013-12-03fix($sanitize): don't rely on YARR regex engine executing immediatelyPete Bacon Darwin
In Safari 7 (and other browsers potentially using the latest YARR JIT library) regular expressions are not always executed immediately that they are called. The regex is only evaluated (lazily) when you first access properties on the `matches` result object returned from the regex call. In the case of `decodeEntities()`, we were updating this returned object, `parts[0] = ''`, before accessing it, `if (parts[2])', and so our change was overwritten by the result of executing the regex. The solution here is not to modify the match result object at all. We only need to make use of the three match results directly in code. Developers should be aware, in the future, when using regex, to read from the result object before making modifications to it. There is no additional test committed here, because when run against Safari 7, this bug caused numerous specs to fail, which are all fixed by this commit. Closes #5193 Closes #5192
2013-12-02docs($animate): require ngAnimate in example, syntax fixesBlaise Kal
The example in the section "JavaScript-defined Animations" would not run without the ngAnimate dependency. Also added a missing comma and semicolons.
2013-11-27docs($compile): fix missing spaceStéphane Reynaud
2013-11-27docs(form): provide a list of Angular's built-in validation tokensBlaise Kal
As requested by a top-rated Disqus comment: http://docs.angularjs.org/api/ng.directive:form.FormController#comment-655325797 Closes #5121
2013-11-27docs($window): move use of $window to controllerwjtk
Move use of `$window` from template to controller, because accessing `$window` in expressions is now disallowed and doesn't work. Closes #5110
2013-11-27docs($injector): use square bracket notation for $inject annotationPete Bacon Darwin
Closes #5104
2013-11-26refactor($location): move file://+win path fix to $locationJeff Cross
The urlResolve method was fixed to automatically remove the volume label from path names to fix issues with the file protocol on windows where $location.path() was returning paths where the first segment would be the volume name, such as "/C:/mypath". See #4942 and #4928 However, the solution was specific to the $location non- HTML5 mode, and was implemented at a lower level of abstraction than it should have been. This refactor moves the fix to inside of the LocationHashBangUrl $$parse method. Closes #5041
2013-11-26fix($sanitize): Use same whitelist mechanism as $compile does.Tobias Bosch
`$sanitize` now uses the same mechanism as `$compile` to validate uris. By this, the validation in `$sanitize` is more general and can be configured in the same way as the one in `$compile`. Changes - Creates the new private service `$$sanitizeUri`. - Moves related specs from `compileSpec.js` into `sanitizeUriSpec.js`. - Refactors the `linky` filter to be less dependent on `$sanitize` internal functions. Fixes #3748.
2013-11-26chore($httpBackend): preserve original non-zero http status code for file:// ↵corrupt
apps Previously if an app was running from file:// origin we would always return either http 200 or 404 depending on whether the response was present. This changes the behavior so that we do this only if the protocol of the request (not the origin) is file:// and only if the status code is 0. Closes #4436 Closes #4587 Closes #4514
2013-11-26chore(mocks): wrap angular-mocks.js in closureDavid Mosher
Closes #5080
2013-11-26docs(compile): fix typoadam77
Closes #5133
2013-11-26refactor(angular.js): improve trim performancesunnylost
According to Flagrant Badassery's blog http://blog.stevenlevithan.com/archives/faster-trim-javascript and this comparison http://jsperf.com/trim-function, this trim method is faster. Closes #4406
2013-11-25fix(ngAnimate): ensure animations are disabled upon bootstrap for structrual ↵Matias Niemelä
animations Closes #5130
2013-11-23fix($animate): ensure blocked keyframe animations are unblocked before the ↵Matias Niemelä
DOM operation Closes #5106
2013-11-22fix(input): Support form auto complete on modern browserTobias Bosch
Although modern browser support the "input" event, they still only fire the "change" event when they auto complete form elements other than the currently selected one. Related to #1460
2013-11-22chore: update copyright year in file headersIgor Minar
2013-11-22chore(style): fix missing indentation in httpBackend from a3172a2Caitlin Potter
2013-11-22fix($httpBackend): only IE8 and below can't use `script.onload` for JSONPPete Bacon Darwin
IE8, IE9 and IE10 can use `script.onreadystate` so up till now we have been using this if the sniffer says we are on IE. But IE11 now does not support `script.onreadystate` and only supports the more standard `script.onload` and `script.onerror`. IE9 and IE10 do support `script.onload` and `script.onerror`. So now we only test whether we are on IE8 or earlier before using `script.onreadystate`. See http://pieisgood.org/test/script-link-events/ jQuery just uses all these handlers at once and hopes for the best, but since IE9 and IE10 support both sets of handlers, this could cause the handlers to be run more than once. jQuery also notes that there is a potential memory leak in IE unless we remove the handlers from the script object once they are run. So we are doing this too, now. Closes #4523 Closes #4527 Closes #4922
2013-11-22fix($parse): allow for new lines in expr when promise unwrapping is onrodyhaddad
Previously, when unwrapping promises was set to `true`, an error would occur if a parsed expression had a new line in it. This was because when generating the `evaledFnGetter` code, a new line in an parsed expression would create a new line in a JS string in that code, which is illegal. That is: ```js pw("A+ B") ``` Closes #4718
2013-11-21fix($compile): secure form[action] & iframe[srcdoc]Chirayu Krishnappa
Require bindings to form[action] to be $sce.RESOURCE_URL and bindings to iframe[srcdoc] to be $sce.HTML Closes #4927 Closes #4933
2013-11-21fix(httpBackend): should not read response data when request is abortedGonzalo Ruiz de Villa
When a request is aborted, it makes no sense to read the response headers or text. Also in IE9, trying to read data (either response headers or text) from an aborted request throws an Error c00c023f. Fixes #4913 Closes #4940
2013-11-21fix(ngMock): fixes httpBackend expectation with body objectCorey Burrows
Fixes an issue with httpBackend expectations where a given body object may not match the actual request body if its keys are serialized in a different order. Closes #4956
2013-11-21fix(loader): expose `$$minErr` to modules such as`ngResource`Pete Bacon Darwin
This is highlighted in angular-phonecat when you try to use the index-async.html which needs to load the ngResource module asynchronously but fails when it tries to call `angular.$$minErr` to create the $resourceMinErr object. Closes #5050
2013-11-21fix(ngView): Don't throw when the ngView element contains content with ↵Tobias Bosch
directives. Fixes #5069