Commit Graph

27 Commits

Author SHA1 Message Date
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