I'm a step closer :) That (plus a couple other platform-dev files) got it
working in Chrome and FF. It's still not working in IE. I'll poke around
some of the other files in that repo to see if adding them makes the
difference.
Thanks for all the help!


On Tue, Jan 28, 2014 at 10:57 PM, Scott Miles <[email protected]> wrote:

> 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
>>
>
>


-- 
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/CAMsr9P%3D1WFB0-WNqRA87Qsdbq3zbvseJb--4WOe2Q7p1Ug5y1g%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to