4521 Commits

Author SHA1 Message Date
vsavkin
e5dbc69f42 cleanup(di): change di.js to declare all exported symbols 2014-12-29 15:20:50 -08:00
vsavkin
739f624cc8 refactor(change_detection): add change_detection library file 2014-12-29 15:20:42 -08:00
vsavkin
f06433fb58 feat(test_lib): implement SpyObject 2014-12-29 13:27:17 -08:00
vsavkin
a37950293a cleanup(core): fix dart analyzer warnings 2014-12-29 12:12:11 -08:00
vsavkin
da9d041f90 feat(view): add support for components that use shadow dom emulation 2014-12-29 11:42:34 -08:00
Tobias Bosch
df4ac0dd33 refactor(perf): use webdriver to execute benchmarks
- use performance log of chromedriver / appium to get timeline data
  for calculating metrics for benchmarks
- change all benchmarks to be made of a standalone application
  and a protractor test that collectes timeline data
- fix and simplify benchmarks
- add dart2js to build
- remove benchpress

Closes #330
2014-12-23 22:22:55 -08:00
vsavkin
d642c6afb5 feat(change_detector): wrap exceptions into ChangeDetectionError
ChangeDetectionError references the original error and the location where the error happened
2014-12-18 13:38:33 -08:00
vsavkin
3d534928b5 refactor(parser): align expression language with host language
Remove "enhancements" to the language from the parser, so the expression language mimics the host language.
2014-12-18 10:57:34 -08:00
Victor Berchet
90daca02cf fix(examples.dart): initialize the reflector
fixes #309
2014-12-18 11:11:18 +01:00
Victor Berchet
75549a660c fix(examples.dart): add LifeCycle to the reflector 2014-12-18 11:11:18 +01:00
Victor Berchet
86fb564818 fix(ChangeDispatcher): update the onRecordChange signature 2014-12-18 10:28:17 +01:00
vsavkin
dbd85615b0 style(core): add missing type annotation 2014-12-17 15:58:20 -08:00
vsavkin
1d03c2af5d feat(change_detector): add a way to inspect records and record ranges 2014-12-17 15:43:36 -08:00
vsavkin
df21c3c77d feat(zone): add support for long stack traces 2014-12-17 14:56:54 -08:00
vsavkin
d5fcac4d7a feat(compiler): pass compilation unit to the parser 2014-12-12 18:52:53 -08:00
vsavkin
cf8a5d2a0d cleanup(zones): cleanup 2014-12-12 15:24:30 -08:00
vsavkin
2184150905 feat(bootstrap): use VmTurnZone and LifeCycle to bootstrap an application 2014-12-12 15:24:30 -08:00
vsavkin
0b550f9695 feat(LifeCycle): change LifeCycle to be able register it with a zone 2014-12-12 15:24:30 -08:00
vsavkin
df36ffb11d feat(zone): add initial implementation of VmTurnZone 2014-12-12 15:24:30 -08:00
Misko Hevery
c25e9e7c5f fix: properly close the <tree> tag in benchmark 2014-12-11 14:23:02 -08:00
Misko Hevery
56b7ba4bce perf: improve baseline speed by 30%
Use node.firstChild and node.nextSibling instead 
of node.children or node.childNodes in the baseline
benchmark.
2014-12-11 14:05:58 -08:00
Rado Kirov
60456c8b89 feat(ng-repeat): initial implementaion of ng-repeat.
- adds support for content bindings via '[]'.
- directives module
2014-12-11 11:23:02 -08:00
Victor Berchet
59d6d604b4 fix(analyzer): fix a warning about an unused variable 2014-12-11 00:31:31 +01:00
Tobias Bosch
3ec3d5e084 perf(view): inline and refactor view instantiation and hydration
- Don’t convert DOM array into JS array via `Array.slice`
- Inline static methods for instantiation and hydration
- Misc cleanup

Closes #291
2014-12-09 16:16:45 -08:00
vsavkin
8acf9fb609 feat(change_detection): ensure that expression do not change after they have been checked 2014-12-08 18:51:19 -08:00
Tobias Bosch
e7de5f8f37 feat(benchmarks): tree benchmark baseline 2014-12-08 15:54:04 -08:00
Victor Berchet
68da0012cc perf(Change Detection): remove the usage of getters/setters
- Firefox is 2.4x faster (90 vs 221ms)
- Chrome is 24% slower (15.5 vs 12.5ms)

