Commit Graph

37 Commits

Author SHA1 Message Date
kevmoo@j832.com 77851b1065 pkg/mdv: remove reference to pkg/serialization
IdentityMap is no longer used

R=jmesserly@google.com

Review URL: https://codereview.chromium.org//23724022

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27306 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-09 19:29:12 +00:00
lrn@google.com 0f1e912d9d Reapply "Make LinkedHashMap also have a factory constructor and be customizable""
The change was reverted due to failing Dartium tests that were not easily handelable on a Friday afternoon.

Review URL: https://codereview.chromium.org//23872008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27284 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-09 10:49:32 +00:00
lrn@google.com 761f55b1b9 Revert "Make LinkedHashMap also have a factory constructor and be customizable"
Dartium expectations expects "LinkedHashMap" and gets "_LinkedHashMap".

Review URL: https://codereview.chromium.org//23890008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27250 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-06 14:29:04 +00:00
lrn@google.com 64359158ab Make LinkedHashMap also have a factory constructor and be customizable
R=floitsch@google.com

Review URL: https://codereview.chromium.org//23494027

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27246 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-06 13:01:54 +00:00
blois@google.com 93c361dd36 This is an updated version of https://codereview.chromium.org/16374007/
Original submission is the first patch, fixes are the second.

There were two issues with the original-
  - Issue with URI sanitization where relative URIs on IE were being dropped.
  - Analyzer issue on missing members for CustomElement.

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org//23525003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26757 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-28 01:03:01 +00:00
blois@google.com 24e9f22c90 Revert "First rev of Safe DOM"
This reverts commit 26681.

Some IE issues with URL validation that I need to investigate further.

BUG=

Review URL: https://codereview.chromium.org//23523002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26682 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-27 02:18:48 +00:00
blois@google.com 63ecf1a3fd First rev of Safe DOM
BUG=
R=jacobr@google.com, jmesserly@google.com

Review URL: https://codereview.chromium.org//16374007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26681 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-27 01:48:13 +00:00
kevmoo@j832.com 0394f73d54 pkg/mdv: point folks to the current repo on github
R=jmesserly@google.com

Review URL: https://codereview.chromium.org//22575007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25945 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-08 20:57:34 +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 01eeb7fc07 fix issue 12190 -- better error message
R=sigmund@google.com

Review URL: https://codereview.chromium.org//22340002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25806 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-06 00:15:17 +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 761dbb63a6 remove bindModel, the same effect can be achieved through createInstance
partial port of https://github.com/Polymer/mdv/commit/86c0d3d8059eebbafab6d919cd805373951873ea

R=sigmund@google.com

Review URL: https://codereview.chromium.org//21093005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25658 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-31 02:51:50 +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 116e11e9a5 [mdv] fix analyzer failure in select_element.dart
Review URL: https://codereview.chromium.org//20369004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25489 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-25 18:47:09 +00:00
jmesserly@google.com 1210e466cb [mdv] implement Node.createBinding and Node.createBindings
port of
https://github.com/Polymer/mdv/commit/95c4eca5a89ed3d04af1c6607a61f49d35d05ca6, https://github.com/Polymer/mdv/commit/3a0d2f302d474cd175d7fe49b278f928a019d053

BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org//20149004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25485 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-25 18:01:02 +00:00
jmesserly@google.com 93a6deac0c automatically clean up CompoundBinding
rough port of https://github.com/Polymer/mdv/commit/907455b2196f06650c5cdfbdb145e6eda2861750
We already handle most of the cleanup automatically; CompoundBinding was the main outlier.
I'm not completely sold on "close" being public, but it's needed if "bind" is going to start the subscription immediately (like it does now).

R=sigmund@google.com

Review URL: https://codereview.chromium.org//19996008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25438 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-24 20:54:09 +00:00
jmesserly@google.com 63a6171bee [mdv] Simplified Mustache Parsing
port of https://github.com/Polymer/mdv/commit/8843b7299d19bb1671780697de483cc3b0456a61

