On Thu, Sep 11, 2014 at 9:27 AM, Aleks Totic <[email protected]> wrote:

> I knew someone would improve it, thanks. I am still finding my way around
> ShadowDOM APIs.
>
> Another debugging problem I often have is Polymer's silent failure when my
> html/js is malformed. I suspect an ignored exception/error code somewhere.
> I'd love to find where, and log the error. What file/function does the
> import parsing?
>

Here's the HTMLImport parser that the polyfill uses:
https://github.com/Polymer/HTMLImports/blob/master/src/Parser.js


> Aleks
>
> On Wednesday, September 10, 2014 2:45:17 PM UTC-7, Eric Bidelman wrote:
>>
>> Nice!
>>
>> I tweaked <http://jsbin.com/ririweqosepe/1/edit> this a bit to make it
>> more robust. Also create a handy bookmarklet
>> <https://gist.github.com/ebidel/cea24a0c4fdcda8f8af2>.
>>
>> - adjusted to work with multiple-levels of shadow dom
>> - works with is="" custom elements
>> - el.constructor == HTMLElement returns false positives for <header> and
>> other elements, so I'm getting everything with 
>> document.querySelectorAll('html
>> /deep/ *') instead, then filtered on valid custom element names.
>>
>>
>> On Wed, Sep 10, 2014 at 1:32 PM, Aleks Totic <[email protected]> wrote:
>>
>>> I've just spent a couple of hours tracking down a layout bug that turned
>>> out to be a missing core-header-panel import. I am always nervous about
>>> missing imports when coding Polymer. So I wrote a little utility that
>>> reports unresolved HTML elements as errors. In case anyone else finds it
>>> useful, here is the script:
>>>
>>>      function findUnknownElements(el) {
>>>         if (el.constructor == HTMLElement)
>>>           console.error("Found unknown element:", el);
>>>         if (el.shadowRoot) {
>>>           var every = el.shadowRoot.querySelectorAll('*');
>>>           for (var i=0; i<every.length; i++)
>>>             findUnknownElements(every[i]);
>>>         }
>>>       }
>>>       document.addEventListener('polymer-ready', function() {
>>>         var every = document.querySelectorAll('*');
>>>         for (var i=0; i<every.length; i++)
>>>           findUnknownElements(every[i]);
>>>       });
>>>
>>> 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/9b4ed352-5167-4473-9bba-f3ac2b67c7a7%
>>> 40googlegroups.com
>>> <https://groups.google.com/d/msgid/polymer-dev/9b4ed352-5167-4473-9bba-f3ac2b67c7a7%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  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/baaaee56-0a22-4aa8-b12b-25d558f05462%40googlegroups.com
> <https://groups.google.com/d/msgid/polymer-dev/baaaee56-0a22-4aa8-b12b-25d558f05462%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

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/CACGqRCBvoQAjbdewTg1KcLXusOh23PABR6eMvG5revbTY_G15Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to