~ubuntu-security/ubuntu-cve-tracker/master

« back to all changes in this revision

Viewing changes to mir_reviews/angular.js/audits/code

  • Committer: Steve Beattie
  • Date: 2019-02-19 06:18:27 UTC
  • Revision ID: sbeattie@ubuntu.com-20190219061827-oh57fzcfc1u9dlfk
The ubuntu-cve-tracker project has been converted to git.

Please use 'git clone https://git.launchpad.net/ubuntu-cve-tracker' to
get the converted tree.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
Running: /home/sarnold/bin/audit-code.sh -c C -F ./
2
 
Scanning './'
3
 
== subprocess_spawned() ==
4
 
./jenkins_build.sh:1:#!/bin/bash
5
 
./scripts/angular.js/tag-release.sh:1:#!/bin/bash
6
 
./scripts/code.angularjs.org/publish.sh:1:#!/bin/bash
7
 
./scripts/bower/publish.sh:1:#!/bin/bash
8
 
./scripts/travis/wait_for_browser_provider.sh:1:#!/bin/bash
9
 
./scripts/travis/npm-bundle-deps.sh:1:#!/bin/bash
10
 
./scripts/travis/print_logs.sh:1:#!/bin/bash
11
 
./scripts/travis/build.sh:1:#!/bin/bash
12
 
./scripts/jenkins/release.sh:1:#!/bin/bash
13
 
./scripts/jenkins/master.sh:1:#!/bin/bash
14
 
./check-size.sh:1:#!/bin/bash
15
 
./i18n/update-closure.sh:1:#!/bin/bash
16
 
./i18n/generate.sh:1:#!/bin/bash
17
 
./i18n/run-tests.sh:1:#!/bin/bash
18
 
./lib/sauce/sauce_connect_setup.sh:1:#!/bin/bash
19
 
./debian/fetch-orig.sh:1:#!/bin/sh
20
 
./src/Angular.js:177:msie = int((/msie (\d+)/.exec(lowercase(navigator.userAgent)) || [])[1]);
21
 
./src/Angular.js:179:  msie = int((/trident\/.*; rv:(\d+)/.exec(lowercase(navigator.userAgent)) || [])[1]);
22
 
./src/Angular.js:1274:      var match = NG_APP_CLASS_REGEXP.exec(className);
23
 
./src/jqLite.js:215:    tag = (TAG_NAME_REGEXP.exec(html) || ["", ""])[1].toLowerCase();
24
 
