Giter Site home page Giter Site logo

Comments (6)

notwaldorf avatar notwaldorf commented on July 30, 2024

From @treshugart on August 15, 2016 0:22

I think the issue you're experiencing is that extends hasn't been implemented yet: https://github.com/webcomponents/webcomponentsjs/blob/v1/src/CustomElements/v1/CustomElements.js#L143

Subclassing HTMLAnchorElement should still work, though: https://github.com/webcomponents/webcomponentsjs/blob/v1/src/CustomElements/v1/CustomElements.js#L477

I know there's currently still unresolved contention about is and extends as WebKit is pretty hard-fast about not implementing it, so I'm not sure what the polyfill will work to support. I assume it's on the roadmap as it's still in the custom element spec.

from custom-elements.

notwaldorf avatar notwaldorf commented on July 30, 2024

From @WebReflection on August 15, 2016 8:16

I've probably badly explained the issue. Beside extends and is definition variant, the following code will fail (and every other code that has not been patched like HTMLElement in here)

// create the class
class MyA extends HTMLAnchorElement {}

// define its name
customElements.define('my-a', MyA);

// and fail ...
document.body.appendChild(new MyA);

If I do the same with the patched HTMLElement the result is the expected one.

class MyElement extends HTMLElement {}
customElements.define('my-el', MyElement);
document.body.appendChild(new MyElement); // OK

Since I see that also document.createElement is patched, together with other methods, I wonder if the usage of new CustomElement will be discouraged in this polyfill or if in the future every native constructor will be patched like it's done already for the HTMLELement one.

from custom-elements.

notwaldorf avatar notwaldorf commented on July 30, 2024

From @treshugart on August 15, 2016 14:4

@WebReflection Ahh, ok, that makes perfect sense.

I just submitted a preliminary PR (#596) adding support for customised built-ins. It definitely needs more testing and some cleanup, but it's something that can hopefully get this started. I'm not sure the plans @justinfagnani has here, though. Would be good to get his thoughts, too.

from custom-elements.

notwaldorf avatar notwaldorf commented on July 30, 2024

From @justinfagnani on August 30, 2016 7:15

Extending other built-ins besides HTMLElement (even without is=) fails in Chrome's native implementation right now, because only HTMLElement has a callable constructor. I need to see what's happening there before moving on this...

from custom-elements.

WebReflection avatar WebReflection commented on July 30, 2024

so I'm not sure what the polyfill will work to support.

Safari and WebKit nightly are patched to work as expected extending native builtins and using is="attribute" and extends

I assume it's on the roadmap as it's still in the custom element spec.

Yes, my polyfill follows the specs.

from custom-elements.

WebReflection avatar WebReflection commented on July 30, 2024

P.S. Thank You !!!

from custom-elements.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.