ahe@google.com
cc9464d96f
Add @reflectable to NoSuchMethodModel
...
R=jmesserly@google.com
Review URL: https://codereview.chromium.org//96063006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30851 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-04 11:14:51 +00:00
jmesserly@google.com
aa2ac62a8d
add isEmpty/isNotEmpty to ObservableList reflection
...
R=sigmund@google.com
Review URL: https://codereview.chromium.org//82593004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30588 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-22 22:10:22 +00:00
sigmund@google.com
536f92456d
Ensure we run the observable transform on PolymerElement (fixes issue 14942)
...
R=jmesserly@google.com
Review URL: https://codereview.chromium.org//63173009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30089 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-08 00:32:54 +00:00
jmesserly@google.com
e3a2bc779e
fix observe tests
...
looks like I was testing locally against an older VM, before the recent fix for unknown types
Review URL: https://codereview.chromium.org//53683004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29633 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-31 02:50:36 +00:00
jmesserly@google.com
33fa4d5eba
introduce ObservableList.listChanges to keep list changes separate from property changes
...
this is part of addressing: 13554, 14157, 13359
R=sigmund@google.com
Review URL: https://codereview.chromium.org//53743002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29630 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-31 02:31:50 +00:00
jmesserly@google.com
084dc19054
fix PathObserver to avoid try+catch
...
also fixes staticwarnings
R=sigmund@google.com
Review URL: https://codereview.chromium.org//51483002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29498 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-29 22:18:37 +00:00
kustermann@google.com
94ebff2225
Bugfix in test.dart, adding of specialized test outcomes for analyzer
...
This CL will:
- fix a bug in the legacy AnalyzerCommandOutputImpl class (in certain cases
we did not report that the analyzer was missing a warning).
- make the outcome of running the analyzer on a test be one of:
* CompileTimeError
* MissingCompileTimeError
* StaticWarning
* MissingStaticWarning
- Make status file updates using the new Expectation markers
- Remove support for '@static-clean':
Previously running the analyer on a test could either result in
'Pass' or in 'Fail'. The '@static-clean' annotation has been used
as a (poor) mechanism to distinguish between errors and warnings.
Having the 4 markers mentioned above means we can remove '@static-clean'
- Remove 100 lines of rotted legacy code in our testing scripts.
- Make a status file entry for every test that has analyzer errors or warnings
R=ricow@google.com
Review URL: https://codereview.chromium.org//46163002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29350 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-28 10:39:38 +00:00
jmesserly@google.com
821e6fec2a
Several fixes here to fix bugs and get our tests into a reliable state:
...
* customElementsReady future. We don't fire Polymer.onReady until custom elements are ready too
* deploy without dart.js by default. This is the expected deployment mode for real apps. Also make sure we test this on DRT and compiler==js, so Pete can change Dartium without causing build breaks :)
* stop using "package:observe" test "performMicrotaskCheckpoint" hack in Polymer. This was too blunt; it affected timing of all async operations. Instead we only trigger Observable.dirtyCheck. It's using the latest Zone API as well.
* mixin ChangeNotifier explicitly. This is mainly to fix a quirk of our test environment (test server loads "packages/polymer" in untransformed mode, causing it to pick up Observable instead of ChangeNotifier).
* fix change watchers to blacklist "attributeChanged" :)
* fix serializeValue to only use the runtime value
* fix deserializeValue to get the right Type for dart:core types
* cleanup prop_attr_reflection_test to use mutation observer
R=blois@google.com , sigmund@google.com
Review URL: https://codereview.chromium.org//29823005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28956 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-21 21:49:51 +00:00
jmesserly@google.com
38c4cd1f6b
package:observe fix various api issues
...
in particular:
provide oldValue/newValue/target in PropertyChangeRecord -- https://code.google.com/p/dart/issues/detail?id=12075
use == in notifyPropertyChange -- https://code.google.com/p/dart/issues/detail?id=12463
remove Mixin/Base suffix -- https://code.google.com/p/dart/issues/detail?id=13353
remove ChangeRecord.changes -- https://code.google.com/p/dart/issues/detail?id=14128
other changes:
rename PropertyChangeRecord.field to .name (it's not just fields)
PathObserver rethrows errors from inside the getter/setter to help debug those
PathObserver now looks up Map keys using Strings instead of Symbols.
generic type on PropertyChangeRecord, MapChangeRecord
I stopped short of adding "target" to List/Map change record but am interested in a follow up to address that: https://code.google.com/p/dart/issues/detail?id=14157
R=sigmund@google.com
Review URL: https://codereview.chromium.org//27618002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28774 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-17 03:32:40 +00:00
jmesserly@google.com
d583f16e4f
add @MirrorsUsed to observe/polymer/polymer_exprs pkgs
...
Fairly straightforward. @observable and @CustomTag are metaTargets, so no changes needed for types that use those. The only other changes are for data binding to objects with built in change notification. In that case, we add package:observe's @reflectable annotation. Other than that, just a few other things in mirrors that are now locked down appropriately to only reflect on the things they need.
R=sigmund@google.com
Review URL: https://codereview.chromium.org//26967004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28689 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-15 22:55:47 +00:00
floitsch@google.com
0f7a0bd7b1
Rename runAsync to scheduleMicrotask.
...
R=lrn@google.com
Review URL: https://codereview.chromium.org//26151002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28569 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-12 15:52:17 +00:00
rnystrom@google.com
88e476d0d9
Fix observe package to work with new barback logger.
...
BUG=
R=sigmund@google.com
Review URL: https://codereview.chromium.org//26863008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28492 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-11 00:21:40 +00:00
jmesserly@google.com
b16ddf6c12
use symbol literals instead of const ctor
...
R=rnystrom@google.com , sigmund@google.com
Review URL: https://codereview.chromium.org//26734004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28485 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-10 22:55:17 +00:00
jmesserly@google.com
61f2476f38
fix observe transform to preserve metadata
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//25439002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28133 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-01 23:36:46 +00:00
jmesserly@google.com
877f440f28
fix observing superclass fields, issue 13255
...
this was previously blocked by a mirrors bug, but no longer.
R=sigmund@google.com
Review URL: https://codereview.chromium.org//24076005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27402 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-11 20:34:32 +00:00
kevmoo@j832.com
331b9d2500
pkg/observe: wrapMicrotask should return the result the provided testCase
...
pkg/observe: removed unused imports
R=jmesserly@google.com
Review URL: https://codereview.chromium.org//23437017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26837 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-29 02:09:44 +00:00
sigmund@google.com
02a943a09d
Fix observable transform bug introduced in a recent change, add regression tests
...
for it.
R=jmesserly@google.com
Review URL: https://codereview.chromium.org//23742002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26836 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-29 01:32:19 +00:00
rnystrom@google.com
193dfd7481
Make Transform a little more pleasant to use:
...
- Provide the primaryInput asset synchronously (#12515 ).
- Add convenience methods for reading input assets (#12516 ).
R=nweiz@google.com , sigmund@google.com
Review URL: https://codereview.chromium.org//23543005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26822 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-28 22:37:40 +00:00
sigmund@google.com
1df9a489d2
Make observable transform a barback transform.
...
R=jmesserly@google.com , nweiz@google.com , rnystrom@google.com
Review URL: https://codereview.chromium.org//22396004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25985 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-09 22:29:38 +00:00
kevmoo@j832.com
18d38085ab
pkg: analysis aided cleanup
...
Removed a lot of warnings and hints when opening many pkg projects in the editor
R=gram@google.com
Review URL: https://codereview.chromium.org//22284003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25831 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-06 20:42:04 +00:00
jmesserly@google.com
be70a7e4d4
Fix packages for latest SDK changes
...
This is the observe/mdv/custom_element side of the changes.
Polymer changes are at https://chromiumcodereview.appspot.com/22254002
The big change here is we can't use a Stream for the MDV<->custom_element bridge, because Streams aren't re-entrant which makes them not useful for a sync event.
Also fixes createBinding to dispatch to the custom_element so we don't need to hack "bind" in PolymerElement
R=sigmund@google.com
Review URL: https://codereview.chromium.org//22253002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25799 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-05 20:50:55 +00:00
jmesserly@google.com
254878312a
Speed up CompoundBindings
...
port of https://github.com/Polymer/mdv/commit/27b9cc6dfa69745aadb862780ae71b905e74014f
R=sigmund@google.com
Review URL: https://codereview.chromium.org//21451002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25699 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-01 01:04:18 +00:00
jmesserly@google.com
9fa9329f90
add custom_element package
...
code is from https://github.com/dart-lang/web-ui/blob/polymer/lib/custom_element.dart
Includes a test for the polyfill. It also includes a static analysis test to catch the common errors of forgetting to add an Element API. Because we had analysis errors in "observe" and "mdv" packages too, I added tests for them too, and fixed the issues.
R=sigmund@google.com
Review URL: https://codereview.chromium.org//20886002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25591 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-29 23:00:21 +00:00
jmesserly@google.com
0bd2127aac
[pkg:observe] Add support for explicit change notification, even on dirty-checked objects.
...
This is to fix warnings in Polymer.dart's TodoMVC example. Even though the objects extend ObservableMixin, they still have some computed fields that they notify manually. This seems like a scenario we should support, WDYT?
Also fixed a TODO about sending an unmodifiable list to the stream.
R=sigmund@google.com
Review URL: https://codereview.chromium.org//20631002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25531 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-26 18:15:31 +00:00
jmesserly@google.com
85d6abbd52
implement dirty checking for @observable objects
...
This means MDV can be used without a compile step.
It continues to support implementation by-hand, so we can transform these objects automatically at deployment time.
R=sigmund@google.com
Review URL: https://codereview.chromium.org//19771010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25326 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 02:48:13 +00:00
sigmund@google.com
18e4cda7da
Fix bug in pkg:observe (observable_list.remove(Object))
...
R=jmesserly@google.com
Review URL: https://codereview.chromium.org//18267005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24857 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-09 18:29:27 +00:00
jmesserly@google.com
d6b9207588
Reorganize mdv and observe functionality
...
* keep correct dart:html APIs
* move implementation into package:mdv and package:observe
* remove dart:mdv_observe_impl
* remove getValueWorkaround/setValueWorkaround from package:observe
R=blois@google.com , floitsch@google.com , justinfagnani@google.com
Review URL: https://codereview.chromium.org//17552019
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24498 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 23:25:47 +00:00