- From: <bugzilla@jessica.w3.org>
- Date: Mon, 01 Apr 2013 06:21:49 +0000
- To: public-webapps-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=21485 Bug ID: 21485 Summary: [Custom]: Consider possible candidates of element upgrade Classification: Unclassified Product: WebAppsWG Version: unspecified Hardware: PC OS: All Status: NEW Severity: normal Priority: P2 Component: Component Model Assignee: dglazkov@chromium.org Reporter: morrita@google.com QA Contact: public-webapps-bugzilla@w3.org Blocks: 14968 TL;DR: Current upgrade algorithm isn't perfect but better than possible alternatives in my mind. Moved discussion from [1]. Current upgrade algorithm [2] does the upgrade only in-document elements. This means that any out-of-document element which has becomes-valid name doesn't get upgraded. For example: var outOfDocElement = document.createElement("x-foo"); document.register("x-foo", ...); // a) Here |outOfDocElement| doesn't get any upgrade. document.body.appendChild(outOfDocElement); // b) It won't be upgraded even after inserted into document. This might be confusing and inconvenient for developers so it's worth exploring better approach. Here are three alternative approaches: - A: Upgrade all elements regardless they are in the document. - B: Current algorithm + Upgrade "yet-to-be-upgraded" elements when it is inserted into the document. - C: Current algorithm + Provide document.upgrade(element) API for explicit upgrade. Approach A might be straightforward from developers' perspective. However, it requires implementations to track all unresolved elements, which is bad IMO. How about B? It seems natural extension of A. B raises an interesting question though: What does happen when a custom element, which lives in a document D1, is inserted to different document D2, which has different custom element definition on same element name? Should the element be "upgraded" to D2's definition? Or should it stay D1's definition? I think this complication comes from the idea to tie the element definition and document closures. C just exposes the upgrade algorithm to developers and let them handle it in the way they want. This might just work. But I feel it a premature fine-tuning and want to let us go without it and see what developers find. In summary, each alternative has its own caveats and current behavior is the best preferable due to its simplicity. ---- [1] https://bugs.webkit.org/show_bug.cgi?id=113362 [2] https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/custom/index.html#dfn-element-upgrade -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Monday, 1 April 2013 06:21:56 UTC