aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
2013-12-18chore($sniffer): make android variable publicChia-liang Kao
2013-12-17docs(bootstrap-prettify): fix $timeout issues and update related docsPete Bacon Darwin
End 2 end tests wait for all `$timeout`s to be run before completing the test. This was problematic where we were using timeouts that restarted themselves because there would never be a point when all timeouts had completed, causing the tests to hang. To fix this $timeout had been monkey-patched but this caused other issue itself. Now that we have $interval we don't need to use $timeout handlers that re-trigger the $timeout so we can ditch the monkey-patch. This commit tidies up any examples that are using this approach and changes them to use $interval instead. Closes #5232
2013-12-17perf: use faster check for $$ prefixKarl Seamon
Use two calls to charAt instead of substr to detect a $$prefix in the shallowCopy functions. This makes shallowCopy 25-50% faster (depending on which browser is used). http://jsperf.com/angular-shallow-copy Closes #5457
2013-12-17fix(select): invalidate when 'multiple`, `required` and model is `[]`Caitlin Potter
When `multiple` attribute is set on a `<select>` control and the model value is an empty array, we should invalidate the control. Previously, this directive was using incorrect logic for determining if the model was empty. Closes #5337
2013-12-17docs(): fix jshint issuesPete Bacon Darwin
2013-12-17docs($resource): add example for a custom PUT requestunclejustin
Closes #5302
2013-12-17docs(ngIf): remove invalid comment from CSSPete Bacon Darwin
We cannot use valid /* ... */ CSS comments in examples because they break the parsing of the ngdoc comments. We can't use inline // comments because these are not valid in CSS. We could use the //!annotate extension to the ngdoc parser but this does not seem to be working. It is best to simply remove this line. Closes #5234
2013-12-16fix(jqLite): support unbind self within handlerChris Chua
If an event handler unbinds itself, the next event handler on the same event and element doesn't get executed. This works fine in jQuery, and since jqLite doesn't support .one, this might be a common use case.
2013-12-16fix(ngRepeat): allow multiline expressionsRhys Brett-bowen
allow and pass through new line characters when checking passed in expression Closes #5000
2013-12-13perf(jqLite): implement and use the `empty` method in place of `html(‘’)`Michał Gołębiowski
jQuery's elem.html('') is way slower than elem.empty(). As clearing element contents happens quite often in certain scenarios, switching to using .empty() provides a significant performance boost when using Angular with jQuery. Closes #4457
2013-12-13perf(a): do not link when href or name exists in templateKarl Seamon
Change the a directive to link and hookup a click event only when there is no href or name in the template element. In a large Google app, this results in about 800 fewer registrations, saving a small but measurable amount of time and memory. Closes #5362
2013-12-13perf($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-13perf: use call and === instead of apply and == in type check functionsKarl Seamon
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-12style($injector): remove wsIgor Minar
2013-12-12perf($injector): remove invoke optimization that doesn't workBen Wiklund
Closes #5388
2013-12-12fix(ngInclude): Add template to DOM before linking other directivesTobias Bosch
The template needs to be added to the DOM before other directives at the same element as `ngInclude` are linked. Fixes #5247.
2013-12-12fix(ngView): Add template to DOM before linking other directivesTobias Bosch
The template needs to be added to the DOM before other directives at the same element as `ngView` are linked. Related to #5247.
2013-12-12fix($compile): Allow literals in isolate scope referencesTobias Bosch
When a component uses an isolate scope reference and the the component is used with an object literal a new object is created on every evaluation. Therefore the compiler needs to compare the values of the parent and the isolate scope using object equality and not object reference equality. Fixes #5296.
2013-12-12docs(ngSwitch): clarify that ngSwitch matches against string literalsPete Bacon Darwin
Closes #5285
2013-12-12docs(ng.$rootScope.Scope): fix API linksVlad GURDIGA
Also added a note to the Writing AngularJS Documentation: https://github.com/angular/angular.js/wiki/Writing-AngularJS-Documentation/d0c715ef89 Closes #5261
2013-12-11fix(angular-mocks): use copy of mock data in $httpBackendKarl Seamon
Copy mock data returned from the mock $httpBackend. This prevents modifications to the response from affecting future responses. Previously, this misbehavior was being mitigated by the deep copy in $resource, but that no longer exists.
2013-12-09style($route): make jshint happyVojta Jina
Fix the broken build and earn a late (french spelling).
2013-12-09docs(input): remove redundant closing span tagmiknsh5
Closes #5257
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