Commit Graph

30 Commits

Author SHA1 Message Date
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
blois@google.com 1426a55a47 Adding platform patches to allow custom elements polyfill to work with Shadow DOM.
The specific issue was that elements existing in the page before the tag was registered was causing issues. This is encountered with the <polymer-element> tag.
BUG=
R=jmesserly@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28434 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-10 00:30:08 +00:00
efortuna@google.com eaa854b258 Move Rectangle and Point into dart:math.
BUG=
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28272 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-04 17:47:39 +00:00
blois@google.com 05bb03642d Implementing CustomElement's attributeChanged callback in dart2js.
BUG=
R=jmesserly@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28168 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-02 15:57:56 +00:00
jmesserly@google.com cf3dcfba4c Port Polymer.js Core, the github.com/polymer/polymer code.
Ports all features except where JS interop is blocking us (declaration/path.js and instance/style.js). In particular, this has:
  //   src/declaration/attributes.js
  //   src/declaration/events.js
  //   src/declaration/polymer-element.js
  //   src/declaration/properties.js
  //   src/declaration/prototype.js
  //   src/declaration/styles.js
  //   src/instance/attributes.js
  //   src/instance/base.js
  //   src/instance/events.js
  //   src/instance/mdv.js
  //   src/instance/properties.js
  //   src/instance/utils.js
  //   src/lib/deserialize.js
  //   src/lib/job.js
  //   src/lib/dom.js -- not needed in Dart
  //   src/lib/lang.js -- not needed in Dart
  //   src/lib/super.js -- not needed in Dart

There's also a big architectural change: polymer-element data is now stored in the PolymerDeclaration class, which is separate from PolymerElement. This allows us to avoid duplicate work on every constructor, and should significantly speed up instance creation.

All code is from the same revision:
https://github.com/Polymer/polymer/blob/4dc481c11505991a7c43228d3797d28f21267779

The remaining unported files are for relatively minor features. "declaration/path.js" is for asset URL resolution, and we might have a Pub-based solution instead. "instance/style.js" has an opt-in, advanced style polyfill. It needs "ShadowCSS.shimPolyfillDirectives", and probably isn't too hard to make work in a follow up change.

Other changes:
* attributeChanged lifecycle method is implemented.
* ObservableAnnotation is public so Polymer's @published can subclass it
* bindProperty renamed to onPropertyChange to avoid conflict with Polymer member of the same name.
* polymer/lib/boot.js preload's polymer-element and link[rel=stylesheet]

R=blois@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28134 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-01 23:45:37 +00:00
blois@google.com 1aa8a7be0e Adding Element.created constructor and .created constructors to all subclasses. Also ensuring generative constructor for all superclasses.
This is for post-construction custom element creation.

Element.created is public, then the base classes of that get private ._created constructors.

BUG=
R=vsm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28120 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-01 21:26:06 +00:00
blois@google.com b5bc0e1367 - Fixing analyzer error on legacy custom element polyfill
- Adjsuting IE status (filed bug to investigate)
 - Fixing polymer tests on Dartium

BUG=
R=jmesserly@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27846 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-24 20:11:36 +00:00
blois@google.com 209e413a5c Retry of custom element lifecycle events.
First patch is the original, changes were:
 - Shadow DOM upgrade landed as separate CL
 - CustomElement polyfill wasn't always firing WebComponentsLoaded event (causing timeouts on FF and IE), fixed polyfill.
 - Dartium test exclusions were not working

BUG=
R=jmesserly@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27841 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-24 19:14:16 +00:00
blois@google.com 6def065afd Revert "Dart2js support for custom element lifecycle events"
This reverts commit 27729. Shadow DOM polyfill appears to have regressed some tests and some issues are coming up with the browser controller.

BUG=
R=jmesserly@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27730 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-21 00:46:48 +00:00
blois@google.com fb8f32bcc4 Dart2js support for custom element lifecycle events
BUG=
R=jmesserly@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27729 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-20 23:49:12 +00:00
blois@google.com 2ed732dac4 Updating custom elements polyfill to the latest github.com/dart-lang version.
This is just updating the SVN repo to the compiled versions of: https://codereview.appspot.com/13669045/

TBR
BUG=
R=jmesserly@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27502 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-13 20:53:53 +00:00
kathyw@google.com ef3f516570 one-liners for a few polymer-related libraries
R=jmesserly@google.com, mcampione@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27500 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-13 20:25:19 +00:00
blois@google.com b904bf81ba Revert "Revert "Tag extensions""
Original CL is the first patch, changes follow. Includes fixes for Chrome test failures and Firefox type check issues.

BUG=
R=jmesserly@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27313 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-09 22:03:43 +00:00
efortuna@google.com b0e059159f Adjust CustomElement as properties again.
BUG=
R=blois@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27146 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-04 20:11:11 +00:00
blois@google.com 6570db562c Revert "Basic functionality is working with JS native support and polyfill, still some issues with dart2js typechecking."
This reverts commit r26935. Failing in FF checked on type extension and IE9 on synchronous constructor upgrading, need to investigate.

TBR
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26938 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-30 19:37:23 +00:00
blois@google.com 5607d75eca Basic functionality is working with JS native support and polyfill, still some issues with dart2js typechecking.
BUG=
R=jmesserly@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26935 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-30 19:08:19 +00:00
efortuna@google.com ea773ef953 Update CustomElement as well.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26931 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-30 17:41:30 +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
efortuna@google.com 92d2bd8c28 Fix api for dart2js tests that failed.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26606 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-23 19:15:33 +00:00
efortuna@google.com 90873051ad Making almost all dom_ methods private. Exceptions will be addressed in a later CL.
Current ones that still remain to be made private include createElement(NS),
createRange, all the Element properties, and childNodes.

BUG=
R=blois@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26605 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-23 18:25:40 +00:00
blois@google.com ec11e52f62 Revert "Revert "Adding polyfill support for custom elements.""
This fixes the issues in the custom elements polyfills.

R=jmesserly@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26412 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-21 00:08:46 +00:00
blois@google.com 508affefed Revert "Adding polyfill support for custom elements."
Caused issues with DocumentFragment and some lingering changes from the blink roll.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26410 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-20 23:28:22 +00:00
blois@google.com 72651260aa Adding polyfill support for custom elements.
BUG=
R=jmesserly@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26405 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-20 22:56:08 +00:00
vsm@google.com 8b5e40ee78 Fixes for Element API changes
The custom_element analyzer test started failing due to API changes on Element from the last roll.  This should fix.

TBR=jmesserly@google.com,sigmund@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26382 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-20 19:08:55 +00:00
jwren@google.com 7a9a98445a Turn strict mode off in the dartanalyzer
R=brianwilkerson@google.com, scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26139 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-14 19:32:54 +00:00
efortuna@google.com e1d58357fa Add new method to Custom Element.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25980 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-09 20:58:14 +00:00
blois@google.com 8a81ebd09e Adding missing Element APIs to CustomElement, fixing analyzer errors.
TBR
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25850 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 01:06:32 +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 e01298dc8c fix analysis error in custom_element
for some reason, dart2js treats this as a warning, dartanalyzer as error, and VM as so serious it won't load the app.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25673 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-31 17:31:19 +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