Chrome is still 5.8x faster than Firefox
2014-12-08 21:59:59 +01:00
Victor Berchet
2c4a2f5158 perf(Change Detection): Track the range & group on changes only
1.4x speed improvement with Firefox

There is no need to track the range & group for all the records but only
for the records that have changed.
2014-12-08 21:59:59 +01:00
Victor Berchet
ee36063fae style: misc minor changes 2014-12-08 21:59:59 +01:00
Victor Berchet
c362f33fe4 style(Change Detection): rename WatchGroupDispatcher to ChangeDispatcher 2014-12-08 21:59:59 +01:00
Tobias Bosch
01fa90c11d feat(benchmarks): initial version of tree benchmark
Closes #269
2014-12-08 12:05:00 -08:00
Tobias Bosch
9b7e2e3029 fix(benchmarks_external): use angular dart transformer 2014-12-08 12:00:48 -08:00
Tobias Bosch
5793311421 fix(benchmarks): use explicit main() function and do not reexport
Otherwise `pub` would not pick it up e.g. for `dart2js`.
2014-12-08 12:00:48 -08:00
Tobias Bosch
72b970e4e2 fix(core): export ViewPort in the public exports 2014-12-08 12:00:47 -08:00
Tobias Bosch
9329c0e8bc fix(application): also bind the root component to the injector 2014-12-08 12:00:47 -08:00
Tobias Bosch
9c2d411450 feat(compiler): allow recursive components 2014-12-08 12:00:43 -08:00
vsavkin
c3dc373ec4 refactor(change_detector): moves enableRecord/disableRecord into the Record class 2014-12-08 11:06:56 -08:00
vsavkin
7f941eb936 fix(change_detector): adding new ranges when disabling the current enabled record 2014-12-08 11:06:56 -08:00
vsavkin
984ff9bf1b cleanup(view): remove unused code 2014-12-05 19:06:11 -08:00
vsavkin
33b47bd5d4 fix(view): fix DirectivePropertyGroupMemento to return a new group instead of null 2014-12-05 19:01:16 -08:00
Tobias Bosch
8db77f2405 refactor(build): simplify and modularize
simplify:
- use same html file for dart and JS
- build benchmarks automatically when doing `gulp build`
- centralize configuration

modularize:
- move all build tasks into separate node.js modules under
  `tools/build`.

changes:
- the `build` folder is now the `dist` folder

Closes #284
2014-12-05 16:30:36 -08:00
Victor Berchet
ceb9ee92bb fix(Change Detection): fix merge error 2014-12-05 12:20:00 +01:00
Rado Kirov
174613067c feat(views): adds (de)hydration of views and template vars.
Dehydrated views are views that are structurally fixed, but their
directive instances and viewports are purged.

Support for local bindings is added to the view.
2014-12-04 22:40:51 -08:00
Victor Berchet
5c531f718e perf(RecordRange): optimize disable()
There could be no lastEnabledChildRecord when there is no
firstEnabledChildRecord
- saves time by skipping findLastEnabledRecord() when the result is know
to be null,
- saves a test as isPresent(lastEnabledChildRecord) ==
isPresent(firstEnabledChildRecord)
2014-12-04 19:52:43 +01:00
Peter Bacon Darwin
983c00c495 docs(di/src/annotations): use triple backticks to code-fence code blocks 2014-12-04 14:16:52 +00:00
Victor Berchet
11c52ce06d style: fix typos 2014-12-04 11:01:19 +01:00
vsavkin
65242fbd6d perf(change_detection): add baseline to change detection benchmark 2014-12-03 18:09:21 -08:00
vsavkin
847cefcb7b feat(change_detector): notify directives on property changes 2014-12-03 14:33:52 -08:00
Rado Kirov
5bdefee6c9 fix(record-range): fixes bug when disabling empty ranges. 2014-12-03 12:04:06 -08:00
Rado Kirov
c59cc8631a feat(examples): adds static dart hello world example.
Use gulp examples/pub.serve to start up the server and go to
http://localhost:8080/index_static.html to see the static app.
2014-12-03 10:58:30 -08:00