as well as the two follow ups:
https://github.com/Polymer/mdv/commit/f1af6fe683fd06eed2a7a7849f01c227db12cda3
https://github.com/Polymer/mdv/commit/783a48876e86e883ab98f3a7849fcd482e86bb75

R=sigmund@google.com

Review URL: https://codereview.chromium.org//20062002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25437 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-24 20:50:21 +00:00
jmesserly@google.com b7a44d0d88 Avoid observing placeholder arrays in TemplateIterator
... and minimize instance removal/addition

port of https://github.com/Polymer/mdv/commit/1bc8afff957fc542ac5925afd8575dce229be835

I also rolled a few other parts of TemplateIterator forward to be based on current code.

The list_diff port is from change_summary.js. It was ported and reviewed in an older MDV CL, but not checked in because ObservableList is smarter about producing diffs.

R=justinfagnani@google.com

Review URL: https://codereview.chromium.org//19492018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25392 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-24 01:11:05 +00:00
jmesserly@google.com 32df041b1e [mdv] fix test expectation
follow up to https://code.google.com/p/dart/source/detail?r=25390

I forgot we had an extra test here that MDV doesn't have.

Review URL: https://codereview.chromium.org//19932007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25391 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-24 01:00:25 +00:00
jmesserly@google.com 4a51682495 Only need to force removal of conditional attribute bindings
port of https://github.com/Polymer/mdv/commit/853ef6e8d56f994852ade6356febb7037f18b741

R=justinfagnani@google.com

Review URL: https://codereview.chromium.org//20064004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25390 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-24 00:34:30 +00:00
jmesserly@google.com b159325f4a Ensure model is passed with <template if>
port of https://github.com/Polymer/mdv/commit/78bd4e2c8e569580863bb80cea90f36ef38f5290 and https://github.com/Polymer/mdv/commit/50d4074d05bd57cd8f76ba7952bf740a7386c1ce

R=sigmund@google.com

Review URL: https://codereview.chromium.org//19744006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25374 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 22:12:19 +00:00
jmesserly@google.com 608d559f7a Ensure getInstanceModel is only called when a new instance will be created
Note that this also allows for the common case of inserting an instance via a DocumentFragment. Only if there is a instanceCache hit, do we insert an array of nodes.
port of https://github.com/Polymer/mdv/commit/694a4114779a9cd8ea3c915d1f5e9ec5ad6bd68c

R=justinfagnani@google.com

