The polling in platform.js is set up here: https://github.com/Polymer/platform-dev/blob/master/src/patches-mdv.js
On Tue, Jan 28, 2014 at 7:40 PM, Rob Eisenberg <[email protected]>wrote: > That may be it. Off hand, do you know where the code that sets that up is? > I'm slowly becoming more familiar with the codebase, but hadn't seen that > yet, though I knew it was there somewhere... > > > On Tue, Jan 28, 2014 at 8:17 PM, Scott Miles <[email protected]> wrote: > >> Are you ever calling `Platform.performMicrotaskCheckpoint();`? >> >> In the absence of native `Object.observe` support, it's left to the >> developer to trigger dirty checking by calling >> `Platform.performMicrotaskCheckpoint();`. >> >> `platform.js` does this automatically on a cadence. In your custom setup, >> you have to handle this yourself. >> >> Scott >> >> On Tue, Jan 28, 2014 at 2:07 PM, Rob Eisenberg < >> [email protected]> wrote: >> >>> Interestingly...if I drop your vulcanized.js file into my solution, I >>> have the same bug as I've previously reported. If I drop the platform.js in >>> instead, everything works fine. So, there's still something else that's >>> different...and it's a silent fail scenario because I get no errors in the >>> console, but my custom elements don't work correctly. Any ideas on why that >>> might be? >>> >>> >>> On Wed, Jan 22, 2014 at 5:04 PM, Eric Bidelman <[email protected]> wrote: >>> >>>> These videos are great Scott. Very helpful. Rob and I talked about >>>> shortening them a bit and overlaying some commentary. >>>> >>>> If people are interested in building + using a single .min.js file for >>>> a polyfill, it's basically the same procedure. Instead of enumerating the >>>> sources for the polyfill, install the node modules and build with Grunt. >>>> Example building the Custom Elements polyfill: >>>> >>>> bower install Polymer/CustomElements >>>> >>>> cd bower_components/CustomElements >>>> >>>> npm install >>>> >>>> grunt >>>> >>>> ...gets you custom-elements.min.js >>>> >>>> >>>> On Wed, Jan 22, 2014 at 10:52 AM, Rob Eisenberg < >>>> [email protected]> wrote: >>>> >>>>> Thanks Scott! I'll take a look at this soon. >>>>> >>>>> >>>>> On Wed, Jan 22, 2014 at 1:49 PM, Scott Miles <[email protected]>wrote: >>>>> >>>>>> Erps, actual 'vulcanizing' video link: >>>>>> >>>>>> http://www.youtube.com/watch?v=FvFfJ0ODj0Y&feature=youtu.be >>>>>> >>>>>> >>>>>> On Wed, Jan 22, 2014 at 10:48 AM, Scott Miles <[email protected]>wrote: >>>>>> >>>>>>> Remixing the polyfills is supposed to be relatively easy. I assume >>>>>>> the devil is in the details, so I made a couple of screen captures of me >>>>>>> starting from a blank folder and building up functionality, ultimately >>>>>>> constructing a single js file containing the platform remix. >>>>>>> >>>>>>> remixing: >>>>>>> http://www.youtube.com/watch?v=MfZxqONVzJA&feature=youtu.be >>>>>>> >>>>>>> vulcanizing the js: >>>>>>> http://www.youtube.com/watch?v=MfZxqONVzJA&feature=youtu.be >>>>>>> >>>>>>> The resulting files are zipped up here: >>>>>>> https://drive.google.com/file/d/0BwsasHLO95kdQXQzLTN2czFjVW8/edit?usp=sharing >>>>>>> >>>>>>> Tools used: Node, Bower, Terminal, Notepad, Browser. >>>>>>> >>>>>>> IMO, Bower is preferred over Git here, because we are read-only >>>>>>> users in this context, and we can take advantage of the dependency >>>>>>> fetching. >>>>>>> >>>>>>> The videos are kinda blurry (sorry!) and I there is no commentary. I >>>>>>> figured we can do progressive refinement on these materials if they are >>>>>>> found to be useful. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Tue, Jan 21, 2014 at 5:15 PM, Rob Eisenberg < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Thanks for the feedback. Part of what I'm creating is similar to >>>>>>>> x-tags, but with my own spin, based on my own experience building large >>>>>>>> scale componentized UI. For now, while I'm prototyping, I think I'll >>>>>>>> just >>>>>>>> use the platform.js file...but eventually I'm going to have to figure >>>>>>>> out >>>>>>>> how to do a custom build without the shadow dom pieces. >>>>>>>> >>>>>>>> >>>>>>>> On Tue, Jan 21, 2014 at 7:04 PM, <[email protected]>wrote: >>>>>>>> >>>>>>>>> Rob, >>>>>>>>> >>>>>>>>> I asked a similar question about the "necessity" of the Shadow DOM >>>>>>>>> a few months ago - >>>>>>>>> https://groups.google.com/forum/?fromgroups=#!topic/polymer-dev/oVWSsMhFDnc. >>>>>>>>> Basic upshot was although the polyfills themselves don't have a >>>>>>>>> *dependency* on the Shadow DOM, Polymer depends on it, and it >>>>>>>>> will be used if you use platform.js as well, even if you are only >>>>>>>>> planning >>>>>>>>> on using part of the platform like custom elements. >>>>>>>>> >>>>>>>>> If you are looking for simple, non-shadow DOM pre-built library, >>>>>>>>> x-tags is maybe the way to go (although from my experience, the x-tag >>>>>>>>> community is way less active). It is the biggest issue we have with >>>>>>>>> Polymer >>>>>>>>> - the shadow DOM polyfill is a bit invasive, and degrades performance >>>>>>>>> - in >>>>>>>>> our case, polymer doubles the time to load a page compared to x-tags. >>>>>>>>> We >>>>>>>>> have decided we will need to try "re-package" parts of the Polymer >>>>>>>>> platform >>>>>>>>> in our own library to get the performance characteristics we require, >>>>>>>>> which >>>>>>>>> is a shame, because I really like the library and the layer of sugar >>>>>>>>> it >>>>>>>>> provides. >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Ian >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Tuesday, January 21, 2014 8:45:49 AM UTC+11, Rob Eisenberg >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> I think I can answer my own #3 question. Looks like the easiest >>>>>>>>>> way to do this is to use pull-all.sh >>>>>>>>>> I'd still like to know about the necessity of shadow dom and any >>>>>>>>>> availability of pre-built platform libraries. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Mon, Jan 20, 2014 at 4:35 PM, Rob Eisenberg < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Ok. I found that just a few minutes ago. It looks like there are >>>>>>>>>>> lots of little pieces that may be missing from what I've got. I've >>>>>>>>>>> got a >>>>>>>>>>> few questions: >>>>>>>>>>> >>>>>>>>>>> 1. I purposefully excluded the shadow dom pieces from my build. >>>>>>>>>>> Do you see any problems with that? Should custom elements still >>>>>>>>>>> work, >>>>>>>>>>> assuming I'm not using shadow dom at all? >>>>>>>>>>> 2. Where can I find the latest build of platform.js? Let's say I >>>>>>>>>>> just want to make my life easy for now...and not do my own build. >>>>>>>>>>> Where do >>>>>>>>>>> I get latest? None of the github releases seem to have any actual >>>>>>>>>>> built >>>>>>>>>>> libraries in them. >>>>>>>>>>> 3. Any advice on building this thing? There are tons of >>>>>>>>>>> repositories. It seems like a major effort to track them all and >>>>>>>>>>> keep an >>>>>>>>>>> updated build happening...thoughts? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Mon, Jan 20, 2014 at 4:27 PM, Scott Miles >>>>>>>>>>> <[email protected]>wrote: >>>>>>>>>>> >>>>>>>>>>>> The build is sadly non-trivial, but you can start with the >>>>>>>>>>>> manifest here: >>>>>>>>>>>> >>>>>>>>>>>> https://github.com/Polymer/platform-dev/blob/master/build.json >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Mon, Jan 20, 2014 at 12:21 PM, Rob Eisenberg < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> There's definitely a difference between my custom build of the >>>>>>>>>>>>> pollyfills and platform.js. When I replace my build with >>>>>>>>>>>>> platform.js, I see >>>>>>>>>>>>> the correct behavior. I would just use platform.js, but there's >>>>>>>>>>>>> some stuff >>>>>>>>>>>>> in there I don't think I need..and I'm trying to get things down >>>>>>>>>>>>> as small >>>>>>>>>>>>> as possible. Can someone point me to the build file for >>>>>>>>>>>>> platform.js? I'd >>>>>>>>>>>>> like to see if I can figure out what the real difference is. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Thursday, January 16, 2014 12:13:59 PM UTC-5, Rob Eisenberg >>>>>>>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> I had a pretty nice custom element system build on the >>>>>>>>>>>>>> pollyfills from Stable release 2013-11-07 When I updated to >>>>>>>>>>>>>> 0.1.2, >>>>>>>>>>>>>> everything broke. I've been going throughout, fixing things bit >>>>>>>>>>>>>> by bit, but >>>>>>>>>>>>>> now I'm to a point where I'm wondering if there's something >>>>>>>>>>>>>> wrong with >>>>>>>>>>>>>> Polymer. It seems as if custom element binding are being >>>>>>>>>>>>>> evaluated before >>>>>>>>>>>>>> the element is upgraded. I'm not sure about that, but I can't >>>>>>>>>>>>>> explain the >>>>>>>>>>>>>> behavior I'm seeing any other way. Here's my custom element test >>>>>>>>>>>>>> code: >>>>>>>>>>>>>> >>>>>>>>>>>>>> var proto = Object.create(HTMLElement.prototype); >>>>>>>>>>>>>> >>>>>>>>>>>>>> proto.createdCallback = function () { >>>>>>>>>>>>>> this.customAttributes = {}; >>>>>>>>>>>>>> console.log('created'); >>>>>>>>>>>>>> }; >>>>>>>>>>>>>> >>>>>>>>>>>>>> proto.attachedCallback = function() { >>>>>>>>>>>>>> console.log('attached'); >>>>>>>>>>>>>> }; >>>>>>>>>>>>>> >>>>>>>>>>>>>> proto.bind = function(name, value, oneTime) { >>>>>>>>>>>>>> console.log('bind', name, value, oneTime); >>>>>>>>>>>>>> }; >>>>>>>>>>>>>> >>>>>>>>>>>>>> proto.setAttribute = function(name, value) { >>>>>>>>>>>>>> console.log('setAttribute', name, value); >>>>>>>>>>>>>> }; >>>>>>>>>>>>>> >>>>>>>>>>>>>> proto.attributeChangedCallback = function(attrName, oldVal, >>>>>>>>>>>>>> newVal) { >>>>>>>>>>>>>> console.log('attribute changed', attrName, oldVal, >>>>>>>>>>>>>> newVal); >>>>>>>>>>>>>> }; >>>>>>>>>>>>>> >>>>>>>>>>>>>> Object.defineProperty(proto, 'something', { >>>>>>>>>>>>>> get: function () { >>>>>>>>>>>>>> return this.customAttributes['something']; >>>>>>>>>>>>>> }, >>>>>>>>>>>>>> set: function (val) { >>>>>>>>>>>>>> this.customAttributes['something'] = value; >>>>>>>>>>>>>> console.log('something change', value); >>>>>>>>>>>>>> } >>>>>>>>>>>>>> }); >>>>>>>>>>>>>> >>>>>>>>>>>>>> document.registerElement('dx-test', { prototype: proto }); >>>>>>>>>>>>>> >>>>>>>>>>>>>> Then I use it inside of one of my templates like this: >>>>>>>>>>>>>> >>>>>>>>>>>>>> <dx-test something="{{someProperty}}"></dx-test> >>>>>>>>>>>>>> >>>>>>>>>>>>>> When I do this, the only callback that is fired is >>>>>>>>>>>>>> *createdCallback >>>>>>>>>>>>>> * and by then it seems to have already parsed the bindings >>>>>>>>>>>>>> out. This prevents me from having any custom *bind* logic >>>>>>>>>>>>>> and even from reliably getting the value of my own property. If >>>>>>>>>>>>>> *something* is not a primitive value, then attribute's value >>>>>>>>>>>>>> is the result of *toString().* >>>>>>>>>>>>>> >>>>>>>>>>>>>> Am I doing something wrong here? Is this a bug? >>>>>>>>>>>>>> >>>>>>>>>>>>> Follow Polymer on Google+: plus.google.com/ >>>>>>>>>>>>> 107187849809354688692 >>>>>>>>>>>>> --- >>>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>>> Google Groups "Polymer" group. >>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>>>> it, send an email to [email protected]. >>>>>>>>>>>>> To view this discussion on the web visit >>>>>>>>>>>>> https://groups.google.com/d/msgid/polymer-dev/70e68a23- >>>>>>>>>>>>> a5aa-4b1a-8b7e-48de9604325a%40googlegroups.com. >>>>>>>>>>>>> >>>>>>>>>>>>> For more options, visit https://groups.google.com/ >>>>>>>>>>>>> groups/opt_out. >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Rob Eisenberg, >>>>>>>>>>> President - Blue Spire >>>>>>>>>>> www.durandaljs.com >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Rob Eisenberg, >>>>>>>>>> President - Blue Spire >>>>>>>>>> www.durandaljs.com >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Rob Eisenberg, >>>>>>>> President - Blue Spire >>>>>>>> www.durandaljs.com >>>>>>>> >>>>>>> >>>>>>> >>>>>> Follow Polymer on Google+: plus.google.com/107187849809354688692 >>>>>> --- >>>>>> You received this message because you are subscribed to a topic in >>>>>> the Google Groups "Polymer" group. >>>>>> To unsubscribe from this topic, visit >>>>>> https://groups.google.com/d/topic/polymer-dev/puRMCV1-8nI/unsubscribe >>>>>> . >>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>> [email protected]. >>>>>> >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/polymer-dev/CAHbmOLZxfQq4yDfnPUtuXY%3DvL2h3N3ckKFfuqbw%2BPHkvb7O_5A%40mail.gmail.com >>>>>> . >>>>>> >>>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Rob Eisenberg, >>>>> President - Blue Spire >>>>> www.durandaljs.com >>>>> >>>>> Follow Polymer on Google+: plus.google.com/107187849809354688692 >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Polymer" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/polymer-dev/CAMsr9Pm2FAycLjknWzuLLmEkMyveKhrz6YJnws0u-y7AdzH3AA%40mail.gmail.com >>>>> . >>>>> >>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>> >>>> >>>> >>> >>> >>> -- >>> Rob Eisenberg, >>> President - Blue Spire >>> www.durandaljs.com >>> >> >> > > > -- > Rob Eisenberg, > President - Blue Spire > www.durandaljs.com > Follow Polymer on Google+: plus.google.com/107187849809354688692 --- You received this message because you are subscribed to the Google Groups "Polymer" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/polymer-dev/CAHbmOLbCa%3DtF6foqjmFhGRrHVsFGEO0NdkX1kK2M0iV4EE4_dQ%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.
