servo
servo copied to clipboard
script: support `<frameset>`
Describe the new feature: Follow-up of https://github.com/servo/servo/issues/37367 Spec: https://html.spec.whatwg.org/multipage/obsolete.html#frameset
This is a deprecated feature, but whole spec isn't that much. It might be an interesting side project.
@gterzian According to spec, frameset is treated as a body element. Do you have any idea where the body element is created? I couldn't track to the right code section.
Do you mean using HTMLBodyElement::new to create?
https://github.com/servo/servo/blob/23acb623c887a095e8c6b1e2db10ca1398614945/components/script/dom/htmlbodyelement.rs#L43-L57
Can we leave it unsupported?
I think it's totally fine to proudly leave a deprecated feature unsupported. Especially when its usage is very low (0.2% as of today), which means it's not something important.
@xiaochengh Yeah my current priority is also sorting out the popular feature set we should add. I'm constantly discussing in Zulip and Triage meeting.
This is one of the trivial issues I opened from time to time and I wish to encourage contributors to be able to get some tasks. I don't intend to fully commit to this feature. Besides loading Abe's homepage is like a tradition for browser. It's like if there's a screen, it must play Bad Apple. If there's a device, it must run Doom.
Edit: My current main task is #37316. This is the blocker for opening three.js examples so I'm pushing it as soon as possible atm.
@gterzian According to spec,
framesetis treated as a body element. Do you have any idea where the body element is created? I couldn't track to the right code section.
From a quick search it seems to be
https://github.com/servo/servo/blob/f451dccd0be4b0bd7f6da2c7aa7e6cbb7888edf7/components/script/dom/domimplementation.rs#L237
and
https://github.com/servo/servo/blob/f451dccd0be4b0bd7f6da2c7aa7e6cbb7888edf7/components/script/dom/element.rs#L2498
(maybe other places too)
This is one of the trivial issues I opened from time to time and I wish to encourage contributors to be able to get some tasks.
Thanks for the efforts, I really appreciate that!
But I would still like to suggest not including deprecated features. The more we work on them, the more technical debt we introduce.
Besides loading Abe's homepage is like a tradition for browser. It's like if there's a screen, it must play Bad Apple. If there's a device, it must run Doom.
Strongly agreed on Bad Apple and Doom! Not so sure about Abe's homepage though, as I had to search what that is :-/
Note that framset and frame are already in script crate and current servo will create these DOM objects. They just do nothing at the moment.
I'll keep my focus on import map and other more important WebAPI or element. However, we should discuss how to deal with these obsolete features at some point in the future.