./src/jqLite.js:243:  if ((parsed = SINGLE_TAG_REGEXP.exec(html))) {
25
 
./src/ng/compile.js:1081:            while (match = CLASS_DIRECTIVE_REGEXP.exec(className)) {
26
 
./src/ng/compile.js:1095:            match = COMMENT_DIRECTIVE_REGEXP.exec(node.nodeValue);
27
 
./src/ng/location.js:218:      if (windowsFilePathExp.exec(url)) {
28
 
./src/ng/location.js:222:      firstPathSegmentMatch = windowsFilePathExp.exec(path);
29
 
./src/ng/location.js:341:    var match = PATH_MATCH.exec(url);
30
 
./src/ng/sce.js:218:        return !!matcher.exec(parsedUrl.href);
31
 
./src/ng/filter/filters.js:418:      match = DATE_FORMATS_SPLIT.exec(format);
32
 
./src/ng/sniffer.js:22:          int((/android (\d+)/.exec(lowercase(($window.navigator || {}).userAgent)) || [])[1]),
33
 
./src/ng/sniffer.js:35:        if(match = vendorRegex.exec(prop)) {
34
 
./src/ng/directive/input.js:1540:      var match = /\/(.*)\//.exec(attr.ngList),
35
 
./src/ng/directive/ngCsp.js:55:// bootstrap the system (before $parse is instantiated), for this reason we just have
36
 
./src/ngRoute/route.js:462:      var m = route.regexp.exec(on);
37
 
./src/ngSanitize/sanitize.js:393:  var parts = spaceRe.exec(value);
38
 
./src/ngScenario/Scenario.js:282:      return actualExp && bindExp.exec(actualExp);
39
 
./src/ngScenario/browserTrigger.js:4:  var msie = parseInt((/msie (\d+)/.exec(navigator.userAgent.toLowerCase()) || [])[1], 10);
40
 
./validate-commit-msg.js:55:  var match = PATTERN.exec(message);
41
 
./docs/config/processors/keywords.js:56:        var match = /ng([A-Z]\w*)/.exec(title);
42
 
./docs/app/src/directives.js:25:      var match = /lang-(\S)+/.exec(element.className);
43
 
./compare-master-to-stable.js:84:var checkout = oneArg(exec('git checkout %s'));
44
 
./compare-master-to-stable.js:86:var getCurrentBranch = andThen(noArgs(exec('git rev-parse --abbrev-ref HEAD')), oneLine);
45
 
./compare-master-to-stable.js:87:var getTags = noArgs(exec('git tag'));
46
 
./compare-master-to-stable.js:88:var getShaOfTag = oneArg(exec('git rev-list %s | head -n 1'));
47
 
./compare-master-to-stable.js:89:var getTheLog = oneArg(exec('git log --pretty=oneline %s..HEAD | cat'));
48
 
./changelog.js:128:  child.exec(util.format(GIT_LOG_CMD, grep, '%H%n%s%n%b%n==END==', from), function(code, stdout, stderr) {
49
 
./changelog.js:182:  child.exec(GIT_TAG_CMD, function(code, stdout, stderr) {
50
 
./lib/grunt/utils.js:34:      shell.exec('npm install');
51
 
./lib/grunt/utils.js:210:    shell.exec(
52
 
./lib/grunt/utils.js:244:    if (shell.exec('java -version -d32 2>&1', {silent: true}).code !== 0) return '';
53
 
./lib/grunt/plugins.js:40:    var gruntProc = shelljs.exec('"node_modules/.bin/gulp" --gulpfile docs/gulpfile.js');
54
 
./lib/versions/version-info.js:34:  var match = GITURL_REGEX.exec(currentPackage.repository.url);
55
 
./lib/versions/version-info.js:51:  var gitCatOutput = shell.exec('git cat-file -p '+ tagName, {silent:true}).output;
56
 
./lib/versions/version-info.js:67:  var hash = shell.exec('git rev-parse --short HEAD', {silent: true}).output.replace('\n', '');
57
 
./lib/versions/version-info.js:77:  var gitTagResult = shell.exec('git describe --exact-match', {silent:true});
58
 
./lib/versions/version-info.js:103:  var tagResults = shell.exec('git ls-remote --tags ' + repo_url,
59
 
./lib/versions/version-info.js:137:        var cdnResult = shell.exec('curl http://ajax.googleapis.com/ajax/libs/angularjs/'+version+'/angular.min.js '+
60
 
 
61
 
== memory_management() ==
62
 
./src/Angular.js:787:        destination = new Date(source.getTime());
63
 
./src/Angular.js:789:        destination = new RegExp(source.source, source.toString().match(/[^\/]*$/)[0]);
64
 
./src/ngResource/resource.js:248:     var newCard = new CreditCard({number:'0123'});
65
 
./src/ngResource/resource.js:448:      var route = new Route(url);
66
 
./src/ngMock/angular-mocks.js:560:    var date = new Date(0),
67
 
./src/ngMock/angular-mocks.js:621: * var newYearInBratislava = new TzDate(-1, '2009-12-31T23:00:00Z');
68
 
./src/ngMock/angular-mocks.js:633:  var self = new Date(0);
69
 
./src/ngMock/angular-mocks.js:646:    self.origDate = new Date(timestamp);
70
 
./src/ngMock/angular-mocks.js:649:  var localOffset = new Date(timestamp).getTimezoneOffset();
71
 
./src/ngMock/angular-mocks.js:651:  self.date = new Date(timestamp + self.offsetDiff);
72
 
./src/ngMock/angular-mocks.js:1107:    var xhr = new MockXhr(),
73
 
./src/ngMock/angular-mocks.js:1200:    var definition = new MockHttpExpectation(method, url, data, headers),
74
 
./src/ngMock/angular-mocks.js:1332:    var expectation = new MockHttpExpectation(method, url, data, headers);
75
 
./src/ngMock/angular-mocks.js:2155:    var errorForStack = new Error('Declaration Location');
76
 
./src/ng/compile.js:919:        attrs = new Attributes();
77
 
./src/ng/compile.js:957:            stableNodeList = new Array(nodeListLength);
78
 
./src/ng/rootScope.js:193:          child = new Scope();
79
 
./src/ng/rootScope.js:212:          child = new this.$$childScopeClass();
80
 
./src/ng/rootScope.js:546:              veryOldValue = new Array(newValue.length);
81
 
./src/ng/rootScope.js:1131:    var $rootScope = new Scope();
82
 
./src/ng/location.js:650:    $location = new LocationMode(appBase, '#' + hashPrefix);
83
 
./src/ng/parse.js:1079:    var evaledFnGetter = new Function('s', 'l', 'pw', 'eso', 'fe', code);
84
 
./src/ng/parse.js:1269:          var lexer = new Lexer(parseOptions);
85
 
./src/ng/parse.js:1270:          var parser = new Parser(lexer, $filter, parseOptions);
86
 
./src/ng/sce.js:251:        holderType.prototype = new Base();
87
 
./src/ng/filter/filters.js:376:      var date = new Date(0),
88
 
./src/ng/filter/filters.js:410:      date = new Date(date);
89
 
./src/ng/directive/input.js:586:      pattern = new RegExp(match[1], match[2]);
90
 
./src/ng/directive/select.js:277:          var items = new HashMap(ctrl.$viewValue);
91
 
./src/ng/directive/select.js:411:            var toDisplay = new Array(values.length);
92
 
./src/ng/directive/select.js:429:              selectedSet = new HashMap([]);
93
 
./src/ng/directive/select.js:436:              selectedSet = new HashMap(modelValue);
94
 
./src/ngRoute/route.js:202:    ret.regexp = new RegExp('^' + path + '$', insensitive ? 'i' : '');
95
 
./src/auto/injector.js:593:      loadedModules = new HashMap([], true),
96
 
./src/auto/injector.js:780:      instance = new Constructor();
97
 
./src/ngScenario/Runner.js:12:  this.rootDescribe = new angular.scenario.Describe();
98
 
./src/ngScenario/SpecRunner.js:93:  var future = new angular.scenario.Future(name, angular.bind(this, behavior), line);
99
 
./src/ngScenario/angular-bootstrap.js:59:    '  var $runner = new angular.scenario.Runner(window);' +
100
 
./src/ngScenario/Scenario.js:108:  var objModel = new angular.scenario.ObjectModel($runner);
101
 
./src/ngScenario/Scenario.js:132:  var application = new angular.scenario.Application(appFrame);
102
 
./src/ngScenario/Scenario.js:211:  var error = new Error();
103
 
./src/ngScenario/ObjectModel.js:69:    step = new angular.scenario.ObjectModel.Step(step.name);
104
 
./src/ngScenario/ObjectModel.js:117:    item.endTime = new Date().getTime();
105
 
./src/ngScenario/ObjectModel.js:191:  this.startTime = new Date().getTime();
106
 
./src/ngScenario/ObjectModel.js:203:  var step = new angular.scenario.ObjectModel.Step(name);
107
 
./src/ngScenario/ObjectModel.js:237:  this.startTime = new Date().getTime();
108
 
./src/ngScenario/angular.suffix:4:var $runner = new angular.scenario.Runner(window),
109
 
./src/ngScenario/browserTrigger.js:95:          evnt = new WebKitTransitionEvent(eventType, eventData);
110
 
./src/ngScenario/browserTrigger.js:100:            evnt = new TransitionEvent(eventType, eventData);
111
 
./src/ngScenario/browserTrigger.js:110:          evnt = new WebKitAnimationEvent(eventType, eventData);
112
 
./src/ngScenario/browserTrigger.js:115:            evnt = new AnimationEvent(eventType, eventData);
113
 
./src/ngScenario/Describe.js:70:  var child = new angular.scenario.Describe(name, this);
114
 
./src/ngScenario/Describe.js:82:  var child = new angular.scenario.Describe(name, this);
115
 
./docs/config/inline-tag-defs/type.js:3:var encoder = new require('node-html-encoder').Encoder();
116
 
./docs/config/index.js:10:module.exports = new Package('angularjs', [
117
 
./docs/gulpfile.js:91:  var dgeni = new Dgeni([require('./config')]);
118
 
./docs/content/guide/scope.ngdoc:96:    var cntl = new MyController(scopeMock);
119
 
./docs/content/guide/unit-testing.ngdoc:59:    var xhr = new XHR();
120
 
./docs/content/guide/unit-testing.ngdoc:77:var myClass = new MyClass();
121
 
./docs/content/guide/unit-testing.ngdoc:110:var myClass = new MyClass();
122
 
./docs/content/guide/unit-testing.ngdoc:145:var myClass = new MyClass();
123
 
./docs/content/guide/unit-testing.ngdoc:175:var myClass = new MyClass(xhrMock);
124
 
./docs/content/guide/unit-testing.ngdoc:225:var pc = new PasswordCtrl();
125
 
./docs/content/tutorial/step_02.ngdoc:140:        ctrl = new PhoneListCtrl(scope);
126
 
./docs/app/src/search.js:132:    var worker = new Worker('js/search-worker.js');
127
 
./docs/app/assets/js/search-worker.js:19:var searchDataRequest = new XMLHttpRequest();
128
 
./changelog.js:77:  var now = new Date();
129
 
./lib/htmlparser/htmlparser.js:226:        doc = new DOMDocument();
130
 
./lib/htmlparser/htmlparser.js:230:        doc = new ActiveXObject("Msxml.DOMDocument");
131
 
./lib/browser-stack/start-tunnel.js:25:var tunnel = new BrowserStackTunnel({
132
 
 
133
 
== files() ==
134
 
./src/ng/httpBackend.js:64:      xhr.open(method, url, true);
135
 
./src/ngSanitize/sanitize.js:178:// Elements that you can, intentionally, leave open (and which close themselves)
136
 
./docs/content/guide/unit-testing.ngdoc:60:    xhr.open(method, url, true);
137
 
./docs/app/assets/js/angular-bootstrap/dropdown-toggle.js:91:      dropdownService.open( $scope );
138
 
./docs/app/assets/js/search-worker.js:30:searchDataRequest.open('GET', 'search-data.json');
139
 
 
140
 
== logging() ==
141
 
./src/ngMock/angular-mocks.js:361:       * $log.warn('Some Warning');
142
 
./src/ngMock/angular-mocks.js:375:       * $log.error('Some Error');
143
 
./src/ngMock/angular-mocks.js:389:       * $log.debug('Some Error');
144
 
./src/ngMock/angular-mocks.js:993:      }).error(function() {
145
 
./src/ng/compile.js:1801:        error(function(response, code, headers, config) {
146
 
./src/ng/browser.js:58:            $log.error(e);
147
 
./src/ng/browser.js:314:            $log.warn("Cookie '"+ name +
148
 
./src/ng/parse.js:1253:      $log.warn('[$parse] Promise found in the expression `' + fullExp + '`. ' +
149
 
./src/ng/log.js:32:         <button ng-click="$log.warn(message)">warn</button>
150
 
./src/ng/log.js:34:         <button ng-click="$log.error(message)">error</button>
151
 
./src/ng/http.js:242:     *     error(function(data, status, headers, config) {
152
 
./src/ng/http.js:333:     * $http(req).success(function(){...}).error(function(){...});
153
 
./src/ng/http.js:668:            error(function(data, status) {
154
 
./src/ng/directive/ngInclude.js:230:            }).error(function() {
155
 
./src/ng/directive/ngClass.js:162:       <input type="checkbox" ng-model="error"> error (apply "red" class)
156
 
./src/auto/injector.js:579: * calls to {@link ng.$log#error $log.warn()}.
157
 
./src/ngScenario/browserTrigger.js:74:      // calling .fireEvent() on them will result in very unhelpful error (Error: Unspecified error)
158
 
./validate-commit-msg.js:38:  console.error('INVALID COMMIT MSG: ' + util.format.apply(null, arguments));
159
 
./validate-commit-msg.js:51:    error('is longer than %d characters !', MAX_LENGTH);
160
 
./validate-commit-msg.js:58:    error('does not match "<type>(<scope>): <subject>" ! was: ' + message);
161
 
./validate-commit-msg.js:67:    error('"%s" is not allowed type !', type);
162
 
./CHANGELOG.md:5263:- **$log:** add $log.debug()
163
 
./docs/config/processors/pages-data.js:54:          log.debug('moduleName: ' + moduleName);
164
 
./docs/config/processors/pages-data.js:63:              log.debug(moduleName, _.keys(docTypes));
165
 
./docs/config/processors/keywords.js:42:        log.debug('Loaded ignore words from "' + ignoreWordsPath + '"');
166
 
./docs/config/processors/keywords.js:49:      log.debug('Properties to ignore', propertiesToIgnore);
167
 
./changelog.js:54:    warn('Incorrect message: %s %s', msg.hash, msg.subject);
168
 
./lib/grunt/utils.js:54:      if(code !== 0) grunt.fail.warn("Karma test(s) failed. Exit code: " + code);
169
 
./lib/grunt/utils.js:71:      if(code !== 0) grunt.fail.warn('Webdriver failed to update');
170
 
./lib/grunt/utils.js:98:      if(code !== 0) grunt.fail.warn('Protractor test(s) failed. Exit code: ' + code);
171
 
./lib/grunt/utils.js:227:        if (code !== 0) grunt.fail.warn('Error minifying ' + file);
172
 
./lib/grunt/utils.js:265:                grunt.warn('[collect-errors] Duplicate minErr codes don\'t match!');
173
 
./lib/grunt/utils.js:275:            grunt.warn('[collect-errors] Duplicate minErr codes don\'t match!');
174
 
./lib/browser-stack/start-tunnel.js:33:    console.error('Can not establish the tunnel', error);
175
 
./lib/browser-stack/start-tunnel.js:47:  console.error(error);
176
 
 
177
 
== environment() ==
178
 
 
179
 
== privileged() ==
180
 
 
181
 
== networking() ==
182
 
./src/Angular.js:988:function bind(self, fn) {
183
 
./src/Angular.js:1478:    return bind(lastInstance, obj);
184
 
./src/jqLite.js:42: * - [`bind()`](http://api.jquery.com/bind/) - Does not support namespaces, selectors or eventData
185
 
./src/jqLite.js:69: * - [`unbind()`](http://api.jquery.com/unbind/) - Does not support namespaces
186
 
./src/ngMock/angular-mocks.js:1092:      responsesPush = angular.bind(responses, responses.push),
187
 
./src/ngTouch/directive/ngSwipe.js:104:      $swipe.bind(element, {
188
 
./src/angular.suffix:7:  //try to bind to jquery now so that one can write angular.element().read()
189
 
./src/ng/rootScope.js:768:        forEach(this.$$listenerCount, bind(null, decrementListenerCount, this));
190
 
./src/ng/directive/input.js:1006:              read(); // initialize
191
 
./src/ng/directive/input.js:1009:              function read() {
192
 
./src/ng/interval.js:111:      *             element.bind('$destroy', function() {
193
 
./src/ngSanitize/sanitize.js:443:  var out = angular.bind(buf, buf.push);
194
 
./src/ngScenario/Runner.js:24:  angular.forEach(this.api, angular.bind(this, function(fn, key) {
195
 
./src/ngScenario/Runner.js:25:    this.$window[key] = angular.bind(this, fn);
196
 
./src/ngScenario/Runner.js:161:    child[name] = angular.bind(child, Cls.prototype[name]);
197
 
./src/ngScenario/Runner.js:178:    $root[name] = angular.bind(self, fn);
198
 
./src/ngScenario/SpecRunner.js:93:  var future = new angular.scenario.Future(name, angular.bind(this, behavior), line);
199
 
./src/ngScenario/angular-bootstrap.js:19:    document.write('<script type="text/javascript" src="' + prefix + path + '"></script>');
200
 
./src/ngScenario/angular-bootstrap.js:23:    document.write('<link rel="stylesheet" type="text/css" href="' + prefix + path + '"/>');
201
 
./src/ngScenario/angular-bootstrap.js:35:  document.write(
202
 
./src/ngScenario/angular-bootstrap.js:57:  document.write(
203
 
./Gruntfile.js:46:              util.rewrite(),
204
 
./gdocs.js:195:    req.write(encodeData(options.data));
205
 
./changelog.js:92:  stream.write(util.format('\n## %s\n\n', title));
206
 
./changelog.js:100:        stream.write(util.format('- **%s:**\n', name));
207
 
./changelog.js:109:        stream.write(util.format('%s %s\n  (%s', prefix, commit.subject, linkToCommit(commit.hash)));
208
 
./changelog.js:111:          stream.write(',\n   ' + commit.closes.map(linkToIssue).join(', '));
209
 
./changelog.js:113:        stream.write(')\n');
210
 
./changelog.js:115:        stream.write(util.format('%s %s\n', prefix, commit.subject));
211
 
./changelog.js:120:  stream.write('\n');
212
 
./changelog.js:172:  stream.write(util.format(HEADER_TPL, version, version, currentDate()));
213
 
./i18n/src/closureSlurper.js:21:  var numericStagePromise = qfs.read(__dirname + '/../closure/currencySymbols.js', 'b')
214
 
./i18n/src/closureSlurper.js:24:      return qfs.read(__dirname + '/../closure/numberSymbols.js', 'b').then(function(content) {
215
 
./i18n/src/closureSlurper.js:26:          return qfs.read(__dirname + '/../closure/numberSymbolsExt.js', 'b')
216
 
./i18n/src/closureSlurper.js:35:  var datetimeStagePromise = qfs.read(__dirname + '/../closure/datetimeSymbols.js', 'b')
217
 
./i18n/src/closureSlurper.js:38:        return qfs.read(__dirname + '/../closure/datetimeSymbolsExt.js', 'b').then(function(content) {
218
 
./i18n/src/closureSlurper.js:48:  return qfs.read(__dirname + '/../closure/pluralRules.js').then(function(content) {
219
 
./i18n/src/closureSlurper.js:82:    return qfs.write(filename, content)
220
 
./lib/grunt/utils.js:112:    styles = styles.reduce(processCSS.bind(this), {
221
 
./lib/grunt/utils.js:168:      return grunt.file.read(filepath);
222
 
./lib/grunt/utils.js:176:        grunt.file.write(removeSuffix(config.dest) + '-csp.css', CSP_CSS_HEADER + processedStyles.css);
223
 
./lib/grunt/utils.js:180:    grunt.file.write(config.dest, processed);
224
 
./lib/grunt/utils.js:230:        grunt.file.write(mapFile, grunt.file.read(mapFile).replace('"file":"build/', '"file":"').
225
 
./lib/grunt/utils.js:234:        grunt.file.write(minFile, this.sourceMap(mapFileName, this.singleStrict(grunt.file.read(minFile), '\n')));
226
 
./lib/grunt/utils.js:237:    }.bind(this));
227
 
./lib/grunt/utils.js:282:    grunt.file.write('build/errors.json', JSON.stringify(combined));
228
 
./lib/grunt/plugins.js:17:    grunt.util.async.forEach(files, util.min.bind(util), this.async());
229
 
./lib/grunt/plugins.js:29:    grunt.util.async.forEach(builds, util.build.bind(util), this.async());
230
 
./lib/grunt/plugins.js:34:    grunt.file.write(this.data.file, this.data.val);
231
 
./lib/grunt/plugins.js:75:      .on('error', grunt.fail.warn.bind(grunt.fail))
232
 
./lib/browser-stack/start-tunnel.js:17:  fakeServers.push(http.createServer(function() {}).listen(port));
233
 
 
234
 
== http:// ==
235
 
./src/module.prefix:3: * (c) 2010-2014 Google, Inc. http://angularjs.org
236
 
./src/minErr.js:66:    message = message + '\nhttp://errors.angularjs.org/"NG_VERSION_FULL"/' +
237
 
./src/Angular.js:175: * See http://msdn.microsoft.com/en-us/library/ms537503.aspx
238
 
./src/Angular.js:592:  // native trim is way faster: http://jsperf.com/angular-trim-test
239
 
./src/Angular.js:979: * known as [partial application](http://en.wikipedia.org/wiki/Partial_application), as
240
 
./src/Angular.js:980: * distinguished from [function currying](http://en.wikipedia.org/wiki/Currying#Contrast_with_partial_function_application).
241
 
./src/Angular.js:1165: * http://www.ietf.org/rfc/rfc3986.txt with regards to the character set (pchar) allowed in path
242
 
./src/Angular.js:1185: * encoded per http://tools.ietf.org/html/rfc3986:
243
 
./src/angular.prefix:3: * (c) 2010-2014 Google, Inc. http://angularjs.org
244
 
./src/ngResource/resource.js:69: * [RESTful](http://en.wikipedia.org/wiki/Representational_State_Transfer) server-side data sources.
245
 
./src/ngResource/resource.js:78: *   `http://example.com:8080/api`), it will be respected.
246
 
./src/ngResource/resource.js:81: *   `$resource('http://example.com/resource.json')` or `$resource('http://example.com/:id.json')`
247
 
./src/ngResource/resource.js:82: *   or even `$resource('http://example.com/resource/:resource_id.:format')`
248
 
./src/ngResource/resource.js:345:     * http://www.ietf.org/rfc/rfc3986.txt with regards to the character set (pchar) allowed in path
249
 
./src/ngResource/resource.js:365:     * have to be encoded per http://tools.ietf.org/html/rfc3986:
250
 
./src/ngResource/resource.js:430:        // E.g. `http://url.com/id./format?q=x` becomes `http://url.com/id.format?q=x`
251
 
./src/jqLite.js:20: * Wraps a raw DOM element or HTML string as a [jQuery](http://jquery.com) element.
252
 
./src/jqLite.js:23: * [jQuery](http://api.jquery.com/jQuery/) function. If jQuery is not available, `angular.element`
253
 
./src/jqLite.js:38: * - [`addClass()`](http://api.jquery.com/addClass/)
254
 
./src/jqLite.js:39: * - [`after()`](http://api.jquery.com/after/)
255
 
./src/jqLite.js:40: * - [`append()`](http://api.jquery.com/append/)
256
 
./src/jqLite.js:41: * - [`attr()`](http://api.jquery.com/attr/)
257
 
./src/jqLite.js:42: * - [`bind()`](http://api.jquery.com/bind/) - Does not support namespaces, selectors or eventData
258
 
./src/jqLite.js:43: * - [`children()`](http://api.jquery.com/children/) - Does not support selectors
259
 
./src/jqLite.js:44: * - [`clone()`](http://api.jquery.com/clone/)
260
 
./src/jqLite.js:45: * - [`contents()`](http://api.jquery.com/contents/)
261
 
./src/jqLite.js:46: * - [`css()`](http://api.jquery.com/css/) - Only retrieves inline-styles, does not call `getComputedStyles()`
262
 
./src/jqLite.js:47: * - [`data()`](http://api.jquery.com/data/)
263
 
./src/jqLite.js:48: * - [`empty()`](http://api.jquery.com/empty/)
264
 
./src/jqLite.js:49: * - [`eq()`](http://api.jquery.com/eq/)
265
 
./src/jqLite.js:50: * - [`find()`](http://api.jquery.com/find/) - Limited to lookups by tag name
266
 
./src/jqLite.js:51: * - [`hasClass()`](http://api.jquery.com/hasClass/)
267
 
./src/jqLite.js:52: * - [`html()`](http://api.jquery.com/html/)
268
 
./src/jqLite.js:53: * - [`next()`](http://api.jquery.com/next/) - Does not support selectors
269
 
./src/jqLite.js:54: * - [`on()`](http://api.jquery.com/on/) - Does not support namespaces, selectors or eventData
270
 
./src/jqLite.js:55: * - [`off()`](http://api.jquery.com/off/) - Does not support namespaces or selectors
271
 
./src/jqLite.js:56: * - [`one()`](http://api.jquery.com/one/) - Does not support namespaces or selectors
272
 
./src/jqLite.js:57: * - [`parent()`](http://api.jquery.com/parent/) - Does not support selectors
273
 
./src/jqLite.js:58: * - [`prepend()`](http://api.jquery.com/prepend/)
274
 
./src/jqLite.js:59: * - [`prop()`](http://api.jquery.com/prop/)
275
 
./src/jqLite.js:60: * - [`ready()`](http://api.jquery.com/ready/)
276
 
./src/jqLite.js:61: * - [`remove()`](http://api.jquery.com/remove/)
277
 
./src/jqLite.js:62: * - [`removeAttr()`](http://api.jquery.com/removeAttr/)
278
 
./src/jqLite.js:63: * - [`removeClass()`](http://api.jquery.com/removeClass/)
279
 
./src/jqLite.js:64: * - [`removeData()`](http://api.jquery.com/removeData/)
280
 
./src/jqLite.js:65: * - [`replaceWith()`](http://api.jquery.com/replaceWith/)
281
 
./src/jqLite.js:66: * - [`text()`](http://api.jquery.com/text/)
282
 
./src/jqLite.js:67: * - [`toggleClass()`](http://api.jquery.com/toggleClass/)
283
 
./src/jqLite.js:68: * - [`triggerHandler()`](http://api.jquery.com/triggerHandler/) - Passes a dummy event object to handlers.
284
 
./src/jqLite.js:69: * - [`unbind()`](http://api.jquery.com/unbind/) - Does not support namespaces
285
 
./src/jqLite.js:70: * - [`val()`](http://api.jquery.com/val/)
286
 
./src/jqLite.js:71: * - [`wrap()`](http://api.jquery.com/wrap/)
287
 
./src/jqLite.js:260:      throw jqLiteMinErr('nosel', 'Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element');
288
 
./src/jqLite.js:809:          // http://www.quirksmode.org/js/events_mouse.html#link8
289
 
./src/ngMock/angular-mocks.js:35:  self.$$url = "http://server/";
290
 
./src/ngMock/angular-mocks.js:887: * [JSONP](http://en.wikipedia.org/wiki/JSONP) requests to a real server. All we really need is
291
 
./src/ngTouch/touch.js:12: * ([jquerymobile.com](http://jquerymobile.com/)).
292
 
./src/loader.prefix:3: * (c) 2010-2014 Google, Inc. http://angularjs.org
293
 
./src/ng/compile.js:527:  // Ref: http://developers.whatwg.org/webappapis.html#event-handler-idl-attributes
294
 
./src/ng/compile.js:1556:            // clean up (http://bugs.jquery.com/ticket/8335).
295
 
./src/ng/browser.js:167:          // Crazy Opera Bug: http://my.opera.com/community/forums/topic.dml?id=1185462
296
 
./src/ng/browser.js:309:          // per http://www.ietf.org/rfc/rfc2109.txt browser must allow at minimum:
297
 
./src/ng/urlUtils.js:23: * http://www.aptana.com/reference/html/api/HTMLAnchorElement.html
298
 
./src/ng/urlUtils.js:36: * http://stackoverflow.com/a/472729)  However, setting img[src] does normalize the URL.
299
 
./src/ng/urlUtils.js:42: *   http://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement
300
 
./src/ng/urlUtils.js:43: *   http://www.aptana.com/reference/html/api/HTMLAnchorElement.html
301
 
./src/ng/urlUtils.js:44: *   http://url.spec.whatwg.org/#urlutils
302
 
./src/ng/urlUtils.js:46: *   http://james.padolsey.com/javascript/parsing-urls-with-the-dom/
303
 
./src/ng/urlUtils.js:77:  // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils
304
 
./src/ng/interpolate.js:166:              "required.  See http://docs.angularjs.org/api/ng.$sce", text);
305
 
./src/ng/location.js:317:   * [RFC 3986](http://www.ietf.org/rfc/rfc3986.txt).
306
 
./src/ng/location.js:423:   * // given url http://example.com/#/some/path?foo=bar&baz=xoxo
307
 
./src/ng/location.js:671:      // http://msdn.microsoft.com/en-us/library/ie/dd347148(v=vs.85).aspx
308
 
./src/ng/parse.js:888: * - http://jsperf.com/angularjs-parse-getter/4
309
 
./src/ng/parse.js:889: * - http://jsperf.com/path-evaluation-simplified/7
310
 
./src/ng/parse.js:1024:  // http://jsperf.com/angularjs-parse-getter/6
311
 
./src/ng/sce.js:18:// http://docs.closure-library.googlecode.com/git/closure_goog_string_string.js.source.html#line962
312
 
./src/ng/sce.js:108: * - your app is hosted at url `http://myapp.example.com/`
313
 
./src/ng/sce.js:110: *   `http://srv01.assets.example.com/`, `http://srv02.assets.example.com/`, etc.
314
 
./src/ng/sce.js:111: * - and you have an open redirect at `http://myapp.example.com/clickThru?...`.
315
 
./src/ng/sce.js:121: *      'http://srv*.assets.example.com/**'
316
 
./src/ng/sce.js:126: *      'http://myapp.example.com/clickThru**'
317
 
./src/ng/sce.js:181:   *     [open redirects](http://cwe.mitre.org/data/definitions/601.html)** served by your domain as
318
 
./src/ng/sce.js:415: * <http://blogs.msdn.com/b/ie/archive/2008/10/16/ending-expressions.aspx> to learn more about them.
319
 
./src/ng/sce.js:491: * and [Cross-Origin Resource Sharing (CORS)](http://www.w3.org/TR/cors/)
320
 
./src/ng/sce.js:547: *      http://**.example.com/ would match http://evil.com/?ignore=.example.com/ and that might
321
 
./src/ng/sce.js:549: *      http://foo.example.com/templates/**).
322
 
./src/ng/sce.js:569: *      [Regexp.escape(str)](http://www.ruby-doc.org/core-2.0.0/Regexp.html#method-c-escape)
323
 
./src/ng/sce.js:570: *      and Python has [re.escape](http://docs.python.org/library/re.html#re.escape).
324
 
./src/ng/sce.js:573: *      http://docs.closure-library.googlecode.com/git/closure_goog_string_string.js.source.html#line962).
325
 
./src/ng/sce.js:738:        'document.  See http://docs.angularjs.org/api/ng.$sce for more information.');
326
 
./src/ng/anchorScroll.js:14: * [Html5 spec](http://dev.w3.org/html5/spec/Overview.html#the-indicated-part-of-the-document).
327
 
./src/ng/q.js:15: * [The CommonJS Promise proposal](http://wiki.commonjs.org/wiki/Promises) describes a promise as an
328
 
./src/ng/q.js:57: * traditional callback ([CPS](http://en.wikipedia.org/wiki/Continuation-passing_style)) approach.
329
 
./src/ng/sniffer.js:59:      // http://code.google.com/p/android/issues/detail?id=17471
330
 
./src/ng/http.js:218:     * object or via [JSONP](http://en.wikipedia.org/wiki/JSONP).
331
 
./src/ng/http.js:326:     *  url: 'http://example.com',
332
 
./src/ng/http.js:522:     * - [JSON vulnerability](http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx)
333
 
./src/ng/http.js:523:     * - [XSRF](http://en.wikipedia.org/wiki/Cross-site_request_forgery)
334
 
./src/ng/http.js:531:     * A [JSON vulnerability](http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx)
335
 
./src/ng/http.js:533:     * [JSONP](http://en.wikipedia.org/wiki/JSONP) request under some conditions. To
336
 
./src/ng/http.js:553:     * [XSRF](http://en.wikipedia.org/wiki/Cross-site_request_forgery) is a technique by which
337
 
./src/ng/httpBackend.js:158:      // normalize IE bug (http://bugs.jquery.com/ticket/1450)
338
 
./src/ng/directive/input.js:206:               $scope.text = 'http://google.com';
339
 
./src/ng/directive/input.js:229:            expect(text.getText()).toContain('http://google.com');
340
 
./src/ng/directive/ngInclude.js:20: * and [Cross-Origin Resource Sharing (CORS)](http://www.w3.org/TR/cors/)
341
 
./src/ng/directive/booleanAttrs.js:19: * <a href="http://www.gravatar.com/avatar/{{hash}}"/>
342
 
./src/ng/directive/booleanAttrs.js:24: * <a ng-href="http://www.gravatar.com/avatar/{{hash}}"/>
343
 
./src/ng/directive/booleanAttrs.js:116: * <img src="http://www.gravatar.com/avatar/{{hash}}"/>
344
 
./src/ng/directive/booleanAttrs.js:121: * <img ng-src="http://www.gravatar.com/avatar/{{hash}}"/>
345
 
./src/ng/directive/booleanAttrs.js:142: * <img srcset="http://www.gravatar.com/avatar/{{hash}} 2x"/>
346
 
./src/ng/directive/booleanAttrs.js:147: * <img ng-srcset="http://www.gravatar.com/avatar/{{hash}} 2x"/>
347
 
./src/ng/directive/select.js:24: * array of objects. See an example [in this jsfiddle](http://jsfiddle.net/qWzTb/).
348
 
./src/ng/directive/ngPluralize.js:13: * [plural categories](http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html)
349
 
./src/ng/directive/ngPluralize.js:18: * [plural categories](http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html)
350
 
./src/ngAnimate/animate.js:1125:      // therefore there is no reason to test anymore for other vendor prefixes: http://caniuse.com/#search=transition
351
 
./src/ngAnimate/animate.js:1596:             * http://plnkr.co/edit/j8OzgTNxHTb4n3zLyjGW?p=preview */
352
 
./src/ngAnimate/animate.js:1658:             * http://plnkr.co/edit/j8OzgTNxHTb4n3zLyjGW?p=preview */
353
 
./src/ngRoute/routeParams.js:32: *  // URL: http://server.com/index.html#/Chapter/1/Section/2?search=moby
354
 
./src/ngSanitize/filter/linky.js:31:               'http://angularjs.org/,\n'+
355
 
./src/ngSanitize/filter/linky.js:35:             $scope.snippetWithTarget = 'http://angularjs.org/';
356
 
./src/ngSanitize/filter/linky.js:74:             toBe('Pretty text with some links: http://angularjs.org/, us@somewhere.org, ' +
357
 
./src/ngSanitize/filter/linky.js:81:             toBe('Pretty text with some links: http://angularjs.org/, mailto:us@somewhere.org, ' +
358
 
./src/ngSanitize/filter/linky.js:88:         element(by.model('snippet')).sendKeys('new http://link.');
359
 
./src/ngSanitize/filter/linky.js:90:             toBe('new http://link.');
360
 
./src/ngSanitize/filter/linky.js:93:             .toBe('new http://link.');
361
 
./src/ngSanitize/filter/linky.js:99:            toBe('http://angularjs.org/');
362
 
./src/ngSanitize/sanitize.js:24: * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js
363
 
./src/ngSanitize/sanitize.js:171:// http://dev.w3.org/html5/spec/Overview.html#semantics
364
 
./src/ngSanitize/sanitize.js:172:// http://simon.html5.org/html-elements
365
 
./src/ngSanitize/sanitize.js:175:// http://dev.w3.org/html5/spec/Overview.html#void-elements
366
 
./src/ngSanitize/sanitize.js:179:// http://dev.w3.org/html5/spec/Overview.html#optional-tags
367
 
./src/auto/injector.js:768:      // http://jsperf.com/angularjs-invoke-apply-vs-switch
368
 
./src/ngScenario/angular.prefix:3: * (c) 2010-2014 Google, Inc. http://angularjs.org
369
 
./protractor-jenkins-conf.js:15:  baseUrl: 'http://localhost:8000/build/docs/',
370
 
./LICENSE:3:Copyright (c) 2010-2014 Google, Inc. http://angularjs.org
371
 
./scripts/code.angularjs.org/publish.sh:56:    curl -G --data-urlencode "ver=$NEW_VERSION" http://$backend:8003/fetchLatestSnapshot.php
372
 
./scripts/code.angularjs.org/publish.sh:68:    curl http://$backend:8003/gitFetchSite.php
373
 
./scripts/travis/npm-bundle-deps.sh:9:curl "http://23.251.148.50:8000/tar/$TRAVIS_REPO_SLUG/$TRAVIS_COMMIT" | tar xz || true
374
 
./.editorconfig:1:# http://editorconfig.org
375
 
./validate-commit-msg.js:36:  // http://gitx.lighthouseapp.com/projects/17830/tickets/294-feature-display-hook-error-message-when-hook-fails
376
 
./images/logo/AngularJS-Shield.graffle:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
377
 
./images/docs/Diagrams.graffle/data.plist:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
378
 
./images/docs/Diagrams.graffle/data.plist:5449:\f0\fs48 \cf0 http://server/data/
379
 
./images/docs/Diagrams.graffle/data.plist:8588:\f0\fs24 \cf0 http://server/index.html#account}</string>
380
 
./images/docs/guide/hashbang_vs_regular_url.graffle:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
381
 
./images/docs/guide/hashbang_vs_regular_url.graffle:553:\f0\b\fs24 \cf0 http://foo.com/#!\cf2 /bar\cf0 ?\cf3 baz=23#\cf4 baz}</string>
382
 
./images/docs/guide/hashbang_vs_regular_url.graffle:591:\f0\b\fs24 \cf0 http://foo.com\cf2 /bar\cf0 ?\cf3 baz=23#\cf4 baz}</string>
383
 
./images/docs/guide/di_sequence.graffle:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
384
 
./images/docs/guide/about_model.graffle:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
385
 
./images/docs/guide/dom_scope.graffle:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
386
 
./images/docs/guide/about_controller.graffle:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
387
 
./images/docs/guide/form_data_flow.graffle:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
388
 
./images/docs/guide/simple_scope.graffle/data.plist:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
389
 
./images/docs/guide/concepts.graffle/data.plist:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
390
 
./images/docs/tutorial/tutorial_proto.graffle/data.plist:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
391
 
./images/docs/tutorial/tutorial_03.graffle/data.plist:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
392
 
./images/docs/tutorial/tutorial_07.graffle/data.plist:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
393
 
./images/docs/tutorial/di_sequence.graffle:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
394
 
./images/docs/tutorial/xhr_service.graffle:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
395
 
./images/docs/tutorial/tutorial_10-11.graffle/data.plist:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
396
 
./images/docs/tutorial/tutorial_02.graffle/data.plist:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
397
 
./images/docs/tutorial/tutorial_08-09.graffle/data.plist:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
398
 
./images/docs/tutorial/simple_scope.graffle/data.plist:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
399
 
./images/docs/tutorial/tutorial_04.graffle/data.plist:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
400
 
./images/docs/tutorial/tutorial_00.graffle:2:<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
401
 
./docs/config/templates/indexPage.template.html:66:      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
402
 
./docs/config/templates/indexPage.template.html:78:              <a class="brand navbar-brand" href="http://angularjs.org">
403
 
./docs/config/templates/indexPage.template.html:83:                <li><a href="http://angularjs.org"><i class="icon-home icon-white"></i> Home</a></li>
404
 
./docs/config/templates/indexPage.template.html:90:                    <li class="disabled"><a href="http://angularjs.org/">Why AngularJS?</a></li>
405
 
./docs/config/templates/indexPage.template.html:91:                    <li><a href="http://www.youtube.com/user/angularjs">Watch</a></li>
406
 
./docs/config/templates/indexPage.template.html:93:                    <li><a href="http://builtwith.angularjs.org/">Case Studies</a></li>
407
 
./docs/config/templates/indexPage.template.html:109:                    <li><a href="http://code.angularjs.org/">Download</a></li>
408
 
./docs/config/templates/indexPage.template.html:118:                    <li><a href="http://blog.angularjs.org">Blog</a></li>
409
 
./docs/config/templates/indexPage.template.html:119:                    <li><a href="http://groups.google.com/group/angular">Mailing List</a></li>
410
 
./docs/config/templates/indexPage.template.html:120:                    <li><a href="http://webchat.freenode.net/?channels=angularjs&uio=d4">Chat Room</a></li>
411
 
./docs/config/templates/indexPage.template.html:234:              href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
412
 
./docs/content/guide/module.ngdoc:79:[written a document](http://blog.angularjs.org/2014/02/an-angularjs-style-guide-and-best.html)
413
 
./docs/content/guide/e2e-testing.ngdoc:10:[Angular Scenario Runner](http://code.angularjs.org/1.2.16/docs/guide/e2e-testing). That tool
414
 
./docs/content/guide/e2e-testing.ngdoc:26:Protractor is a [Node.js](http://nodejs.org) program, and runs end to end tests that are also
415
 
./docs/content/guide/e2e-testing.ngdoc:30:For more information on Protractor, view [getting started](http://angular.github.io/protractor/#/getting-started)
416
 
./docs/content/guide/e2e-testing.ngdoc:31:or the [api docs](http://angular.github.io/protractor/#/api).
417
 
./docs/content/guide/e2e-testing.ngdoc:33:Protractor uses [Jasmine](http://jasmine.github.io/1.3/introduction.html) for its test syntax.
418
 
./docs/content/guide/e2e-testing.ngdoc:79:at the embedded examples in the Angular documentation (For example, [$http](http://docs.angularjs.org/api/ng/service/$http)
419
 
./docs/content/guide/ie.ngdoc:10:[our blog](http://blog.angularjs.org/2013/12/angularjs-13-new-release-approaches.html).
420
 
./docs/content/guide/ie.ngdoc:22:[ci.angularjs.org](http://ci.angularjs.org).
421
 
./docs/content/guide/ie.ngdoc:34:     [JSON3](http://bestiejs.github.com/json3/) polyfills for this.
422
 
./docs/content/guide/ie.ngdoc:38:       <html xmlns:ng="http://angularjs.org">
423
 
./docs/content/guide/ie.ngdoc:54:       <html xmlns:ng="http://angularjs.org" id="ng-app" ng-app="optionalModuleName">
424
 
./docs/content/guide/ie.ngdoc:66:       <html xmlns:ng="http://angularjs.org" id="ng-app" ng-app="optionalModuleName">
425
 
./docs/content/guide/di.ngdoc:15:[Dependency Injection](http://en.wikipedia.org/wiki/Dependency_injection) at Wikipedia,
426
 
./docs/content/guide/di.ngdoc:16:[Inversion of Control](http://martinfowler.com/articles/injection.html) by Martin Fowler,
427
 
./docs/content/guide/di.ngdoc:55:[service locator](http://en.wikipedia.org/wiki/Service_locator_pattern) that is responsible for
428
 
./docs/content/guide/di.ngdoc:88:[Law of Demeter](http://en.wikipedia.org/wiki/Law_of_Demeter). To remedy this, we use a declarative
429
 
./docs/content/guide/di.ngdoc:154:[pretotyping](http://www.pretotyping.org/), and demo applications.
430
 
./docs/content/guide/services.ngdoc:73:[**constructor injection**](http://misko.hevery.com/2009/02/19/constructor-injection-vs-setter-injection/).
431
 
./docs/content/guide/services.ngdoc:134:**Careful:** If you plan to [minify](http://en.wikipedia.org/wiki/Minification_(programming&#41;) your
432
 
./docs/content/guide/migration.ngdoc:261:of the [DOM promises standard](http://dom.spec.whatwg.org/).
433
 
./docs/content/guide/bootstrap.ngdoc:20:<html xmlns:ng="http://angularjs.org" ng-app>
434
 
./docs/content/guide/bootstrap.ngdoc:30:    script. You can get the latest bits from http://code.angularjs.org. Please don't link
435
 
./docs/content/guide/bootstrap.ngdoc:50:        <html xmlns:ng="http://angularjs.org">
436
 
./docs/content/guide/bootstrap.ngdoc:97:  <script src="http://code.angularjs.org/snapshot/angular.js"></script>
437
 
./docs/content/guide/i18n.ngdoc:38:also valid. See the [ICU](http://userguide.icu-project.org/locale) website for more information
438
 
./docs/content/guide/providers.ngdoc:180:injection](http://www.martinfowler.com/articles/injection.html#ConstructorInjectionWithPicocontainer).
439
 
./docs/content/guide/index.ngdoc:15:* [10 Reasons Why You Should Use AngularJS](http://www.sitepoint.com/10-reasons-use-angularjs/)
440
 
./docs/content/guide/index.ngdoc:16:* [10 Reasons Why Developers Should Learn AngularJS](http://wintellect.com/blogs/jlikness/10-reasons-web-developers-should-learn-angularjs)
441
 
./docs/content/guide/index.ngdoc:18:* [Fundamentals in 60 Minutes (video)](http://www.youtube.com/watch?v=i9MHigUZKEM)
442
 
./docs/content/guide/index.ngdoc:19:* [For folks with a jQuery background](http://stackoverflow.com/questions/14994391/how-do-i-think-in-angularjs-if-i-have-a-jquery-background)
443
 
./docs/content/guide/index.ngdoc:32:* {@link guide/forms Forms} and [Concepts of AngularJS Forms](http://mrbool.com/the-concepts-of-angularjs-forms/29117)
444
 
./docs/content/guide/index.ngdoc:36:* **Blog post: **[When to use directives, controllers or services](http://kirkbushell.me/when-to-use-directives-controllers-or-services-in-angular/)
445
 
./docs/content/guide/index.ngdoc:43:* **Animation:** {@link guide/animations Core concepts}, {@link ngAnimate ngAnimate API}, and [Animation in AngularJS 1.2](http://www.yearofmoo.com/2013/08/remastered-animation-in-angularjs-1-2.html)
446
 
./docs/content/guide/index.ngdoc:45:* **Internationalization and Localization:** {@link guide/i18n Angular Guide to i18n and l10n}, {@link ng.filter:date date filter}, {@link ng.filter:currency currency filter}, [Creating multilingual support](http://www.novanet.no/blog/hallstein-brotan/dates/2013/10/creating-multilingual-support-using-angularjs/)
447
 
./docs/content/guide/index.ngdoc:50:* **Unit testing:** [Using Karma (video)](http://www.youtube.com/watch?v=YG5DEzaQBIc), {@link guide/unit-testing Unit testing}, {@link guide/services#unit-testing Testing services}, [Karma in Webstorm](http://blog.jetbrains.com/webstorm/2013/10/running-javascript-tests-with-karma-in-webstorm-7/)
448
 
./docs/content/guide/index.ngdoc:55:* **Login: **[Google example](https://developers.google.com/+/photohunt/python), [Facebook example](http://blog.brunoscopelliti.com/facebook-authentication-in-your-angularjs-web-app), [authentication strategy](http://blog.brunoscopelliti.com/deal-with-users-authentication-in-an-angularjs-web-app), [unix-style authorization](http://frederiknakstad.com/authentication-in-single-page-applications-with-angular-js/)
449
 
./docs/content/guide/index.ngdoc:56:* **Mobile:** [Angular on Mobile Guide](http://www.ng-newsletter.com/posts/angular-on-mobile.html), [PhoneGap](http://devgirl.org/2013/06/10/quick-start-guide-phonegap-and-angularjs/)
450
 
./docs/content/guide/index.ngdoc:57:* **Other Languages:** [CoffeeScript](http://www.coffeescriptlove.com/2013/08/angularjs-and-coffeescript-tutorials.html), [Dart](https://github.com/angular/angular.dart.tutorial/wiki)
451
 
./docs/content/guide/index.ngdoc:58:* **Realtime: **[Socket.io](http://www.creativebloq.com/javascript/angularjs-collaboration-board-socketio-2132885), [OmniBinder](https://github.com/jeffbcross/omnibinder)
452
 
./docs/content/guide/index.ngdoc:59:* **Visualization:** [SVG](http://gaslight.co/blog/angular-backed-svgs), [D3.js](http://www.ng-newsletter.com/posts/d3-on-angular.html)
453
 
./docs/content/guide/index.ngdoc:65:* **Testing:** [Karma](http://karma-runner.github.io), [Protractor](https://github.com/angular/protractor)
454
 
./docs/content/guide/index.ngdoc:66:* **Editor support:** [Webstorm](http://plugins.jetbrains.com/plugin/6971) (and [video](http://www.youtube.com/watch?v=LJOyrSh1kDU)), [Sublime Text](https://github.com/angular-ui/AngularJS-sublime-package), [Visual Studio](http://madskristensen.net/post/angularjs-intellisense-in-visual-studio-2012)
455
 
./docs/content/guide/index.ngdoc:67:* **Workflow:** [Yeoman.io](https://github.com/yeoman/generator-angular) and [Angular Yeoman Tutorial](http://www.sitepoint.com/kickstart-your-angularjs-development-with-yeoman-grunt-and-bower/)
456
 
./docs/content/guide/index.ngdoc:71:This is a short list of libraries with specific support and documentation for working with Angular.  You can find a full list of all known Angular external libraries at [ngmodules.org](http://ngmodules.org/).
457
 
./docs/content/guide/index.ngdoc:73:* **Internationalization:** [angular-translate](http://angular-translate.github.io), [angular-gettext](http://angular-gettext.rocketeer.be/), [angular-localization](http://doshprompt.github.io/angular-localization/)
458
 
./docs/content/guide/index.ngdoc:75:* **SQL and NoSQL backends:** [BreezeJS](http://www.breezejs.com/), [AngularFire](http://angularfire.com/)
459
 
./docs/content/guide/index.ngdoc:76:* **UI Widgets: **[KendoUI](http://kendo-labs.github.io/angular-kendo/#/), [UI Bootstrap](http://angular-ui.github.io/bootstrap/), [Wijmo](http://wijmo.com/tag/angularjs-2/), [ngTagsInput](https://github.com/mbenford/ngTagsInput)
460
 
./docs/content/guide/index.ngdoc:84:* **Javascript minification: **[Background](http://thegreenpizza.github.io/2013/05/25/building-minification-safe-angular.js-applications/), [ngmin automation tool](http://www.thinkster.io/pick/XlWneEZCqY/angularjs-ngmin)
461
 
./docs/content/guide/index.ngdoc:85:* **Analytics and Logging:** [Angularyitcs (Google Analytics)](http://ngmodules.org/modules/angularytics), [Angulartics (Analytics)](https://github.com/luisfarzati/angulartics), [Logging Client-Side Errors](http://www.bennadel.com/blog/2542-Logging-Client-Side-Errors-With-AngularJS-And-Stacktrace-js.htm)
462
 
./docs/content/guide/index.ngdoc:86:* **SEO:** [By hand](http://www.yearofmoo.com/2012/11/angularjs-and-seo.html), [prerender.io](http://prerender.io/), [Brombone](http://www.brombone.com/), [SEO.js](http://getseojs.com/), [SEO4Ajax](http://www.seo4ajax.com/)
463
 
./docs/content/guide/index.ngdoc:90:* **Django:** [Tutorial](http://blog.mourafiq.com/post/55034504632/end-to-end-web-app-with-django-rest-framework), [Integrating AngularJS with Django](http://django-angular.readthedocs.org/en/latest/integration.html), [Getting Started with Django Rest Framework and AngularJS](http://blog.kevinastone.com/getting-started-with-django-rest-framework-and-angularjs.html)
464
 
./docs/content/guide/index.ngdoc:91:* **FireBase:** [AngularFire](http://angularfire.com/), [Realtime Apps with AngularJS and FireBase (video)](http://www.youtube.com/watch?v=C7ZI7z7qnHU)
465
 
./docs/content/guide/index.ngdoc:93:* **Hood.ie:** [60 Minutes to Awesome](http://www.roberthorvick.com/2013/06/30/todomvc-angularjs-hood-ie-60-minutes-to-awesome/)
466
 
./docs/content/guide/index.ngdoc:94:* **MEAN Stack: **[Blog post](http://blog.mongodb.org/post/49262866911/the-mean-stack-mongodb-expressjs-angularjs-and), [Setup](http://thecodebarbarian.wordpress.com/2013/07/22/introduction-to-the-mean-stack-part-one-setting-up-your-tools/), [GDL Video](https://developers.google.com/live/shows/913996610)
467
 
./docs/content/guide/index.ngdoc:95:* **Rails: **[Tutorial](http://coderberry.me/blog/2013/04/22/angularjs-on-rails-4-part-1/), [AngularJS with Rails4](https://shellycloud.com/blog/2013/10/how-to-integrate-angularjs-with-rails-4), [angularjs-rails](https://github.com/hiravgandhi/angularjs-rails)
468
 
./docs/content/guide/index.ngdoc:96:* **PHP: **[Building a RESTful web service](http://blog.brunoscopelliti.com/building-a-restful-web-service-with-angularjs-and-php-more-power-with-resource), [End to End with Laravel 4 (video)](http://www.youtube.com/watch?v=hqAyiqUs93c)
469
 
./docs/content/guide/index.ngdoc:102:* [AngularJS](http://www.amazon.com/AngularJS-Brad-Green/dp/1449344852) by Brad Green and Shyam Seshadri
470
 
./docs/content/guide/index.ngdoc:103:* [Mastering Web App Development](http://www.amazon.com/Mastering-Web-Application-Development-AngularJS/dp/1782161821) by Pawel Kozlowski and Pete Bacon Darwin
471
 
./docs/content/guide/index.ngdoc:104:* [AngularJS Directives](http://www.amazon.com/AngularJS-Directives-Alex-Vanston/dp/1783280336) by Alex Vanston
472
 
./docs/content/guide/index.ngdoc:105:* [Recipes With AngularJS](http://www.amazon.co.uk/Recipes-Angular-js-Frederik-Dietz-ebook/dp/B00DK95V48) by Frederik Dietz
473
 
./docs/content/guide/index.ngdoc:106:* [Developing an AngularJS Edge](http://www.amazon.com/Developing-AngularJS-Edge-Christopher-Hiller-ebook/dp/B00CJLFF8K) by Christopher Hiller
474
 
./docs/content/guide/index.ngdoc:107:* [ng-book: The Complete Book on AngularJS](http://ng-book.com/) by Ari Lerner
475
 
./docs/content/guide/index.ngdoc:108:* [AngularJS : Novice to Ninja](http://www.amazon.in/AngularJS-Novice-Ninja-Sandeep-Panda/dp/0992279453) by Sandeep Panda
476
 
./docs/content/guide/index.ngdoc:109:* [AngularJS UI Development](http://www.amazon.com/AngularJS-UI-Development-Amit-Ghart-ebook/dp/B00OXVAK7A) by Amit Gharat and Matthias Nehlsen
477
 
./docs/content/guide/index.ngdoc:112:* [egghead.io](http://egghead.io/)
478
 
./docs/content/guide/index.ngdoc:113:* [Angular on YouTube](http://youtube.com/angularjs)
479
 
./docs/content/guide/index.ngdoc:117:  [thinkster.io](http://thinkster.io),
480
 
./docs/content/guide/index.ngdoc:118:  [CodeAcademy](http://www.codecademy.com/courses/javascript-advanced-en-2hJ3J/0/1),
481
 
./docs/content/guide/index.ngdoc:121:  [Pluralsite (3 courses)](http://www.pluralsight.com/training/Courses/Find?highlight=true&searchTerm=angularjs),
482
 
./docs/content/guide/index.ngdoc:123:  [lynda.com](http://www.lynda.com/AngularJS-tutorials/Up-Running-AngularJS/133318-2.html),
483
 
./docs/content/guide/index.ngdoc:124:  [WintellectNOW (4 lessons)](http://www.wintellectnow.com/Course/Detail/mastering-angularjs)
484
 
./docs/content/guide/index.ngdoc:126:  [angularbootcamp.com](http://angularbootcamp.com/)
485
 
./docs/content/guide/index.ngdoc:130:The recipe for getting help on your unique issue is to create an example that could work (even if it doesn't) in a shareable example on [Plunker](http://plnkr.co/), [JSFiddle](http://jsfiddle.net/), or similar site and then post to one of the following:
486
 
./docs/content/guide/index.ngdoc:132:* [Stackoverflow.com](http://stackoverflow.com/search?q=angularjs)
487
 
./docs/content/guide/index.ngdoc:134:* [AngularJS IRC channel](http://webchat.freenode.net/?channels=angularjs&uio=d4)
488
 
./docs/content/guide/index.ngdoc:139:* **Weekly newsletter:** [ng-newsletter](http://www.ng-newsletter.com/)
489
 
./docs/content/guide/index.ngdoc:140:* **Meetups: **[meetup.com](http://www.meetup.com/find/?keywords=angularJS&radius=Infinity&userFreeform=San+Francisco%2C+CA&mcId=z94108&mcName=San+Francisco%2C+CA&sort=member_count&eventFilter=mysugg)
490
 
./docs/content/guide/index.ngdoc:141:* **Official news and releases: **[AngularJS Blog](http://blog.angularjs.org/)
491
 
./docs/content/guide/$location.ngdoc:152:specified in [RFC 3986](http://www.ietf.org/rfc/rfc3986.txt). When you access the methods:
492
 
./docs/content/guide/$location.ngdoc:167:HTML5 [History API](http://www.w3.org/TR/html5/introduction.html#history-0). Applications use the same API in
493
 
./docs/content/guide/$location.ngdoc:228:    // open http://example.com/base/index.html#!/a
494
 
./docs/content/guide/$location.ngdoc:229:    $location.absUrl() == 'http://example.com/base/index.html#!/a'
495
 
./docs/content/guide/$location.ngdoc:233:    $location.absUrl() == 'http://example.com/base/index.html#!/foo'
496
 
./docs/content/guide/$location.ngdoc:237:    $location.absUrl() == 'http://example.com/base/index.html#!/foo?a=b&c'
497
 
./docs/content/guide/$location.ngdoc:240:    $location.absUrl() == 'http://example.com/base/index.html#!/new?x=y'
498
 
./docs/content/guide/$location.ngdoc:271:    // open http://example.com/#!/a -> rewrite to http://example.com/a
499
 
./docs/content/guide/$location.ngdoc:272:    // (replacing the http://example.com/#!/a history record)
500
 
./docs/content/guide/$location.ngdoc:276:    $location.absUrl() == 'http://example.com/foo'
501
 
./docs/content/guide/$location.ngdoc:280:    $location.absUrl() == 'http://example.com/foo?a=b&c'
502
 
./docs/content/guide/$location.ngdoc:284:    $location.absUrl() == 'http://example.com/new?x=y'
503
 
./docs/content/guide/$location.ngdoc:287:    // open http://example.com/new?x=y -> redirect to http://example.com/#!/new?x=y
504
 
./docs/content/guide/$location.ngdoc:288:    // (again replacing the http://example.com/new?x=y history item)
505
 
./docs/content/guide/$location.ngdoc:295:    $location.absUrl() == 'http://example.com/#!/foo/bar?x=y'
506
 
./docs/content/guide/$location.ngdoc:324:  Example: `<a href="http://angularjs.org/">link</a>`
507
 
./docs/content/guide/$location.ngdoc:378:        <a href="http://www.example.com/base/first?a=b">/base/first?a=b</a> |
508
 
./docs/content/guide/$location.ngdoc:379:        <a href="http://www.example.com/base/sec/ond?flag#hash">sec/ond?flag#hash</a> |
509
 
./docs/content/guide/$location.ngdoc:387:   .constant('initUrl', 'http://www.example.com/base/path?a=b#h')
510
 
./docs/content/guide/$location.ngdoc:467:        url = 'http://www.example.com/base/path?a=b#h';
511
 
./docs/content/guide/$location.ngdoc:487:      expect(addressBar.getAttribute('value')).toBe("http://www.example.com/base/first?a=b");
512
 
./docs/content/guide/$location.ngdoc:499:      expect(addressBar.getAttribute('value')).toBe("http://www.example.com/base/sec/ond?flag#hash");
513
 
./docs/content/guide/$location.ngdoc:527:        <a href="http://www.example.com/base/first?a=b">/base/first?a=b</a> |
514
 
./docs/content/guide/$location.ngdoc:528:        <a href="http://www.example.com/base/sec/ond?flag#hash">sec/ond?flag#hash</a> |
515
 
./docs/content/guide/$location.ngdoc:536:    .constant('initUrl', 'http://www.example.com/base/index.html#!/path?a=b#h')
516
 
./docs/content/guide/$location.ngdoc:620:         url = 'http://www.example.com/base/index.html#!/path?a=b#h';
517
 
./docs/content/guide/$location.ngdoc:639:      expect(addressBar.getAttribute('value')).toBe("http://www.example.com/base/index.html#!/first?a=b");
518
 
./docs/content/guide/$location.ngdoc:651:      expect(addressBar.getAttribute('value')).toBe("http://www.example.com/base/index.html#!/sec/ond?flag#hash");
519
 
./docs/content/guide/$location.ngdoc:705:Crawlable](http://code.google.com/web/ajaxcrawling/docs/specification.html).
520
 
./docs/content/guide/$location.ngdoc:737:`http://server.com/#!/path?search=a`), when necessary.
521
 
./docs/content/guide/concepts.ngdoc:383:and [JSONP](http://en.wikipedia.org/wiki/JSONP) transports.
522
 
./docs/content/guide/directive.ngdoc:36:[compiled programming languages](http://en.wikipedia.org/wiki/Compiled_languages).
523
 
./docs/content/guide/directive.ngdoc:59:[camelCase](http://en.wikipedia.org/wiki/CamelCase) **normalized** name (e.g. `ngModel`).
524
 
./docs/content/guide/directive.ngdoc:61:forms, typically using [dash-delimited](http://en.wikipedia.org/wiki/Letter_case#Computers)
525
 
./docs/content/guide/unit-testing.ngdoc:103:State & Singletons](http://misko.hevery.com/code-reviewers-guide/flaw-brittle-global-state-singletons/)
526
 
./docs/content/guide/filter.ngdoc:127:See the [phonecat tutorial](http://docs.angularjs.org/tutorial/step_09#test) for an example.
527
 
./docs/content/tutorial/step_07.ngdoc:73:feature we can implement [deep linking](http://en.wikipedia.org/wiki/Deep_linking), which lets us
528
 
./docs/content/tutorial/step_07.ngdoc:368:[bower]: http://bower.io
529
 
./docs/content/tutorial/step_02.ngdoc:13:[the Model-View-Controller (MVC) design pattern](http://en.wikipedia.org/wiki/ModelViewController)
530
 
./docs/content/tutorial/step_02.ngdoc:203:    info: Karma server started at http://localhost:9876/
531
 
./docs/content/tutorial/step_02.ngdoc:268:[jasmine]: http://jasmine.github.io/
532
 
./docs/content/tutorial/step_02.ngdoc:269:[jasmine-docs]: http://jasmine.github.io/1.3/introduction.html
533
 
./docs/content/tutorial/step_02.ngdoc:270:[karma]: http://karma-runner.github.io/
534
 
./docs/content/tutorial/step_00.ngdoc:34:<a href="http://localhost:8000/app/" target="_blank">`http://localhost:8000/app/`</a>
535
 
./docs/content/tutorial/step_00.ngdoc:149:* Added a dependency on [Bootstrap](http://getbootstrap.com) in the `bower.json` file.
536
 
./docs/content/tutorial/step_03.ngdoc:123:about the Protractor APIs at http://angular.github.io/protractor/#/api.
537
 
./docs/content/tutorial/step_08.ngdoc:187:* Using the [Protractor API](http://angular.github.io/protractor/#/api),
538
 
./docs/content/tutorial/index.ngdoc:64:You can download and install Git from http://git-scm.com/download. Once installed you should have
539
 
./docs/content/tutorial/index.ngdoc:100:You can download a Node.js installer for your operating system from http://nodejs.org/download/.
540
 
./docs/content/tutorial/index.ngdoc:196:http://localhost:8000/app/index.html
541
 
./docs/content/tutorial/index.ngdoc:269:[git]: http://git-scm.com/
542
 
./docs/content/tutorial/index.ngdoc:270:[node]: http://nodejs.org/
543
 
./docs/content/tutorial/index.ngdoc:273:[bower]: http://bower.io/
544
 
./docs/content/tutorial/step_11.ngdoc:290:[restful]: http://en.wikipedia.org/wiki/Representational_State_Transfer
545
 
./docs/content/tutorial/step_11.ngdoc:292:[bower]: http://bower.io/
546
 
./docs/content/tutorial/step_12.ngdoc:246:Although most modern browsers have good support for [CSS transitions](http://caniuse.com/#feat=css-transitions)
547
 
./docs/content/tutorial/step_12.ngdoc:247:and [CSS animations](http://caniuse.com/#feat=css-animation), IE9 and earlier do not.
548
 
./docs/content/tutorial/step_12.ngdoc:353:[Web Platform documentation](http://docs.webplatform.org/wiki/css/properties/animations).
549
 
./docs/content/tutorial/step_12.ngdoc:502:Note that we're using [jQuery](http://jquery.com/) to implement the animation. jQuery
550
 
./docs/content/tutorial/step_12.ngdoc:505:`jQuery.animate`, see the [jQuery documentation](http://api.jquery.com/animate/).
551
 
./docs/content/tutorial/step_12.ngdoc:537:[bower]: http://bower.io/
552
 
./docs/content/tutorial/step_05.ngdoc:108:constructor function, if you were to [minify](http://goo.gl/SAnnsm) the JavaScript code for
553
 
./docs/content/tutorial/step_06.ngdoc:62:invalid url `http://localhost:8000/app/{{phone.imageUrl}}`, which it would have done if we had only
554
 
./docs/content/misc/started.ngdoc:25:* [Introduction to AngularJS](http://www.youtube.com/watch?v=WuiHuZq_cg4&list=PL173F1A311439C05D&context=C48ac877ADvjVQa1PpcFONnl4Q5x8hqvT6tRBTE-m0-Ym47jO3PEE%3D)
555
 
./docs/content/misc/started.ngdoc:26:* [Creating Directives](http://www.youtube.com/watch?v=Yg-R1gchccg&list=PL173F1A311439C05D&context=C48ac877ADvjVQa1PpcFONnl4Q5x8hqvT6tRBTE-m0-Ym47jO3PEE%3D)
556
 
./docs/content/misc/started.ngdoc:27:* [Communicating with Servers](http://www.youtube.com/watch?v=IRelx4-ISbs&list=PL173F1A311439C05D&context=C48ac877ADvjVQa1PpcFONnl4Q5x8hqvT6tRBTE-m0-Ym47jO3PEE%3D)
557
 
./docs/content/misc/started.ngdoc:29:And visit our [YouTube channel](http://www.youtube.com/user/angularjs) for more AngularJS video presentations and
558
 
./docs/content/misc/started.ngdoc:34:* Subscribe to the [mailing list](http://groups.google.com/forum/?fromgroups#!forum/angular).  Ask questions here!
559
 
./docs/content/misc/faq.ngdoc:80:Yes, Angular can use [jQuery](http://jquery.com/) if it's present in your app when the
560
 
./docs/content/misc/faq.ngdoc:98:"[AngularJS Intro + Dependency Injection](http://www.youtube.com/watch?v=1CpiB3Wk25U)".
561
 
./docs/content/misc/faq.ngdoc:108:The logo design is licensed under a "[Creative Commons Attribution-ShareAlike 3.0 Unported License](http://creativecommons.org/licenses/by-sa/3.0/)". If you have some other use in mind, contact us.
562
 
./docs/content/misc/faq.ngdoc:120:As long as the design stays exactly the same, [StickerGiant](http://www.stickergiant.com) will give you a reorder discount.
563
 
./docs/content/misc/contribute.ngdoc:26:* [Git](http://git-scm.com/): The [Github Guide to
564
 
./docs/content/misc/contribute.ngdoc:29:* [Node.js](http://nodejs.org): We use Node to generate the documentation, run a
565
 
./docs/content/misc/contribute.ngdoc:33:* [Java](http://www.java.com): We minify JavaScript using our
566
 
./docs/content/misc/contribute.ngdoc:35:and included in your [PATH](http://docs.oracle.com/javase/tutorial/essential/environment/paths.html) variable.
567
 
./docs/content/misc/contribute.ngdoc:37:* [Grunt](http://gruntjs.com): We use Grunt as our build system. Install the grunt command-line tool globally with:
568
 
./docs/content/misc/contribute.ngdoc:43:* [Bower](http://bower.io/): We use Bower to manage client-side packages for the docs. Install the `bower` command-line tool globally with:
569
 
./docs/content/misc/contribute.ngdoc:55:Afterwards, go ahead and [fork](http://help.github.com/forking) the [main AngularJS repository](https://github.com/angular/angular.js).
570
 
./docs/content/misc/contribute.ngdoc:130:   http://localhost:8000/
571
 
./docs/content/misc/contribute.ngdoc:136:   http://localhost:8000/build/docs/
572
 
./docs/content/misc/contribute.ngdoc:169:   http://localhost:9876/
573
 
./docs/content/misc/downloading.ngdoc:33:you can use the <http://code.angularjs.org/> URL which was the previous recommended location for
574
 
./docs/content/misc/downloading.ngdoc:41:If you navigate to <http://code.angularjs.org/>, you'll see a directory listing with all of the
575
 
./docs/content/misc/downloading.ngdoc:46:Each directory under <http://code.angularjs.org/> includes the following set of files:
576
 
./docs/content/misc/downloading.ngdoc:82:<http://docs.angularjs.org/> documentation app. These files are handy to see the older version of
577
 
./docs/content/error/$sce/iequirks.ngdoc:10:[MSDN Blogs > IEBlog > Ending Expressions](http://blogs.msdn.com/b/ie/archive/2008/10/16/ending-expressions.aspx)
578
 
./docs/content/error/$sce/insecurl.ngdoc:24:[Cross-Origin Resource Sharing (CORS)](http://www.w3.org/TR/cors/) policy apply
579
 
./docs/app/src/examples.js:74:        formPostData('http://plnkr.co/edit/?p=preview', postData);
580
 
./docs/app/src/tutorials.js:14:      '<a ng-href="http://angular.github.io/angular-phonecat/step-{{seq}}/app"><li class="btn btn-primary"><i class="glyphicon glyphicon-play"></i> Live Demo</li></a>\n' +
581
 
./docs/app/src/tutorials.js:43:          '<a href="http://angular.github.io/angular-phonecat/step-{{step}}/app">Step {{step}} Live Demo</a>.</p>\n' +
582
 
./docs/app/assets/css/doc_widgets.css:59:  padding-bottom: 1px !important; /* fix to remove unnecessary scrollbars http://is.gd/gSMgC */
583
 
./docs/app/assets/img/angularjs-for-header-only.svg:3:<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
584
 
./docs/app/assets/img/angularjs-for-header-only.svg:4:  <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
585
 
./docs/app/assets/img/angularjs-for-header-only.svg:7:   xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
586
 
./docs/img/angularjs-for-header-only.svg:3:<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
587
 
./docs/img/angularjs-for-header-only.svg:4:     <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
588
 
./docs/img/angularjs-for-header-only.svg:7:      xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
589
 
./protractor-shared-conf.js:6:  baseUrl: 'http://localhost:8000/build/docs/',
590
 
./init-repo.sh:12:  echo "http://nodejs.org/"
591
 
./.travis.yml:21:  # - npm config set registry http://23.251.144.68
592
 
./CONTRIBUTING.md:259:[contribute]: http://docs.angularjs.org/misc/contribute
593
 
./CONTRIBUTING.md:260:[contributing]: http://docs.angularjs.org/misc/contribute
594
 
./CONTRIBUTING.md:261:[corporate-cla]: http://code.google.com/legal/corporate-cla-v1.0.html
595
 
./CONTRIBUTING.md:264:[individual-cla]: http://code.google.com/legal/individual-cla-v1.0.html
596
 
./CONTRIBUTING.md:265:[irc]: http://webchat.freenode.net/?channels=angularjs&uio=d4
597
 
./CONTRIBUTING.md:266:[js-style-guide]: http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
598
 
./CONTRIBUTING.md:267:[jsfiddle]: http://jsfiddle.net/
599
 
./CONTRIBUTING.md:270:[plunker]: http://plnkr.co/edit
600
 
./CONTRIBUTING.md:271:[stackoverflow]: http://stackoverflow.com/questions/tagged/angularjs
601
 
./README.md:15:* Web site: http://angularjs.org
602
 
./README.md:16:* Tutorial: http://docs.angularjs.org/tutorial
603
 
./README.md:17:* API Docs: http://docs.angularjs.org/api
604
 
./README.md:18:* Developer Guide: http://docs.angularjs.org/guide
605
 
./README.md:20:* Dashboard: http://dashboard.angularjs.org
606
 
./README.md:24:[Once you have your environment setup](http://docs.angularjs.org/misc/contribute) just run:
607
 
./i18n/src/closureI18nExtractor.js:115:  //    1. http://ejohn.org/blog/javascript-in-chrome/
608
 
./i18n/closure/numberSymbols.js:7://      http://www.apache.org/licenses/LICENSE-2.0
609
 
./i18n/closure/numberSymbols.js:19: * http://go/generate_number_constants.py
610
 
./i18n/closure/datetimeSymbolsExt.js:7://      http://www.apache.org/licenses/LICENSE-2.0
611
 
./i18n/closure/pluralRules.js:7://      http://www.apache.org/licenses/LICENSE-2.0
612
 
./i18n/closure/pluralRules.js:19: *   http://go/generate_pluralrules.py
613
 
./i18n/closure/pluralRules.js:69: *     (http://unicode.org/reports/tr35/tr35-numbers.html#Plural_rules_syntax)
614
 
./i18n/closure/pluralRules.js:93: *     (http://unicode.org/reports/tr35/tr35-numbers.html#Plural_rules_syntax)
615
 
./i18n/closure/currencySymbols.js:7://      http://www.apache.org/licenses/LICENSE-2.0
616
 
./i18n/closure/datetimesymbols.js:7://      http://www.apache.org/licenses/LICENSE-2.0
617
 
./i18n/closure/datetimesymbols.js:19: * http://go/generate_datetime_constants.py using --for_closure
618
 
./i18n/closure/numberSymbolsExt.js:7://      http://www.apache.org/licenses/LICENSE-2.0
619
 
./i18n/closure/numberSymbolsExt.js:19: * http://go/generate_number_constants.py
620
 
./i18n/e2e/runner.html:2:<html xmlns:ng="http://angularjs.org" wiki:ng="http://angularjs.org">
621
 
./TRIAGING.md:21:[from this blog post](http://www.lostgarden.com/2008/05/improving-bug-triage-with-user-pain.html).
622
 
./TRIAGING.md:37:    * Reproducible on master? - <http://code.angularjs.org/snapshot/>
623
 
./TRIAGING.md:130:[plunker]: http://plnkr.co/
624
 
./TRIAGING.md:131:[fiddle]: http://jsfiddle.net/
625
 
./lib/grunt/utils.js:221:            '--minerr_url http://errors.angularjs.org/' + versionNumber + '/ ' +
626
 
./lib/grunt/utils.js:335:  // see http://saucelabs.com/docs/connect#localhost
627
 
./lib/htmlparser/htmlparser.js:4: * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js
628
 
./lib/versions/version-info.js:113:        version.docsUrl = 'http://code.angularjs.org/' + version.version + '/docs';
629
 
./lib/versions/version-info.js:137:        var cdnResult = shell.exec('curl http://ajax.googleapis.com/ajax/libs/angularjs/'+version+'/angular.min.js '+
630
 
./debian/errors.json:1:{"id":"ng","generated":"Thu Oct 02 2014 15:18:57 GMT-0700 (PDT)","errors":{"ngRepeat":{"iexp":"Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.","dupes":"Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}","iidexp":"'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'."},"$sce":{"imatcher":"Matchers may only be \"self\", string patterns or RegExp objects","icontext":"Attempted to trust a value in invalid context. Context: {0}; Value: {1}","iwcard":"Illegal sequence *** in string matcher.  String: {0}","insecurl":"Blocked loading resource from url not allowed by $sceDelegate policy.  URL: {0}","iequirks":"Strict Contextual Escaping does not support Internet Explorer version < 9 in quirks mode.  You can fix this by adding the text <!doctype html> to the top of your HTML document.  See http://docs.angularjs.org/api/ng.$sce for more information.","unsafe":"Attempting to use an unsafe value in a safe context.","itype":"Attempted to trust a non-string value in a content requiring a string: Context: {0}"},"ngPattern":{"noregexp":"Expected {0} to be a RegExp but was {1}. Element: {2}"},"$controller":{"noscp":"Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`."},"$parse":{"isecfn":"Referencing Function in Angular expressions is disallowed! Expression: {0}","isecwindow":"Referencing the Window in Angular expressions is disallowed! Expression: {0}","ueoe":"Unexpected end of expression: {0}","isecdom":"Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}","lexerr":"Lexer Error: {0} at column{1} in expression [{2}].","isecobj":"Referencing Object in Angular expressions is disallowed! Expression: {0}","isecff":"Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}","syntax":"Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].","isecfld":"Attempting to access a disallowed field in Angular expressions! Expression: {0}"},"jqLite":{"offargs":"jqLite#off() does not support the `selector` argument","onargs":"jqLite#on() does not support the `selector` or `eventData` parameters","nosel":"Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element"},"$animate":{"notcsel":"Expecting class selector starting with '.' got '{0}'."},"$injector":{"pget":"Provider '{0}' must define $get factory method.","cdep":"Circular dependency found: {0}","nomod":"Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.","modulerr":"Failed to instantiate module {0} due to:\n{1}","unpr":"Unknown provider: {0}","itkn":"Incorrect injection token! Expected service name as string, got {0}"},"ngTransclude":{"orphan":"Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}"},"ngModel":{"nonassign":"Expression '{0}' is non-assignable. Element: {1}"},"$location":{"ihshprfx":"Invalid url \"{0}\", missing hash prefix \"{1}\".","ipthprfx":"Invalid url \"{0}\", missing path prefix \"{1}\".","isrcharg":"The first argument of the `$location#search()` call must be a string or an object."},"ng":{"areq":"Argument '{0}' is {1}","cpws":"Can't copy! Making copies of Window or Scope instances is not supported.","btstrpd":"App Already Bootstrapped with this Element '{0}'","cpi":"Can't copy! Source and destination are identical.","badname":"hasOwnProperty is not a valid {0} name"},"$cacheFactory":{"iid":"CacheId '{0}' is already taken!"},"$interpolate":{"noconcat":"Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required.  See http://docs.angularjs.org/api/ng.$sce","interr":"Can't interpolate: {0}\n{1}"},"ngOptions":{"iexp":"Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}"},"$rootScope":{"inprog":"{0} already in progress","infdig":"{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}"},"$compile":{"selmulti":"Binding to the 'multiple' attribute is not supported. Element: {0}","nodomevents":"Interpolations for HTML DOM event attributes are disallowed.  Please use the ng- versions (such as ng-click instead of onclick) instead.","ctreq":"Controller '{0}', required by directive '{1}', can't be found!","nonassign":"Expression '{0}' used with directive '{1}' is non-assignable!","tplrt":"Template for directive '{0}' must have exactly one root element. {1}","iscp":"Invalid isolate scope definition for directive '{0}'. Definition: {... {1}: '{2}' ...}","multidir":"Multiple directives [{0}, {1}] asking for {2} on: {3}","tpload":"Failed to load template: {0}","uterdir":"Unterminated attribute, found '{0}' but no matching '{1}' found."},"$httpBackend":{"noxhr":"This browser does not support XMLHttpRequest."},"$resource":{"badargs":"Expected up to 4 arguments [params, data, success, error], got {0} arguments","badmember":"Dotted member path \"@{0}\" is invalid.","badname":"hasOwnProperty is not a valid parameter name.","badcfg":"Error in resource configuration. Expected response to contain an {0} but got an {1}"},"$sanitize":{"badparse":"The sanitizer was unable to parse the following block of html: {0}"}}}
631
 
./debian/rules:251:     echo -n '{"raw":"v$(VERSION)","major":$(MAJOR),"minor":$(MINOR),"patch":$(DOT),"prerelease":[],"build":[],"version":"$(VERSION)","codeName":"$(CODENAME)","full":"$(VERSION)","branch":"v1.2.x","cdn":{"raw":"v$(CDNVERSION)","major":$(CDNMAJOR),"minor":$(CDNMINOR),"patch":$(CDNDOT),"prerelease":[],"build":[],"version":"$(CDNVERSION)","isStable":true,"docsUrl":"http://code.angularjs.org/$(CDNVERSION)/docs"}}' \
632
 
./debian/copyright:1:Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
633
 
./debian/copyright:47:     http://www.apache.org/licenses/LICENSE-2.0
634
 
./debian/copyright:80: the License at http://www.mozilla.org/MPL/
635
 
./debian/copyright:521:      http://www.mozilla.org/MPL/
636
 
./debian/control:8:Homepage: http://angularjs.org/
637
 
 
638
 
== encryption ==
639
 
./src/ngResource/resource.js:145: *     [requests with credentials](https://developer.mozilla.org/en/http_access_control#section_5)
640
 
./src/ngResource/resource.js:148: *     [requestType](https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#responseType).
641
 
./src/ngMock/angular-mocks.js:886: * we dont want to send [XHR](https://developer.mozilla.org/en/xmlhttprequest) or
642
 
./src/ng/rootScope.js:242:       *   [strict comparison](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators)
643
 
./src/ng/rootScope.js:782:        // - https://code.google.com/p/v8/issues/detail?id=2073#c26
644
 
./src/ng/rootScope.js:783:        // - https://github.com/angular/angular.js/issues/6794#issuecomment-38648909
645
 
./src/ng/rootScope.js:784:        // - https://github.com/angular/angular.js/issues/1313#issuecomment-10378451
646
 
./src/ng/browser.js:185:      // - the replacement is a workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=407172
647
 
./src/ng/urlUtils.js:45: *   https://github.com/angular/angular.js/pull/2902
648
 
./src/ng/location.js:548: * [window.location](https://developer.mozilla.org/en/window.location)) and makes the URL
649
 
./src/ng/parse.js:28:// See https://docs.angularjs.org/guide/security
650
 
./src/ng/sce.js:490: * [Same Origin Policy](https://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_XMLHttpRequest)
651
 
./src/ng/sce.js:564: *      recommended, e.g. in issue [#4006](https://github.com/angular/angular.js/issues/4006)),
652
 
./src/ng/controller.js:58:     * a service, so that one can override this service with [BC version](https://gist.github.com/1649788).
653
 
./src/ng/filter/filters.js:40:           // https://github.com/angular/protractor/issues/481
654
 
./src/ng/filter/filters.js:153:    // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round
655
 
./src/ng/q.js:13: * [Kris Kowal's Q](https://github.com/kriskowal/q).
656
 
./src/ng/q.js:54: * https://github.com/kriskowal/uncommonjs/blob/master/promises/specification.md.
657
 
./src/ng/q.js:58: * For more on this please see the [Q documentation](https://github.com/kriskowal/q) especially the
658
 
./src/ng/q.js:114: *   specification](https://github.com/kriskowal/q/wiki/API-Reference#promisefinallycallback) for
659
 
./src/ng/sniffer.js:60:      // https://github.com/angular/angular.js/issues/904
660
 
./src/ng/http.js:217:     * HTTP servers via the browser's [XMLHttpRequest](https://developer.mozilla.org/en/xmlhttprequest)
661
 
./src/ng/http.js:567:     * authentication cookie with a [salt](https://en.wikipedia.org/wiki/Salt_(cryptography&#41;)
662
 
./src/ng/http.js:604:     *      XHR object. See [requests with credentials](https://developer.mozilla.org/docs/Web/HTTP/Access_control_CORS#Requests_with_credentials)
663
 
./src/ng/http.js:607:     *      [requestType](https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#responseType).
664
 
./src/ng/http.js:641:                    'https://angularjs.org/greet.php?callback=JSON_CALLBACK&name=Super%20Hero')">
665
 
./src/ng/http.js:645:      ng-click="updateModel('JSONP', 'https://angularjs.org/doesntexist&callback=JSON_CALLBACK')">
666
 
./src/ng/http.js:698:// Commented out due to flakes. See https://github.com/angular/angular.js/issues/9185
667
 
./src/ng/httpBackend.js:118:          // https://bugs.webkit.org/show_bug.cgi?id=73648. Versions of Safari prior to 7 are
668
 
./src/ng/directive/input.js:486:  // More about composition events: https://developer.mozilla.org/en-US/docs/Web/API/CompositionEvent
669
 
./src/ng/directive/input.js:1287: *  - [Understanding Scopes](https://github.com/angular/angular.js/wiki/Understanding-Scopes)
670
 
./src/ng/directive/ngInclude.js:19: * [Same Origin Policy](https://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_XMLHttpRequest)
671
 
./src/ng/directive/ngInclude.js:125:          // See https://github.com/angular/protractor/issues/480
672
 
./src/ng/directive/ngEventDirs.js:406: * A [blur event](https://developer.mozilla.org/en-US/docs/Web/Events/blur) fires when
673
 
./src/ng/directive/ngCsp.js:9: * Enables [CSP (Content Security Policy)](https://developer.mozilla.org/en/Security/CSP) support.
674
 
./src/ng/directive/ngIf.js:22: * [prototypal inheritance](https://github.com/angular/angular.js/wiki/Understanding-Scopes#javascript-prototypal-inheritance).
675
 
./src/ngScenario/browserTrigger.js:144:      // igor: temporary fix for https://bugzilla.mozilla.org/show_bug.cgi?id=684208
676
 
./Gruntfile.js:58:          // to avoid https://github.com/joyent/libuv/issues/826
677
 
./scripts/clean-shrinkwrap.js:7: * See: https://github.com/npm/npm/issues/3581
678
 
./validate-commit-msg.js:5: * See https://docs.google.com/document/d/1rk04jEuGfk9kYzfqCuOlPTSJw3hEDZJTBN5E5f1SALo/edit
679
 
./validate-commit-msg.js:37:  // https://groups.google.com/group/gitx/browse_thread/thread/a03bcab60844b812
680
 
./README.closure.md:23:See https://developers.google.com/closure/compiler/
681
 
./gdocs.js:10:  'guide': 'https://docs.google.com/feeds/default/private/full/folder%3A0B9PsajIPqzmANGUwMGVhZmYtMTk1ZC00NTdmLWIxMDAtZGI5YWNlZjQ2YjZl/contents',
682
 
./gdocs.js:11:  'api': 'https://docs.google.com/feeds/default/private/full/folder%3A0B7Ovm8bUYiUDYjMwYTc2YWUtZTgzYy00YjIxLThlZDYtYWJlOTFlNzE2NzEw/contents',
683
 
./gdocs.js:12:  'tutorial': 'https://docs.google.com/feeds/default/private/full/folder%3A0B9PsajIPqzmAYWMxYWE3MzYtYzdjYS00OGQxLWJhZjItYzZkMzJiZTRhZjFl/contents',
684
 
./gdocs.js:13:  'cookbook': 'https://docs.google.com/feeds/default/private/full/folder%3A0B7Ovm8bUYiUDNzkxZWM5ZTItN2M5NC00NWIxLTg2ZDMtMmYwNDY1NWM1MGU4/contents',
685
 
./gdocs.js:14:  'misc': 'https://docs.google.com/feeds/default/private/full/folder%3A0B7Ovm8bUYiUDZjVlNmZkYzQtMjZlOC00NmZhLWI5MjAtMGRjZjlkOGJkMDBi/contents'
686
 
./gdocs.js:107: *    -s https://www.google.com/accounts/ClientLogin
687
 
./gdocs.js:115:  request('POST', 'https://www.google.com/accounts/ClientLogin',
688
 
./docs/config/templates/indexPage.template.html:66:      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
689
 
./docs/config/templates/indexPage.template.html:94:                    <li><a href="https://github.com/angular/angular-seed">Seed App project template</a></li>
690
 
./docs/config/templates/indexPage.template.html:122:                    <li><a href="https://twitter.com/#!/angularjs">Twitter</a></li>
691
 
./docs/config/templates/indexPage.template.html:123:                    <li><a href="https://plus.google.com/110323587230527980117">Google+</a></li>
692
 
./docs/config/templates/indexPage.template.html:125:                    <li><a href="https://github.com/angular/angular.js">GitHub</a></li>
693
 
./docs/config/templates/indexPage.template.html:126:                    <li><a href="https://github.com/angular/angular.js/issues">Issue Tracker</a></li>
694
 
./docs/config/templates/indexPage.template.html:225:               ng-href="https://github.com/angular/angular.js/blob/master/CHANGELOG.md#{{versionNumber}}"
695
 
./docs/config/templates/indexPage.template.html:232:          <a href="https://github.com/angular/angular.js/blob/master/LICENSE" target="_blank">The
696
 
./docs/content/guide/e2e-testing.ngdoc:20:We have built [Protractor](https://github.com/angular/protractor), an end
697
 
./docs/content/guide/e2e-testing.ngdoc:27:written in JavaScript and run with node. Protractor uses [WebDriver](https://code.google.com/p/selenium/wiki/GettingStarted)
698
 
./docs/content/guide/e2e-testing.ngdoc:78:See the [angular-seed](https://github.com/angular/angular-seed) project for more examples, or look
699
 
./docs/content/guide/ie.ngdoc:21:[Travis CI](https://travis-ci.org/angular/angular.js) and
700
 
./docs/content/guide/ie.ngdoc:33:     [JSON2](https://github.com/douglascrockford/JSON-js) or
701
 
./docs/content/guide/services.ngdoc:139:  If you use a tool like [ngmin](https://github.com/btford/ngmin#ngmin) in your workflow you can
702
 
./docs/content/guide/migration.ngdoc:23:[changelog](https://github.com/angular/angular.js/blob/master/CHANGELOG.md) as well.</p>
703
 
./docs/content/guide/migration.ngdoc:86:See [5599b55b](https://github.com/angular/angular.js/commit/5599b55b04788c2e327d7551a4a699d75516dd21).
704
 
./docs/content/guide/migration.ngdoc:119:See [5dc35b52](https://github.com/angular/angular.js/commit/5dc35b527b3c99f6544b8cb52e93c6510d3ac577),
705
 
./docs/content/guide/migration.ngdoc:120:[b6a37d11](https://github.com/angular/angular.js/commit/b6a37d112b3e1478f4d14a5f82faabf700443748).
706
 
./docs/content/guide/migration.ngdoc:141:See [04cebcc1](https://github.com/angular/angular.js/commit/04cebcc133c8b433a3ac5f72ed19f3631778142b).
707
 
./docs/content/guide/migration.ngdoc:216:See [38deedd6](https://github.com/angular/angular.js/commit/38deedd6e3d806eb8262bb43f26d47245f6c2739).
708
 
./docs/content/guide/migration.ngdoc:243:See [39841f2e](https://github.com/angular/angular.js/commit/39841f2ec9b17b3b2920fd1eb548d444251f4f56).
709
 
./docs/content/guide/migration.ngdoc:251:See [e46100f7](https://github.com/angular/angular.js/commit/e46100f7097d9a8f174bdb9e15d4c6098395c3f2).
710
 
./docs/content/guide/migration.ngdoc:257:library](https://github.com/kriskowal/q), despite the fact that this makes it a bit more difficult
711
 
./docs/content/guide/migration.ngdoc:283:See [f078762d](https://github.com/angular/angular.js/commit/f078762d48d0d5d9796dcdf2cb0241198677582c).
712
 
./docs/content/guide/migration.ngdoc:294:See [94ec84e7](https://github.com/angular/angular.js/commit/94ec84e7b9c89358dc00e4039009af9e287bbd05).
713
 
./docs/content/guide/migration.ngdoc:313:See [05772e15](https://github.com/angular/angular.js/commit/05772e15fbecfdc63d4977e2e8839d8b95d6a92d).
714
 
./docs/content/guide/migration.ngdoc:333:See [05772e15](https://github.com/angular/angular.js/commit/05772e15fbecfdc63d4977e2e8839d8b95d6a92d).
715
 
./docs/content/guide/migration.ngdoc:364:See [05772e15](https://github.com/angular/angular.js/commit/05772e15fbecfdc63d4977e2e8839d8b95d6a92d).
716
 
./docs/content/guide/migration.ngdoc:381:See [80739409](https://github.com/angular/angular.js/commit/807394095b991357225a03d5fed81fea5c9a1abe).
717
 
./docs/content/guide/migration.ngdoc:397:See [dae69473](https://github.com/angular/angular.js/commit/dae694739b9581bea5dbc53522ec00d87b26ae55).
718
 
./docs/content/guide/migration.ngdoc:429:See [8ea802a1](https://github.com/angular/angular.js/commit/8ea802a1d23ad8ecacab892a3a451a308d9c39d7).
719
 
./docs/content/guide/migration.ngdoc:440:See [7a586e5c](https://github.com/angular/angular.js/commit/7a586e5c19f3d1ecc3fefef084ce992072ee7f60).
720
 
./docs/content/guide/migration.ngdoc:493:commit](https://github.com/angular/angular.js/commit/31f190d4d53921d32253ba80d9ebe57d6c1de82b) to see how an internal
721
 
./docs/content/guide/migration.ngdoc:496:See [31f190d4](https://github.com/angular/angular.js/commit/31f190d4d53921d32253ba80d9ebe57d6c1de82b).
722
 
./docs/content/guide/migration.ngdoc:514:See [b7af76b4](https://github.com/angular/angular.js/commit/b7af76b4c5aa77648cc1bfd49935b48583419023).
723
 
./docs/content/guide/migration.ngdoc:523:See [28f56a38](https://github.com/angular/angular.js/commit/28f56a383e9d1ff378e3568a3039e941c7ffb1d8).
724
 
./docs/content/guide/migration.ngdoc:534:See [7d69d52a](https://github.com/angular/angular.js/commit/7d69d52acff8578e0f7d6fe57a6c45561a05b182),
725
 
./docs/content/guide/migration.ngdoc:535:[aa2133ad](https://github.com/angular/angular.js/commit/aa2133ad818d2e5c27cbd3933061797096356c8a).
726
 
./docs/content/guide/migration.ngdoc:544:See [1adf29af](https://github.com/angular/angular.js/commit/1adf29af13890d61286840177607edd552a9df97),
727
 
./docs/content/guide/migration.ngdoc:545:[3e39ac7e](https://github.com/angular/angular.js/commit/3e39ac7e1b10d4812a44dad2f959a93361cd823b).
728
 
./docs/content/guide/migration.ngdoc:551:[isolate scope](https://github.com/angular/angular.js/wiki/Understanding-Scopes). In Angular 1.0, if a
729
 
./docs/content/guide/migration.ngdoc:616:See [909cabd3](https://github.com/angular/angular.js/commit/909cabd36d779598763cc358979ecd85bb40d4d7),
730
 
./docs/content/guide/migration.ngdoc:617:[#1924](https://github.com/angular/angular.js/issues/1924) and
731
 
./docs/content/guide/migration.ngdoc:618:[#2500](https://github.com/angular/angular.js/issues/2500).
732
 
./docs/content/guide/migration.ngdoc:629:See [79223eae](https://github.com/angular/angular.js/commit/79223eae5022838893342c42dacad5eca83fabe8),
733
 
./docs/content/guide/migration.ngdoc:630:[#4525](https://github.com/angular/angular.js/issues/4525),
734
 
./docs/content/guide/migration.ngdoc:631:[#4528](https://github.com/angular/angular.js/issues/4528), and
735
 
./docs/content/guide/migration.ngdoc:632:[#4649](https://github.com/angular/angular.js/issues/4649)
736
 
./docs/content/guide/migration.ngdoc:670:See [3d6a89e8](https://github.com/angular/angular.js/commit/3d6a89e8888b14ae5cb5640464e12b7811853c7e).
737
 
./docs/content/guide/migration.ngdoc:680:See [d87fa004](https://github.com/angular/angular.js/commit/d87fa0042375b025b98c40bff05e5f42c00af114).
738
 
./docs/content/guide/migration.ngdoc:697:See [6382e21f](https://github.com/angular/angular.js/commit/6382e21fb28541a2484ac1a241d41cf9fbbe9d2c).
739
 
./docs/content/guide/migration.ngdoc:734:See [c22adbf1](https://github.com/angular/angular.js/commit/c22adbf160f32c1839fbb35382b7a8c6bcec2927).
740
 
./docs/content/guide/controller.ngdoc:207:See [Understanding Scopes](https://github.com/angular/angular.js/wiki/Understanding-Scopes) for
741
 
./docs/content/guide/i18n.ngdoc:28:[`i18n/e2e` directory](https://github.com/angular/angular.js/tree/master/i18n/e2e) of the Angular
742
 
./docs/content/guide/i18n.ngdoc:46:[here](https://github.com/angular/angular.js/tree/master/src/ngLocale)
743
 
./docs/content/guide/index.ngdoc:17:* [Design Principles of AngularJS (video)](https://www.youtube.com/watch?v=HCR7i5F5L8c)
744
 
./docs/content/guide/index.ngdoc:44:* **Security:** {@link guide/security Security Docs}, {@link ng.$sce Strict Contextual Escaping}, {@link ng.directive:ngCsp Content Security Policy}, {@link ngSanitize.$sanitize $sanitize}, [video](https://www.youtube.com/watch?v=18ifoT-Id54)
745
 
./docs/content/guide/index.ngdoc:51:* **Scenario testing:** [Protractor](https://github.com/angular/protractor)
746
 
./docs/content/guide/index.ngdoc:55:* **Login: **[Google example](https://developers.google.com/+/photohunt/python), [Facebook example](http://blog.brunoscopelliti.com/facebook-authentication-in-your-angularjs-web-app), [authentication strategy](http://blog.brunoscopelliti.com/deal-with-users-authentication-in-an-angularjs-web-app), [unix-style authorization](http://frederiknakstad.com/authentication-in-single-page-applications-with-angular-js/)
747
 
./docs/content/guide/index.ngdoc:57:* **Other Languages:** [CoffeeScript](http://www.coffeescriptlove.com/2013/08/angularjs-and-coffeescript-tutorials.html), [Dart](https://github.com/angular/angular.dart.tutorial/wiki)
748
 
./docs/content/guide/index.ngdoc:58:* **Realtime: **[Socket.io](http://www.creativebloq.com/javascript/angularjs-collaboration-board-socketio-2132885), [OmniBinder](https://github.com/jeffbcross/omnibinder)
749
 
./docs/content/guide/index.ngdoc:60:* **Local Storage and session:** [ngStorage](https://github.com/gsklee/ngStorage)
750
 
./docs/content/guide/index.ngdoc:64:* **Debugging:** [Batarang](https://chrome.google.com/webstore/detail/angularjs-batarang/ighdmehidhipcmcojjgiloacoafjmpfk?hl=en)
751
 
./docs/content/guide/index.ngdoc:65:* **Testing:** [Karma](http://karma-runner.github.io), [Protractor](https://github.com/angular/protractor)
752
 
./docs/content/guide/index.ngdoc:66:* **Editor support:** [Webstorm](http://plugins.jetbrains.com/plugin/6971) (and [video](http://www.youtube.com/watch?v=LJOyrSh1kDU)), [Sublime Text](https://github.com/angular-ui/AngularJS-sublime-package), [Visual Studio](http://madskristensen.net/post/angularjs-intellisense-in-visual-studio-2012)
753
 
./docs/content/guide/index.ngdoc:67:* **Workflow:** [Yeoman.io](https://github.com/yeoman/generator-angular) and [Angular Yeoman Tutorial](http://www.sitepoint.com/kickstart-your-angularjs-development-with-yeoman-grunt-and-bower/)
754
 
./docs/content/guide/index.ngdoc:74:* **RESTful services:** [Restangular](https://github.com/mgonto/restangular)
755
 
./docs/content/guide/index.ngdoc:76:* **UI Widgets: **[KendoUI](http://kendo-labs.github.io/angular-kendo/#/), [UI Bootstrap](http://angular-ui.github.io/bootstrap/), [Wijmo](http://wijmo.com/tag/angularjs-2/), [ngTagsInput](https://github.com/mbenford/ngTagsInput)
756
 
./docs/content/guide/index.ngdoc:77:* **Advanced Routing:** [UI-Router](https://github.com/angular-ui/ui-router)
757
 
./docs/content/guide/index.ngdoc:78:* **Maps:** [UI-Map (Google Maps)](https://github.com/angular-ui/ui-map)
758
 
./docs/content/guide/index.ngdoc:85:* **Analytics and Logging:** [Angularyitcs (Google Analytics)](http://ngmodules.org/modules/angularytics), [Angulartics (Analytics)](https://github.com/luisfarzati/angulartics), [Logging Client-Side Errors](http://www.bennadel.com/blog/2542-Logging-Client-Side-Errors-With-AngularJS-And-Stacktrace-js.htm)
759
 
./docs/content/guide/index.ngdoc:92:* **Google Cloud Platform: **[with Cloud Endpoints](https://cloud.google.com/developers/articles/angularjs-cloud-endpoints-recipe-for-building-modern-web-applications/), [with Go](https://github.com/GoogleCloudPlatform/appengine-angular-gotodos)
760
 
./docs/content/guide/index.ngdoc:94:* **MEAN Stack: **[Blog post](http://blog.mongodb.org/post/49262866911/the-mean-stack-mongodb-expressjs-angularjs-and), [Setup](http://thecodebarbarian.wordpress.com/2013/07/22/introduction-to-the-mean-stack-part-one-setting-up-your-tools/), [GDL Video](https://developers.google.com/live/shows/913996610)
761
 
./docs/content/guide/index.ngdoc:95:* **Rails: **[Tutorial](http://coderberry.me/blog/2013/04/22/angularjs-on-rails-4-part-1/), [AngularJS with Rails4](https://shellycloud.com/blog/2013/10/how-to-integrate-angularjs-with-rails-4), [angularjs-rails](https://github.com/hiravgandhi/angularjs-rails)
762
 
./docs/content/guide/index.ngdoc:97:* **Meteor: **[angular-meteor package](https://github.com/Urigo/angular-meteor)
763
 
./docs/content/guide/index.ngdoc:119:  [CodeSchool](https://www.codeschool.com/courses/shaping-up-with-angular-js)
764
 
./docs/content/guide/index.ngdoc:122:  [Tuts+](https://tutsplus.com/course/easier-js-apps-with-angular/),
765
 
./docs/content/guide/index.ngdoc:133:* [AngularJS mailing list](https://groups.google.com/forum/#!forum/angular)
766
 
./docs/content/guide/index.ngdoc:138:* **Daily updates:** [Google+](https://plus.google.com/u/0/+AngularJS) or [Twitter](https://twitter.com/angularjs)
767
 
./docs/content/guide/index.ngdoc:149:Didn't find what you're looking for here?  Check out [AngularJS-Learning](https://github.com/jmcunningham/AngularJS-Learning) for an even more comprehensive list of links to videos, tutorials, and blog posts.
768
 
./docs/content/guide/index.ngdoc:151:If you have awesome AngularJS resources that belong on this page, please tell us about them on [Google+](https://plus.google.com/u/0/+AngularJS) or [Twitter](https://twitter.com/angularjs).
769
 
./docs/content/guide/$location.ngdoc:8:The `$location` service parses the URL in the browser address bar (based on the [window.location](https://developer.mozilla.org/en/window.location)) and makes the URL available to
770
 
./docs/content/guide/$location.ngdoc:812:The Angular's compiler currently does not support two-way binding for methods (see [issue](https://github.com/angular/angular.js/issues/404)).  If you should require two-way binding
771
 
./docs/content/guide/concepts.ngdoc:382:[`XMLHttpRequest`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest)
772
 
./docs/content/guide/unit-testing.ngdoc:418:[karma-ng-html2js-preprocessor](https://github.com/karma-runner/karma-ng-html2js-preprocessor)
773
 
./docs/content/guide/unit-testing.ngdoc:423:See the [angular-seed](https://github.com/angular/angular-seed) project for an example.
774
 
./docs/content/guide/introduction.ngdoc:106:    [Guice](https://github.com/google/guice)-like dependency-injection style. This allows you
775
 
./docs/content/tutorial/step_07.ngdoc:32:  "homepage": "https://github.com/angular/angular-phonecat",
776
 
./docs/content/tutorial/step_07.ngdoc:109:[Understanding Dependency Injection](https://github.com/angular/angular.js/wiki/Understanding-Dependency-Injection).
777
 
./docs/content/tutorial/step_00.ngdoc:169:[angular-seed]: https://github.com/angular/angular-seed
778
 
./docs/content/tutorial/step_03.ngdoc:122:Jasmine, the end-to-end test uses APIs of [Protractor](https://github.com/angular/protractor). Read
779
 
./docs/content/tutorial/index.ngdoc:76:git clone --depth=14 https://github.com/angular/angular-phonecat.git
780
 
./docs/content/tutorial/index.ngdoc:121:  <a href="https://github.com/creationix/nvm" title="Node Version Manager Github Repo link">
781
 
./docs/content/tutorial/index.ngdoc:271:[angular-phonecat]: https://github.com/angular/angular-phonecat
782
 
./docs/content/tutorial/index.ngdoc:272:[protractor]: https://github.com/angular/protractor
783
 
./docs/content/tutorial/index.ngdoc:274:[http-server]: https://github.com/nodeapps/http-server
784
 
./docs/content/tutorial/index.ngdoc:275:[karma]: https://github.com/karma-runner/karma
785
 
./docs/content/tutorial/step_11.ngdoc:31:  "homepage": "https://github.com/angular/angular-seed",
786
 
./docs/content/tutorial/step_11.ngdoc:291:[jasmine-matchers]: https://github.com/pivotal/jasmine/wiki/Matchers
787
 
./docs/content/tutorial/step_12.ngdoc:35:  "homepage": "https://github.com/angular/angular-seed",
788
 
./docs/content/tutorial/the_end.ngdoc:13:your development with the [angular-seed](https://github.com/angular/angular-seed) project.
789
 
./docs/content/tutorial/the_end.ngdoc:19:If you have questions or feedback or just want to say "hi", please post a message at (https://groups.google.com/forum/#!forum/angular).
790
 
./docs/content/misc/started.ngdoc:15:1. Download or clone the [Seed App project template](https://github.com/angular/angular-seed).<br/>Gives you a
791
 
./docs/content/misc/started.ngdoc:35:* Follow us on [Twitter](https://twitter.com/intent/follow?original_referer=http%3A%2F%2Fangularjs.org%2F&region=follow_link&screen_name=angularjs&source=followbutton&variant=2.0)
792
 
./docs/content/misc/started.ngdoc:36:* Add us to your circles on [Google+](https://plus.google.com/110323587230527980117/posts)
793
 
./docs/content/misc/faq.ngdoc:75:Yes, you can use widgets from the [Closure Library](https://developers.google.com/closure/library/)
794
 
./docs/content/misc/faq.ngdoc:103:The [MIT License](https://github.com/angular/angular.js/blob/master/LICENSE).
795
 
./docs/content/misc/faq.ngdoc:107:Yes! You can find design files in our github repository, under "[angular.js/images/logo](https://github.com/angular/angular.js/tree/master/images/logo)"
796
 
./docs/content/misc/contribute.ngdoc:10:See the [contributing guidelines](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md)
797
 
./docs/content/misc/contribute.ngdoc:27:Installing Git](https://help.github.com/articles/set-up-git) is a good source of information.
798
 
./docs/content/misc/contribute.ngdoc:34:[Closure Tools](https://developers.google.com/closure/) jar. Make sure you have Java (version 7 or higher) installed
799
 
./docs/content/misc/contribute.ngdoc:54:To create a Github account, follow the instructions [here](https://github.com/signup/free).
800
 
./docs/content/misc/contribute.ngdoc:55:Afterwards, go ahead and [fork](http://help.github.com/forking) the [main AngularJS repository](https://github.com/angular/angular.js).
801
 
./docs/content/misc/contribute.ngdoc:71:git remote add upstream "https://github.com/angular/angular.js.git"
802
 
./docs/content/misc/downloading.ngdoc:25:      <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script>
803
 
./docs/content/misc/downloading.ngdoc:69: See [angular-seed](https://github.com/angular/angular-seed/blob/master/app/index-async.html) for an example of usage.
804
 
./docs/content/error/$compile/tpload.ngdoc:9:The [Chrome Developer Tools](https://developers.google.com/chrome-developer-tools/docs/network#network_panel_overview) might also be helpful in determining why the request failed.
805
 
./docs/content/error/$sce/insecurl.ngdoc:23:Policy](https://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_XMLHttpRequest) and
806
 
./docs/app/src/tutorials.js:15:      '<a ng-href="https://github.com/angular/angular-phonecat/compare/step-{{diffLo}}...step-{{diffHi}}"><li class="btn btn-primary"><i class="glyphicon glyphicon-search"></i> Code Diff</li></a>\n' +
807
 
./docs/app/src/tutorials.js:46:        '<a ng-href="https://github.com/angular/angular-phonecat/compare/step-{{step ? (step - 1): \'0~1\'}}...step-{{step}}">GitHub</a>\n' +
808
 
./docs/app/assets/js/angular-bootstrap/dropdown-toggle.js:1:/* This code is taken from the AngularUI - Bootstrap Project (https://github.com/angular-ui/bootstrap)
809
 
./docs/app/assets/js/angular-bootstrap/dropdown-toggle.js:5: * Copyright (c) 2012-2014 the AngularUI Team, https://github.com/organizations/angular-ui/teams/291112
810
 
./.travis.yml:45:      - https://webhooks.gitter.im/e/d2120f3f2bb39a4531b2
811
 
./karma-shared.conf.js:33:    // https://saucelabs.com/docs/platforms/webdriver
812
 
./package.json:6:    "url": "https://github.com/angular/angular.js.git"
813
 
./package.json:68:      "url": "https://github.com/angular/angular.js/blob/master/LICENSE"
814
 
./CONTRIBUTING.md:48:minimize duplication of effort. Before starting, check out the issue queue for [Milestone:Docs Only](https://github.com/angular/angular.js/issues?milestone=24&state=open). 
815
 
./CONTRIBUTING.md:78:Here is a great example of a well defined issue: https://github.com/angular/angular.js/issues/5069
816
 
./CONTRIBUTING.md:85:* Search [GitHub](https://github.com/angular/angular.js/pulls) for an open or closed Pull Request
817
 
./CONTRIBUTING.md:255:[Google Closure I18N library]: https://github.com/google/closure-library/tree/master/closure/goog/i18n
818
 
./CONTRIBUTING.md:256:[angular-dev]: https://groups.google.com/forum/?fromgroups#!forum/angular-dev
819
 
./CONTRIBUTING.md:257:[coc]: https://github.com/angular/code-of-conduct/blob/master/CODE_OF_CONDUCT.md
820
 
./CONTRIBUTING.md:258:[commit-message-format]: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#
821
 
./CONTRIBUTING.md:262:[github]: https://github.com/angular/angular.js
822
 
./CONTRIBUTING.md:263:[groups]: https://groups.google.com/forum/?fromgroups#!forum/angular
823
 
./CONTRIBUTING.md:268:[list]: https://groups.google.com/forum/?fromgroups#!forum/angular
824
 
./CONTRIBUTING.md:269:[ngDocs]: https://github.com/angular/angular.js/wiki/Writing-AngularJS-Documentation
825
 
./CONTRIBUTING.md:272:[unit-testing]: https://docs.angularjs.org/guide/unit-testing
826
 
./CONTRIBUTING.md:274:[![Analytics](https://ga-beacon.appspot.com/UA-8594346-11/angular.js/CONTRIBUTING.md?pixel)](https://github.com/igrigorik/ga-beacon)
827
 
./README.md:1:AngularJS [![Build Status](https://travis-ci.org/angular/angular.js.svg?branch=master)](https://travis-ci.org/angular/angular.js)
828
 
./README.md:19:* Contribution guidelines: [CONTRIBUTING.md](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md)
829
 
./README.md:41:[contribution guidelines](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md).
830
 
./README.md:44:[![Analytics](https://ga-beacon.appspot.com/UA-8594346-11/angular.js/README.md?pixel)](https://github.com/igrigorik/ga-beacon)
831
 
./changelog.js:17:var LINK_ISSUE = '[#%s](https://github.com/angular/angular.js/issues/%s)';
832
 
./changelog.js:18:var LINK_COMMIT = '[%s](https://github.com/angular/angular.js/commit/%s)';
833
 
./i18n/src/closureI18nExtractor.js:120:  //    2. https://code.google.com/p/v8/issues/detail?id=164
834
 
./i18n/update-closure.sh:10:I18N_BASE="https://raw.githubusercontent.com/google/closure-library/master/closure/goog/i18n"
835
 
./bower.json:5:    "closure-compiler": "https://closure-compiler.googlecode.com/files/compiler-20130603.zip",
836
 
./bower.json:6:    "ng-closure-runner": "https://raw.github.com/angular/ng-closure-runner/v0.2.3/assets/ng-closure-runner.zip"
837
 
./TRIAGING.md:23:1. Open the list of [non triaged issues](https://github.com/angular/angular.js/issues?direction=desc&milestone=none&page=1&sort=created&state=open)
838
 
./TRIAGING.md:87:[Brian](https://github.com/btford) is probably the person to ask.
839
 
./TRIAGING.md:124:[![Analytics](https://ga-beacon.appspot.com/UA-8594346-11/angular.js/TRIAGING.md?pixel)](https://github.com/igrigorik/ga-beacon)
840
 
./TRIAGING.md:128:[code of conduct]: https://github.com/angular/code-of-conduct/blob/master/CODE_OF_CONDUCT.md
841
 
./TRIAGING.md:129:[Mary Poppins]: https://github.com/btford/mary-poppins
842
 
./lib/sauce/sauce_connect_setup.sh:9:# Follow the steps at https://saucelabs.com/opensource/travis to set that up.
843
 
./lib/sauce/sauce_connect_setup.sh:13:#   - curl https://gist.github.com/santiycr/5139565/raw/sauce_connect_setup.sh | bash
844
 
./lib/sauce/sauce_connect_setup.sh:15:CONNECT_URL="https://saucelabs.com/downloads/sc-4.3-linux.tar.gz"
845
 
./debian/watch:2:https://github.com/angular/angular.js/tags .*/v?(1\.2\.\d[^\s/]*)\.(?:tar\.xz|txz|tar\.bz2|tbz2|tar\.gz|tgz)
846
 
./debian/copyright:3:Source: https://github.com/angular/angular.js
847
 
./debian/fetch-orig.sh:5:wget https://ajax.googleapis.com/ajax/libs/angularjs/$VERSION/angular.js
848
 
./debian/fetch-orig.sh:6:wget https://ajax.googleapis.com/ajax/libs/angularjs/$VERSION/angular-animate.js
849
 
./debian/fetch-orig.sh:7:wget https://ajax.googleapis.com/ajax/libs/angularjs/$VERSION/angular-cookies.js
850
 
./debian/fetch-orig.sh:8:wget https://ajax.googleapis.com/ajax/libs/angularjs/$VERSION/angular-loader.js
851
 
./debian/fetch-orig.sh:9:wget https://ajax.googleapis.com/ajax/libs/angularjs/$VERSION/angular-mocks.js
852
 
./debian/fetch-orig.sh:10:wget https://ajax.googleapis.com/ajax/libs/angularjs/$VERSION/angular-resource.js
853
 
./debian/fetch-orig.sh:11:wget https://ajax.googleapis.com/ajax/libs/angularjs/$VERSION/angular-route.js
854
 
./debian/fetch-orig.sh:12:wget https://ajax.googleapis.com/ajax/libs/angularjs/$VERSION/angular-sanitize.js
855
 
./debian/fetch-orig.sh:13:wget https://ajax.googleapis.com/ajax/libs/angularjs/$VERSION/angular-touch.js
856
 
./debian/fetch-orig.sh:15:wget https://ajax.googleapis.com/ajax/libs/angularjs/$VERSION/angular-csp.css
857
 
./debian/fetch-orig.sh:17:wget https://ajax.googleapis.com/ajax/libs/angularjs/$VERSION/version.json
858
 
./debian/fetch-orig.sh:18:wget https://ajax.googleapis.com/ajax/libs/angularjs/$VERSION/version.txt
859
 
./debian/fetch-orig.sh:20:wget https://ajax.googleapis.com/ajax/libs/angularjs/$VERSION/errors.json
860
 
 
861
 
== sql() ==
862
 
./src/ngResource/resource.js:229:     var cards = CreditCard.query(function() {
863
 
./src/ng/compile.js:124: * which will execute (any directives at the current priority will still execute
864
 
./src/ngScenario/dsl.js:348: *    element(selector, label).query(fn) executes fn(selectedElements, done)
865
 
./src/ngScenario/SpecRunner.js:56:        future.execute(function(error) {
866
 
./src/ngScenario/Scenario.js:304:    var element = windowJquery(this),
867
 
./test/ngResource/resourceSpec.js:145:    $resource('URL').query();
868
 
./test/ngResource/resourceSpec.js:403:    var ccs = CreditCard.query();
869
 
./test/ngResource/resourceSpec.js:435:    var ccs = CreditCard.query({key: 'value'}, callback);
870
 
./test/ngResource/resourceSpec.js:450:    var ccs = CreditCard.query(function() { log += 'cb;'; });
871
 
./test/ngResource/resourceSpec.js:814:        var ccs = CreditCard.query({key: 'value'});
872
 
./test/ngResource/resourceSpec.js:828:        var ccs = CreditCard.query({key: 'value'});
873
 
./test/ngResource/resourceSpec.js:844:        var ccs = CreditCard.query({key: 'value'});
874
 
./test/ngResource/resourceSpec.js:855:        var ccs = CreditCard.query({key: 'value'});
875
 
./test/ngResource/resourceSpec.js:869:        var ccs = CreditCard.query({key: 'value'}, callback);
876
 
./test/ngResource/resourceSpec.js:884:        var ccs = CreditCard.query({key: 'value'});
877
 
./test/ngResource/resourceSpec.js:908:      var ccs = CreditCard.query();
878
 
./test/ngResource/resourceSpec.js:937:      var ccs = CreditCard.query();
879
 
./test/ngResource/resourceSpec.js:1011:        var user = UserService.query();
880
 
./test/ngResource/resourceSpec.js:1019:        var user = UserService.query();
881
 
./test/ngResource/resourceSpec.js:1027:        var user = UserService.query({red: 'blue'});
882
 
./test/ngResource/resourceSpec.js:1035:        var user = UserService.query({red: 'blue'});
883
 
./test/ngResource/resourceSpec.js:1049:        var user = UserService.query();
884
 
./test/ngResource/resourceSpec.js:1056:        var strings = $resource('/names.json').query();
885
 
./test/ngResource/resourceSpec.js:1063:        var numbers = $resource('/names.json').query();
886
 
./test/ngResource/resourceSpec.js:1070:        var bools = $resource('/names.json').query();
887
 
./test/ngResource/resourceSpec.js:1155:      it('should work with query()', function() {
888
 
./test/ngResource/resourceSpec.js:1157:        $resource('/users/\\.json').query();
889
 
./test/ngResource/resourceSpec.js:1253:    $resource('/Customer/123').query()
890
 
./test/ngScenario/dslSpec.js:514:        $root.dsl.element('#test').query(function(elements, done) {
891
 
./test/ngScenario/FutureSpec.js:21:    future.execute(angular.noop);
892
 
./test/ngScenario/FutureSpec.js:29:    future.execute(function(error, result) {
893
 
./test/ngScenario/FutureSpec.js:39:    future.execute(angular.noop);
894
 
./test/ngScenario/FutureSpec.js:47:    future.fromJson().execute(angular.noop);
895
 
./test/ngScenario/FutureSpec.js:55:    future.toJson().execute(angular.noop);
896
 
./test/ngScenario/FutureSpec.js:65:    }).execute(angular.noop);
897
 
./test/ngScenario/FutureSpec.js:73:    future.fromJson().execute(function(error, result) {
898
 
./test/ngScenario/SpecRunnerSpec.js:57:    runner.futures[0].execute(angular.noop);
899
 
./test/ngScenario/SpecRunnerSpec.js:66:    runner.futures[0].execute(function(error, result) {
900
 
./CHANGELOG.md:4627:    Resource.query().$then(callback);
901
 
./CHANGELOG.md:4633:    Resource.query().$promise.then(callback);
902
 
./CHANGELOG.md:4658:    Resource.query().$then(function(response) {...});
903
 
./docs/content/guide/migration.ngdoc:304:Resource.query().$then(callback);
904
 
./docs/content/guide/migration.ngdoc:310:Resource.query().$promise.then(callback);
905
 
./docs/content/guide/migration.ngdoc:345:Resource.query().$then(function(response) {...});
906
 
./docs/content/tutorial/step_11.ngdoc:133:  $scope.phones = Phone.query();
907
 
./docs/content/tutorial/step_11.ngdoc:156:    $scope.phones = Phone.query();
908
 
 
909
 
== tmp() ==
910
 
./scripts/code.angularjs.org/publish.sh:14:  TMP_DIR=$(resolveDir ../../tmp)
911
 
./scripts/bower/publish.sh:14:  TMP_DIR=$(resolveDir ../../tmp)
912
 
./.gitignore:19:/tmp/
913
 
./.travis.yml:17:    - LOGS_DIR=/tmp/angular-build/logs
914
 
./.travis.yml:18:    - BROWSER_PROVIDER_READY_FILE=/tmp/sauce-connect-ready
915
 
./lib/sauce/sauce_connect_setup.sh:16:CONNECT_DIR="/tmp/sauce-connect-$RANDOM"
916
 
 
917
 
== priv_cmds (sudo, gksu, pkexec) ==
918
 
./docs/content/tutorial/index.ngdoc:161:using, `sudo npm install -g ...`.
919
 
./docs/content/tutorial/index.ngdoc:166:sudo npm install -g bower
920
 
./docs/content/tutorial/index.ngdoc:169:*(Omit the sudo if running on Windows)*
921
 
./docs/content/misc/contribute.ngdoc:49:**Note:** You may need to use sudo (for OSX, *nix, BSD etc) or run your command shell as Administrator (for Windows) to install Grunt &amp;
922
 
./docs/content/misc/contribute.ngdoc:93:<li>sudo npm install -g grunt-cli</li>
923
 
./docs/content/misc/contribute.ngdoc:94:<li>sudo npm install -g bower</li>
924
 
 
925
 
== envvars() ==
926
 
 
927
 
== webkit() ==
928
 
./src/ngTouch/directive/ngClick.js:129:    // Work around desktop Webkit quirk where clicking a label will fire two clicks (on the label
929
 
./src/ng/raf.js:6:                                $window.webkitRequestAnimationFrame ||
930
 
./src/ng/raf.js:10:                               $window.webkitCancelAnimationFrame ||
931
 
./src/ng/raf.js:12:                               $window.webkitCancelRequestAnimationFrame;
932
 
./src/ng/sniffer.js:27:        vendorRegex = /^(Moz|webkit|O|ms)(?=[A-Z])/,
933
 
./src/ng/sniffer.js:43:        vendorPrefix = ('WebkitOpacity' in bodyStyle) && 'webkit';
934
 
./src/ng/sniffer.js:50:        transitions = isString(document.body.style.webkitTransition);
935
 
./src/ng/sniffer.js:51:        animations = isString(document.body.style.webkitAnimation);
936
 
./src/ng/sniffer.js:62:      // older webkit browser (533.9) on Boxee box has exactly the same problem as Android has
937
 
./src/ng/httpBackend.js:75:        // onreadystatechange might get called multiple times with readyState === 4 on mobile webkit caused by
938
 
./src/ng/httpBackend.js:117:          // WebKit added support for the json responseType value on 09/03/2013
939
 
./src/ng/httpBackend.js:118:          // https://bugs.webkit.org/show_bug.cgi?id=73648. Versions of Safari prior to 7 are
940
 
./src/ng/directive/ngSwitch.js:94:        -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
941
 
./src/ng/directive/form.js:326:          -webkit-transition:all linear 0.5s;
942
 
./src/ng/directive/ngRepeat.js:159:        -webkit-transition:all linear 0.5s;
943
 
./src/ng/directive/input.js:1347:           -webkit-transition:all linear 0.5s;
944
 
./src/ng/directive/ngInclude.js:88:        -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
945
 
./src/ng/directive/ngClass.js:228:         -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
946
 
./src/ng/directive/ngIf.js:63:        -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
947
 
./src/ng/directive/ngShowHide.js:114:        -webkit-transition:all linear 0.5s;
948
 
./src/ng/directive/ngShowHide.js:270:        -webkit-transition:all linear 0.5s;
949
 
./src/ngAnimate/animate.js:44: *   -webkit-transition:0.5s linear all;
950
 
./src/ngAnimate/animate.js:92: *  -webkit-transition: 1s linear all; /&#42; Safari/Chrome &#42;/
951
 
./src/ngAnimate/animate.js:120: *   -webkit-animation: enter_sequence 1s linear; /&#42; Safari/Chrome &#42;/
952
 
./src/ngAnimate/animate.js:123: * @-webkit-keyframes enter_sequence {
953
 
./src/ngAnimate/animate.js:157: *   -webkit-transition: 1s linear all;
954
 
./src/ngAnimate/animate.js:163: *   -webkit-transition-delay: 0.1s;
955
 
./src/ngAnimate/animate.js:168: *   -webkit-transition-duration: 0s;
956
 
./src/ngAnimate/animate.js:1118:      // If unprefixed events are not supported but webkit-prefixed are, use the latter.
957
 
./src/ngAnimate/animate.js:1120:      // Note: Chrome implements `window.onwebkitanimationend` and doesn't implement `window.onanimationend`
958
 
./src/ngAnimate/animate.js:1121:      // but at the same time dispatches the `animationend` event and not `webkitAnimationEnd`.
959
 
./src/ngAnimate/animate.js:1124:      // Also, the only modern browser that uses vendor prefixes for transitions/keyframes is webkit
960
 
./src/ngAnimate/animate.js:1126:      if (window.ontransitionend === undefined && window.onwebkittransitionend !== undefined) {
961
 
./src/ngAnimate/animate.js:1127:        CSS_PREFIX = '-webkit-';
962
 
./src/ngAnimate/animate.js:1128:        TRANSITION_PROP = 'WebkitTransition';
963
 
./src/ngAnimate/animate.js:1129:        TRANSITIONEND_EVENT = 'webkitTransitionEnd transitionend';
964
 
./src/ngAnimate/animate.js:1135:      if (window.onanimationend === undefined && window.onwebkitanimationend !== undefined) {
965
 
./src/ngAnimate/animate.js:1136:        CSS_PREFIX = '-webkit-';
966
 
./src/ngAnimate/animate.js:1137:        ANIMATION_PROP = 'WebkitAnimation';
967
 
./src/ngAnimate/animate.js:1138:        ANIMATIONEND_EVENT = 'webkitAnimationEnd animationend';
968
 
./src/ngRoute/directive/ngView.js:95:          -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
969
 
./src/ngScenario/browserTrigger.js:94:        if(window.WebKitTransitionEvent) {
970
 
./src/ngScenario/browserTrigger.js:95:          evnt = new WebKitTransitionEvent(eventType, eventData);
971
 
./src/ngScenario/browserTrigger.js:109:        if(window.WebKitAnimationEvent) {
972
 
./src/ngScenario/browserTrigger.js:110:          evnt = new WebKitAnimationEvent(eventType, eventData);
973
 
./src/ngScenario/.jshintrc:18:    "WebKitAnimationEvent": false,
974
 
./src/ngScenario/.jshintrc:19:    "WebKitTransitionEvent": false,
975
 
./css/angular-scenario.css:99:  -webkit-border-radius: 8px 0 0 8px;
976
 
./css/angular.css:15:  -webkit-transition:0s all!important;
977
 
./test/jqLiteSpec.js:1724:      expect(camelCase('-webkit-foo-bar')).toBe('webkitFooBar');
978
 
./test/jqLiteSpec.js:1725:      expect(camelCase('-webkit-foo-bar')).toBe('webkitFooBar');
979
 
./test/ng/rafSpec.js:83:          webkitRequestAnimationFrame: jasmine.createSpy('$window.webkitRequestAnimationFrame'),
980
 
./test/ng/rafSpec.js:84:          webkitCancelRequestAnimationFrame: jasmine.createSpy('$window.webkitCancelRequestAnimationFrame')
981
 
./test/ng/rafSpec.js:98:      expect($window.webkitCancelRequestAnimationFrame).toHaveBeenCalled();
982
 
./test/ng/httpBackendSpec.js:154:  // with readyState === 4 on mobile webkit caused by
983
 
./test/ng/snifferSpec.js:101:        if(/chrome/i.test(ua) || /safari/i.test(ua) || /webkit/i.test(ua)) {
984
 
./test/ng/snifferSpec.js:102:          expectedPrefix = 'Webkit';
985
 
./test/ng/snifferSpec.js:117:    it('should still work for an older version of Webkit', function() {
986
 
./test/ng/snifferSpec.js:122:              WebkitOpacity: '0'
987
 
./test/ng/snifferSpec.js:129:        expect($sniffer.vendorPrefix).toBe('webkit');
988
 
./test/ng/snifferSpec.js:162:              WebkitAnimation : animationStyle,
989
 
./test/ng/snifferSpec.js:196:              webkitAnimation: ''
990
 
./test/ng/snifferSpec.js:213:    it('should be true when an older version of Webkit is used', function() {
991
 
./test/ng/snifferSpec.js:218:              WebkitOpacity: '0'
992
 
./test/ng/snifferSpec.js:259:              WebkitTransition : transitionStyle,
993
 
./test/ng/snifferSpec.js:293:              webkitTransition: ''
994
 
./test/ng/snifferSpec.js:314:    it('should be true on Boxee box with an older version of Webkit', function() {
995
 
./test/ngAnimate/animateSpec.js:260:                ss.addRule(selector, '-webkit-transition:1s linear all;' +
996
 
./test/ngAnimate/animateSpec.js:775:          ss.addRule('.ng-hide-add', '-webkit-transition:1s linear all;' +
997
 
./test/ngAnimate/animateSpec.js:777:          ss.addRule('.ng-hide-remove', '-webkit-transition:1s linear all;' +
998
 
./test/ngAnimate/animateSpec.js:851:                           '-webkit-animation: some_animation 4s linear 0s 1 alternate;' +
999
 
./test/ngAnimate/animateSpec.js:854:                           '-webkit-animation: some_animation 4s linear 0s 1 alternate;' +
1000
 
./test/ngAnimate/animateSpec.js:874:            var style = '-webkit-animation-duration: 2s;' +
1001
 
./test/ngAnimate/animateSpec.js:875:                        '-webkit-animation-iteration-count: 3;' +
1002
 
./test/ngAnimate/animateSpec.js:899:            var style = '-webkit-animation-duration: 2s;' +
1003
 
./test/ngAnimate/animateSpec.js:900:                        '-webkit-animation-delay: 10s;' +
1004
 
./test/ngAnimate/animateSpec.js:901:                        '-webkit-animation-iteration-count: 5;' +
1005
 
./test/ngAnimate/animateSpec.js:926:            var style = '-webkit-animation: some_animation 2s linear 0s 1 alternate;' +
1006
 
./test/ngAnimate/animateSpec.js:942:              var style = '-webkit-animation: some_animation 2s linear 0s 1 alternate;' +
1007
 
./test/ngAnimate/animateSpec.js:983:              '-webkit-animation:1s my_animation;' +
1008
 
./test/ngAnimate/animateSpec.js:987:              '-webkit-animation-delay:0.1s;' +
1009
 
./test/ngAnimate/animateSpec.js:988:              '-webkit-animation-duration:0s;' +
1010
 
./test/ngAnimate/animateSpec.js:993:              '-webkit-animation-delay:0.1s;' +
1011
 
./test/ngAnimate/animateSpec.js:994:              '-webkit-animation-duration:1s;' +
1012
 
./test/ngAnimate/animateSpec.js:1049:              '-webkit-animation:my_animation 1s;' +
1013
 
./test/ngAnimate/animateSpec.js:1053:              '-webkit-animation-delay:0.2s;' +
1014
 
./test/ngAnimate/animateSpec.js:1092:              '-webkit-animation:my_animation 1s 1s, your_animation 1s 2s;' +
1015
 
./test/ngAnimate/animateSpec.js:1096:              '-webkit-animation-delay:0.1s;' +
1016
 
./test/ngAnimate/animateSpec.js:1126:            var style = '-webkit-transition: 1s linear all;' +
1017
 
./test/ngAnimate/animateSpec.js:1157:              var style = '-webkit-transition-duration: 1s, 2000ms, 1s;' +
1018
 
./test/ngAnimate/animateSpec.js:1158:                          '-webkit-transition-property: height, left, opacity;' +
1019
 
./test/ngAnimate/animateSpec.js:1185:              var style = '-webkit-transition-duration: 1s, 0s, 1s; ' +
1020
 
./test/ngAnimate/animateSpec.js:1186:                          '-webkit-transition-delay: 2s, 1000ms, 2s; ' +
1021
 
./test/ngAnimate/animateSpec.js:1187:                          '-webkit-transition-property: height, left, opacity;' +
1022
 
./test/ngAnimate/animateSpec.js:1223:              var style = '-webkit-transition-duration: 1s, 2000ms, 1s;' +
1023
 
./test/ngAnimate/animateSpec.js:1224:                          '-webkit-transition-property: height, left, opacity;' +
1024
 
./test/ngAnimate/animateSpec.js:1252:            var style = '-webkit-transition: border linear .2s;' +
1025
 
./test/ngAnimate/animateSpec.js:1269:              var style = '-webkit-transition:1s linear all 2s;' +
1026
 
./test/ngAnimate/animateSpec.js:1271:                          '-webkit-animation:my_ani 10s 1s;' +
1027
 
./test/ngAnimate/animateSpec.js:1298:              var style = '-webkit-transition: 1s linear all;' +
1028
 
./test/ngAnimate/animateSpec.js:1338:              '-webkit-transition:1s linear all;' +
1029
 
./test/ngAnimate/animateSpec.js:1342:              '-webkit-transition-delay:0.1s;' +
1030
 
./test/ngAnimate/animateSpec.js:1343:              '-webkit-transition-duration:0s;' +
1031
 
./test/ngAnimate/animateSpec.js:1348:              '-webkit-transition-delay:0.1s;' +
1032
 
./test/ngAnimate/animateSpec.js:1349:              '-webkit-transition-duration:1s;' +
1033
 
./test/ngAnimate/animateSpec.js:1399:              '-webkit-transition:1s linear color 2s, 3s linear font-size 4s;' +
1034
 
./test/ngAnimate/animateSpec.js:1403:              '-webkit-transition-delay:0.1s;' +
1035
 
./test/ngAnimate/animateSpec.js:1432:            ss.addRule('.animated-element', '-webkit-transition:5s linear all;' +
1036
 
./test/ngAnimate/animateSpec.js:1472:              ss.addRule('.animate-me div', '-webkit-transition:1s linear all;' +
1037
 
./test/ngAnimate/animateSpec.js:1475:              ss.addRule('.animate-me-longer div', '-webkit-transition:1.5s linear all;' +
1038
 
./test/ngAnimate/animateSpec.js:1520:              '-webkit-transition:5s linear all;' +
1039
 
./test/ngAnimate/animateSpec.js:1524:              '-webkit-transition-delay:0.5s;' +
1040
 
./test/ngAnimate/animateSpec.js:1570:            ss.addRule('.some-class-add', '-webkit-transition:5s linear all;' +
1041
 
./test/ngAnimate/animateSpec.js:1572:            ss.addRule('.some-class-remove', '-webkit-transition:10s linear all;' +
1042
 
./test/ngAnimate/animateSpec.js:1605:            '-webkit-animation:my_animation 1s 1s, your_animation 1s 2s;' +
1043
 
./test/ngAnimate/animateSpec.js:1607:            '-webkit-transition:1s linear all 1s;' +
1044
 
./test/ngAnimate/animateSpec.js:1611:            '-webkit-transition-delay:0.1s;' +
1045
 
./test/ngAnimate/animateSpec.js:1613:            '-webkit-animation-delay:0.2s;' +
1046
 
./test/ngAnimate/animateSpec.js:1650:          ss.addRule('.abc.ng-enter', '-webkit-transition:22s linear all;' +
1047
 
./test/ngAnimate/animateSpec.js:1652:          ss.addRule('.xyz.ng-enter', '-webkit-transition:11s linear all;' +
1048
 
./test/ngAnimate/animateSpec.js:1693:          ss.addRule('.ng-enter', '-webkit-transition:9s linear all;' +
1049
 
./test/ngAnimate/animateSpec.js:1861:          ss.addRule('.klass-add', '-webkit-transition:1s linear all;' +
1050
 
./test/ngAnimate/animateSpec.js:1968:          ss.addRule('.ng-hide-add', '-webkit-transition:1s linear all;' +
1051
 
./test/ngAnimate/animateSpec.js:1970:          ss.addRule('.ng-hide-remove', '-webkit-transition:1s linear all;' +
1052
 
./test/ngAnimate/animateSpec.js:2014:          ss.addRule('.ng-hide-add', '-webkit-transition:9s linear all;' +
1053
 
./test/ngAnimate/animateSpec.js:2016:          ss.addRule('.ng-hide-remove', '-webkit-transition:9s linear all;' +
1054
 
./test/ngAnimate/animateSpec.js:2182:          ss.addRule('.klass-add', '-webkit-transition:3s linear all;' +
1055
 
./test/ngAnimate/animateSpec.js:2184:          ss.addRule('.klass-remove', '-webkit-transition:3s linear all;' +
1056
 
./test/ngAnimate/animateSpec.js:2296:          ss.addRule('.klass-add', '-webkit-transition:11s linear all;' +
1057
 
./test/ngAnimate/animateSpec.js:2298:          ss.addRule('.klass-remove', '-webkit-transition:11s linear all;' +
1058
 
./test/ngAnimate/animateSpec.js:2347:          ss.addRule('.one-add', '-webkit-transition:7s linear all;' +
1059
 
./test/ngAnimate/animateSpec.js:2349:          ss.addRule('.two-add', '-webkit-transition:7s linear all;' +
1060
 
./test/ngAnimate/animateSpec.js:2389:          ss.addRule('.one-remove', '-webkit-transition:9s linear all;' +
1061
 
./test/ngAnimate/animateSpec.js:2391:          ss.addRule('.two-remove', '-webkit-transition:9s linear all;' +
1062
 
./test/ngAnimate/animateSpec.js:2453:      ss.addRule('.ng-enter', '-webkit-transition:1s linear all;' +
1063
 
./test/ngAnimate/animateSpec.js:2477:      ss.addRule('.ng-enter', '-webkit-animation: some_animation 4s linear 1s 2 alternate;' +
1064
 
./test/ngAnimate/animateSpec.js:2503:      ss.addRule('.ng-enter', '-webkit-animation: some_animation 4s linear 1s 2 alternate;' +
1065
 
./test/ngAnimate/animateSpec.js:2529:        ss.addRule('.ng-enter', '-webkit-transition: 1s linear all;' +
1066
 
./test/ngAnimate/animateSpec.js:2563:        ss.addRule('.ng-enter', '-webkit-transition: 2s linear all;' +
1067
 
./test/ngAnimate/animateSpec.js:2565:        ss.addRule('.ng-leave', '-webkit-transition: 2s linear all;' +
1068
 
./test/ngAnimate/animateSpec.js:2602:        ss.addRule('.animated.ng-enter', '-webkit-transition: 2s linear all;' +
1069
 
./test/ngAnimate/animateSpec.js:2625:  //    ss.addRule('.on-add', '-webkit-transition: 10s linear all; ' +
1070
 
./test/ngAnimate/animateSpec.js:2627:  //    ss.addRule('.on-remove', '-webkit-transition: 10s linear all; ' +
1071
 
./test/ngAnimate/animateSpec.js:2681:  //      ss.addRule('.ng-hide-add', '-webkit-transition: 5s linear all;' +
1072
 
./test/ngAnimate/animateSpec.js:2683:  //      ss.addRule('.ng-hide-remove', '-webkit-transition: 5s linear all;' +
1073
 
./test/ngAnimate/animateSpec.js:2799:        ss.addRule('.animated',  '-webkit-transition:1s linear all;' +
1074
 
./test/ngAnimate/animateSpec.js:2801:        ss.addRule('.super-add', '-webkit-transition:2s linear all;' +
1075
 
./test/ngAnimate/animateSpec.js:2829:      ss.addRule('.animated.ng-enter',  '-webkit-transition: width 1s, background 1s 1s;' +
1076
 
./test/ngAnimate/animateSpec.js:2885:        ss.addRule('.animan.ng-enter, .animan.something-add',  '-webkit-transition: width 1s, background 1s 1s;' +
1077
 
./test/ngAnimate/animateSpec.js:2940:      ss.addRule('.animated.ng-enter',  '-webkit-transition: width 1s, background 1s 1s;' +
1078
 
./test/ngAnimate/animateSpec.js:3173:      ss.addRule('.activated .toggle', '-webkit-transition:1s linear all;' +
1079
 
./test/ngAnimate/animateSpec.js:3226:      ss.addRule('.green-add', '-webkit-transition:1s linear all;' +
1080
 
./test/ngAnimate/animateSpec.js:3229:      ss.addRule('.red-add', '-webkit-transition:1s linear all;' +
1081
 
./test/ngAnimate/animateSpec.js:3425:      ss.addRule('.base-class', '-webkit-transition:1s linear all;' +
1082
 
./test/ngAnimate/animateSpec.js:3462:      ss.addRule('.cross-animation', '-webkit-transition:1s linear all;' +
1083
 
./test/ngAnimate/animateSpec.js:3475:          var propertyKey = ($sniffer.vendorPrefix == 'Webkit' ? '-webkit-' : '') + 'transition-property';
1084
 
./test/ngAnimate/animateSpec.js:3497:      ss.addRule('.cross-animation', '-webkit-animation:1s my_animation;' +
1085
 
./test/ngAnimate/animateSpec.js:3505:      var animationKey = $sniffer.vendorPrefix == 'Webkit' ? 'WebkitAnimation' : 'animation';
1086
 
./test/ngAnimate/animateSpec.js:3524:          var prop = $sniffer.vendorPrefix == 'Webkit' ? 'WebkitAnimation' : 'animation';
1087
 
./test/ngAnimate/animateSpec.js:3544:        ss.addRule('.special', '-webkit-animation:1s special_animation;' +
1088
 
./test/ngAnimate/animateSpec.js:3555:        var prop = $sniffer.vendorPrefix == 'Webkit' ? 'WebkitAnimation' : 'animation';
1089
 
./test/ngAnimate/animateSpec.js:3569:        ss.addRule('.millisecond-transition.ng-leave', '-webkit-transition:510ms linear all;' +
1090
 
./test/ngAnimate/animateSpec.js:3614:        ss.addRule('.special', '-webkit-transition:1s linear all;' +
1091
 
./test/ngAnimate/animateSpec.js:3740:      ss.addRule('.base-class', '-webkit-transition:1s linear all;' +
1092
 
./test/ngAnimate/animateSpec.js:3743:      ss.addRule('.base-class.on', '-webkit-transition:5s linear all;' +
1093
 
./test/ngAnimate/animateSpec.js:3782:      ss.addRule('.base-class.on', '-webkit-transition:5s linear all;' +
1094
 
./test/ngAnimate/animateSpec.js:3805:      ss.addRule('.water-class', '-webkit-transition:2s linear all;' +
1095
 
./test/ngAnimate/animateSpec.js:3842:        ss.addRule('.fly', '-webkit-transition:2s linear all;' +
1096
 
./test/ngAnimate/animateSpec.js:4048:        ss.addRule('circle.ng-enter', '-webkit-transition:1s linear all;' +
1097
 
./CHANGELOG.md:2736:- **$$RAFProvider:** check for webkitCancelRequestAnimationFrame
1098
 
./CHANGELOG.md:2771:- **ngTouch:** update workaround for desktop Webkit quirk
1099
 
./CHANGELOG.md:4102:  - ensure older versions of webkit work for animations
1100
 
./docs/content/guide/animations.ngdoc:38:      -webkit-transition:all linear 0.5s;
1101
 
./docs/content/guide/animations.ngdoc:92:  -webkit-transition:0.5s linear all;
1102
 
./docs/content/guide/animations.ngdoc:116:  -webkit-animation:0.5s my_animation;
1103
 
./docs/content/guide/animations.ngdoc:131:@-webkit-keyframes my_animation {
1104
 
./docs/content/guide/animations.ngdoc:229:     -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
1105
 
./docs/content/tutorial/step_12.ngdoc:187:  -webkit-transition: 0.5s linear all;
1106
 
./docs/content/tutorial/step_12.ngdoc:291:  -webkit-animation: 0.5s fade-in;
1107
 
./docs/content/tutorial/step_12.ngdoc:299:  -webkit-animation: 0.5s fade-out;
1108
 
./docs/content/tutorial/step_12.ngdoc:314:@-webkit-keyframes fade-in {
1109
 
./docs/content/tutorial/step_12.ngdoc:327:@-webkit-keyframes fade-out {
1110
 
./docs/app/assets/css/prettify.css:37:  -webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
1111
 
./docs/app/assets/css/doc_widgets.css:11:  -webkit-border-radius: 5px;
1112
 
./docs/app/assets/css/doc_widgets.css:45:  -webkit-border-radius:8px;
1113
 
./docs/app/assets/css/doc_widgets.css:88:  -webkit-box-shadow: 4px 4px 6px #48577D;
1114
 
./docs/app/assets/css/doc_widgets.css:89:  -webkit-border-top-right-radius: 8px;
1115
 
./docs/app/assets/css/doc_widgets.css:90:  -webkit-border-top-left-radius: 8px;
1116
 
./docs/app/assets/css/doc_widgets.css:101:  -webkit-border-radius: 8px;
1117
 
./docs/app/assets/css/doc_widgets.css:110:  -webkit-border-radius: 6px;
1118
 
./docs/app/assets/css/doc_widgets.css:123:  -webkit-border-radius: 15px;
1119
 
./docs/app/assets/css/doc_widgets.css:127:  -webkit-box-shadow: 4px 4px 6px #48577D;
1120
 
./docs/app/assets/css/docs.css:230:  -webkit-border-radius: 4px;
1121
 
./docs/app/assets/css/docs.css:238:  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #f2f2f2));
1122
 
./docs/app/assets/css/docs.css:239:  background-image: -webkit-linear-gradient(#ffffff, #f2f2f2);
1123
 
./docs/app/assets/css/docs.css:256:  -webkit-appearance: none;
1124
 
./docs/app/assets/css/docs.css:526:  -webkit-border-radius: 4px;
1125
 
./docs/app/assets/css/docs.css:534:  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #f2f2f2));
1126
 
./docs/app/assets/css/docs.css:535:  background-image: -webkit-linear-gradient(#ffffff, #f2f2f2);
1127
 
./lib/grunt/utils.js:290:      res.setHeader("X-WebKit-CSP", "default-src 'self';");
1128
 
./debian/angular.css:1:!window.angular.$$csp() && window.angular.element(document).find('head').prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\\:form{display:block;}.ng-animate-block-transitions{transition:0s all!important;-webkit-transition:0s all!important;}.ng-hide-add-active,.ng-hide-remove{display:block!important;}</style>');
1129
 
 
1130
 
== comments (XXX, FIXME, TODO) ==
1131
 
./src/Angular.js:594:  // TODO: we should move this into IE/ES5 polyfill
1132
 
./src/Angular.js:1463://TODO(misko): this function needs to be removed
1133
 
./src/jqLite.js:682:        // TODO: do we still need this?
1134
 
./src/ngMock/angular-mocks.js:39:  // TODO(vojta): remove this temporary api
1135
 
./src/ngMock/angular-mocks.js:846:        // TODO(i): this prevents methods being logged,
1136
 
./src/ngMock/angular-mocks.js:1105:  // TODO(vojta): change params to: method, url, data, headers, callback
1137
 
./src/ngCookies/cookies.js:68:      //TODO: this should happen before the "delayed" watches fire, because if some cookies are not
1138
 
./src/ng/compile.js:743:        // TODO: decide whether or not to throw an error if "class"
1139
 
./src/ng/compile.js:1917:                // TODO(i): this should likely be attr.$set(name, iterpolateFn(scope) so that we reset the
1140
 
./src/ng/browser.js:40:  // TODO(vojta): remove this temporary api
1141
 
./src/ng/browser.js:68:   * TODO(vojta): prefix this method with $$ ?
1142
 
./src/ng/browser.js:224:    // TODO(vojta): refactor to use node's syntax for events
1143
 
./src/ng/location.js:656:      // TODO(vojta): rewrite link when opening in new tab/window (in legacy browser)
1144
 
./src/ng/parse.js:534:        // TODO(size): maybe we should not support multiple statements?
1145
 
./src/ng/anchorScroll.js:79:    // TODO(vojta): use filter if we change it to accept lists as well
1146
 
./src/ng/httpBackend.js:42:  // TODO(vojta): fix the signature
1147
 
./src/ng/directive/ngBind.js:123:    // TODO: move this to scenario runner
1148
 
./src/ngScenario/Application.js:53:  //TODO(esprehn): Refactor to use rethrow()
1149
 
./src/ngScenario/Runner.js:159:  // TODO(vojta): refactor scenario runner so that these objects are not tightly coupled as current
1150
 
./src/ngScenario/SpecRunner.js:113:      //TODO(esprehn): Refactor this so it doesn't need to be in here.
1151
 
./src/ngScenario/ObjectModel.js:8: * TODO(esprehn): Every output type creates one of these, but we probably
1152
 
./src/ngScenario/ObjectModel.js:13: * TODO(vojta) refactor on, emit methods (from all objects) - use inheritance
1153
 
./src/ngScenario/output/Html.js:6: * TODO(esprehn): This should be refactored now that ObjectModel exists
1154
 
./src/ngScenario/browserTrigger.js:79:      // TODO(vojta): create event objects with pressed keys to get it working on IE<9
1155
 
./.jscs.json.todo:1:// This is an incomplete TODO list of checks we want to start enforcing
1156
 
./test/helpers/matchers.js:229:// TODO(vojta): remove this once Jasmine in Karma gets updated
1157
 
./test/helpers/testabilityPatch.js:249:// TODO(vojta): migrate these helpers into jasmine matchers
1158
 
./test/ngMock/angular-mocksSpec.js:604:        $exceptionHandlerProvider.mode('XXX');
1159
 
./test/ngMock/angular-mocksSpec.js:605:      }).toThrow("Unknown mode 'XXX', only 'log'/'rethrow' modes are allowed!");
1160
 
./test/ngTouch/directive/ngSwipeSpec.js:9:      // TODO(braden): Once we have other touch-friendly browsers on CI, allow them here.
1161
 
./test/ngTouch/directive/ngClickSpec.js:6:  // TODO(braden): Once we have other touch-friendly browsers on CI, allow them here.
1162
 
./test/ngTouch/swipeSpec.js:9:      // TODO(braden): Once we have other touch-friendly browsers on CI, allow them here.
1163
 
./test/ng/httpBackendSpec.js:10:  // TODO(vojta): should be replaced by $defer mock
1164
 
./test/ng/httpBackendSpec.js:470:    // TODO(vojta): test whether it fires "async-start"
1165
 
./test/ng/httpBackendSpec.js:471:    // TODO(vojta): test whether it fires "async-end" on both success and error
1166
 
./test/ng/qSpec.js:1153:        mockNextTick.flush(); // TODO(i) wrong queue, evil promise would be resolved outside of the
1167
 
./images/docs/guide/di_sequence.graffle:5186:   mMAcuYnczSj3HtURG2ejUoFWeo1Xxk/jufHF+GVsGM+Afqx213t8/+njFXXXtj48+Y16
1168
 
./images/docs/guide/about_model.graffle:1937:   7T1BI2Sc1980/qtjsAf4cwgiIQTBt1yC6yTAp6iAD+dnGb6Bvt47na3NjXXXy4rysyk3
1169
 
./images/docs/guide/about_model.graffle:2482:   ufHF+GVsGM+Afqx213t8/+njFXXXtj48+Y163DmuvZ0bVWFWcWUL3f/HMoSP2Sc5psHT
1170
 
./images/docs/guide/dom_scope.graffle:3065:     g0/NJgTQoG/RNmh+Li8uyMlKEwE+FjPAx4sCncMhvf269WeEcCIAnlSuKFXXXLmq09/p
1171
 
./images/docs/guide/about_controller.graffle:3722:      UoFWeo1Xxk/jufHF+GVsGM+Afqx213t8/+njFXXXtj48+Y163DmuvZ0bVWFWcWUL3f/H
1172
 
./images/docs/tutorial/di_sequence.graffle:5314:        G2ejUoFWeo1Xxk/jufHF+GVsGM+Afqx213t8/+njFXXXtj48+Y163DmuvZ0bVWFWcWUL
1173
 
./images/docs/tutorial/xhr_service.graffle:2552:        dh/nKes0pdnYbqmC1Oz8WkxbxMNaxQhX0+YO5jBwLZonmTVqqvSAmOZtB1nIrFXXXp95
1174
 
./images/docs/tutorial/xhr_service.graffle:3747:        zSj3HtURG2ejUoFWeo1Xxk/jufHF+GVsGM+Afqx213t8/+njFXXXtj48+Y163DmuvZ0b
1175
 
./docs/content/guide/e2e-testing.ngdoc:53:describe('TODO list', function() {
1176
 
./docs/content/tutorial/step_07.ngdoc:185:TODO!
1177
 
./docs/content/tutorial/step_10.ngdoc:69:TODO!
1178
 
./docs/content/tutorial/step_10.ngdoc:164:TODO!
1179
 
./docs/content/tutorial/step_08.ngdoc:115:TODO!
1180
 
./docs/app/src/versions.js:26:    // TODO: We need to do some munging of the path for different versions of the API...
1181
 
./karma-shared.conf.js:139:    // TODO(vojta): remove once SauceLabs supports websockets.
1182
 
./changelog.js:3:// TODO(vojta): pre-commit hook for validating messages
1183
 
./changelog.js:4:// TODO(vojta): report errors, currently Q silence everything which really sucks
1184
 
./changelog.js:127:  // TODO(vojta): if it's slow, use spawn and stream it instead
1185
 
./i18n/e2e/i18n-e2e.js:127:        //TODO(Igor): add offsets for sk
1186
 
 
1187
 
== unsafe input mechanisms ==
1188