Review URL: https://codereview.chromium.org//19689009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25373 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 22:06:04 +00:00
jmesserly@google.com 6774f0db6b Custom Syntax's are now enabled via template.bindingDelegate =
port of https://github.com/Polymer/mdv/commit/d4c97a94fe565b07eec174ab27994e67a514ce4b
(except the expression syntax bits -- that's covered in fancy_syntax)
BUG=
R=justinfagnani@google.com

Review URL: https://codereview.chromium.org//19663011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25371 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 21:48:53 +00:00
jmesserly@google.com aea4a202cc fix parsing of semantic template interation w/ shadowdom polyfill
port of https://github.com/Polymer/mdv/commit/05ae24466ea7b2cdd41d879169e95b00a6bf4a8e
BUG=
R=justinfagnani@google.com

Review URL: https://codereview.chromium.org//19482024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25369 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 21:17:34 +00:00
jmesserly@google.com fecf49078c [mdv] getTeminatorAt recurses infinitely if template is its own terminator
port of https://github.com/Polymer/mdv/commit/5846863ba6895eaeffee5c4f4618a2f6570c3f99

note that the indicies in that commit are off by 1, it's fixed in a later MDV change and in this port:
https://github.com/Polymer/mdv/commit/83eafb5f2861092fcda56cf28a2570193803fde1, which I have also patched in. Our version was already working but I tweaked the code to more closely resemble the MDV code.

R=justinfagnani@google.com

Review URL: https://codereview.chromium.org//19672018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25363 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 20:20:56 +00:00
jmesserly@google.com a79067d9af Allow <template if="{{ expr }}"> to be equivalent to template bind
Port of https://github.com/Polymer/mdv/commit/9657f53fe38d2c87dd2b1f34398a41fafadc73b2
and
https://github.com/Polymer/mdv/commit/3bbb5047e58e22dcef54aeedb431c12f1359766c

R=justinfagnani@google.com

Review URL: https://codereview.chromium.org//19989002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25329 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 03:34:54 +00:00
jmesserly@google.com 184c50b300 [mdv] Implement two-way binding to HTMLTextArea.value
port of https://github.com/Polymer/mdv/commit/55104c3fed41db04f98076f825bc32f6dfc5624f
fixes https://code.google.com/p/dart/issues/detail?id=11859

R=justinfagnani@google.com

Review URL: https://codereview.chromium.org//19593006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25328 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 03:09:48 +00:00
jmesserly@google.com 8f3ff7d471 [mdv] template.ref must recursive to find the original source template
port of https://github.com/Polymer/mdv/commit/86040735c2973c8cc078677e3dabb56b5bfc70c0

R=justinfagnani@google.com

Review URL: https://codereview.chromium.org//19590007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25327 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 03:08:34 +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
jmesserly@google.com 91f157ea62 [package:mdv] fix error from dartanalyzer
The ported code had a leftover "function() {".
TBR=sigmund@google.com

Review URL: https://codereview.chromium.org//18255003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24668 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-01 22:51:18 +00:00
jmesserly@google.com ba4bf31f55 [package:mdv] Support binding to HTMLSelectElement.selectedIndex -- https://github.com/Polymer/mdv/commit/53a5d78b329b9a52ad9426bbd57b9322f42f1bd2
R=sigmund@google.com

Review URL: https://codereview.chromium.org//18117012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24667 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-01 22:38:21 +00:00
jmesserly@google.com 89c18e96f0 [package:mdv] port createInstance change
HTMLTemplateElement.prototype.createInstance takes model & syntaxString, sets up bindings -- https://github.com/Polymer/mdv/commit/22c32ebfa84b6e08341b2e1af71a25b5bee4b2be

R=sigmund@google.com

Review URL: https://codereview.chromium.org//18162004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24660 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-01 21:38:45 +00:00
jmesserly@google.com c326893f6a Continue updating MDV.
add OPTGROUP as an attribute template -- https://github.com/Polymer/mdv/commit/af1733d905ac96852357db5e7a78a63ba2a488fc
template ref should check treeScope.getElementById -- https://github.com/Polymer/mdv/commit/7de0697e318bb001e1649005ec48eb294edad6e4
Use correct event type for checkbox bindings -- https://github.com/Polymer/mdv/commit/2c675cab75aea2ef3d1b981a616469587b9210fe

Review URL: https://codereview.chromium.org//17917002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24562 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 23:30:33 +00:00
jmesserly@google.com a248439bf9 implement full DOM stability
Port of https://github.com/Polymer/mdv/commit/3e0b8ebe1d431b80cd92b40c4ce7e29ef086d555

Also includes a follow up that fixed a bug in the original CL:
Dont unbind instance nodes that have been re-used from the instanceCache
https://github.com/Polymer/mdv/commit/033257abab40e404924c844db8a1a7551571e4ba

(Note: this is based on https://codereview.chromium.org/17706003/)

R=justinfagnani@google.com

Review URL: https://codereview.chromium.org//17770006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24553 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 21:35:35 +00:00
jmesserly@google.com fca7d29b2c Disallow template instances when !parentNode || !owner.defaultView https://github.com/Polymer/mdv/commit/d035acecab7c2d1afd9eb67bb01818d7ed9eb11f
extract template element from attribute templates. https://github.com/Polymer/mdv/commit/13741f22d94cec1d7ca115f023cf3a25b9245def

Note: this is based on https://codereview.chromium.org/17552019/ (reorg mdv)

R=justinfagnani@google.com

Review URL: https://codereview.chromium.org//17706003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24546 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 19:59:04 +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