Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 99e7a283e2ed8bda5d0455d2cabb581ee66cf3d9
      
https://github.com/WebKit/WebKit/commit/99e7a283e2ed8bda5d0455d2cabb581ee66cf3d9
  Author: Antti Koivisto <an...@apple.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M LayoutTests/media/track/webvtt-ruby-expected.txt
    M LayoutTests/media/track/webvtt-ruby.html
    M Source/WebCore/Modules/modern-media-controls/controls/text-tracks.css
    M Source/WebCore/css/SelectorCheckerTestFunctions.h
    M Source/WebCore/css/html.css
    M Source/WebCore/css/mediaControls.css
    M Source/WebCore/dom/Node.h
    M Source/WebCore/html/track/VTTCue.cpp
    M Source/WebCore/html/track/WebVTTElement.cpp
    M Source/WebCore/html/track/WebVTTElement.h
    M Source/WebCore/html/track/WebVTTParser.cpp
    M Source/WebCore/style/ElementRuleCollector.cpp
    M Source/WebCore/style/StyleAdjuster.cpp

  Log Message:
  -----------
  Remove WebVTTRubyElement and WebVTTRubyTextElement
https://bugs.webkit.org/show_bug.cgi?id=270852
rdar://problem/124449628

Reviewed by Alan Baradlay.

WebVTT tree is implemented using an Element subclass, except for ruby elements. 
For those there
were special subclasses inheriting from RubyElement and RubyTextElement. These 
are no longer needed
since ruby is now CSS based. We can style WebVTT ruby elements similarly to 
other WebVTT elements.

* LayoutTests/media/track/webvtt-ruby-expected.txt:
* LayoutTests/media/track/webvtt-ruby.html:

Turns our offsetFoo functions are only available on HTMLElement. Since all 
WebVTT elements now inherit from plain Element
we can no longer use it to inspect the internal state. Use more universal 
getBoundingClientRect() instead.

* Source/WebCore/Modules/modern-media-controls/controls/text-tracks.css:
([useragentpart="-webkit-media-text-track-display"] ruby):
([useragentpart="-webkit-media-text-track-display"] ruby > rt):
([useragentpart="-webkit-media-text-track-display"] ruby > :not(ruby)):

Add a relevant subset of ruby rules to the text-track stylesheet, similar to 
other WebVTT elements.
The rules on html.css don't match since these elements are not in HTML 
namespace.

* Source/WebCore/css/SelectorCheckerTestFunctions.h:
(WebCore::matchesLangPseudoClass):
(WebCore::matchesFutureCuePseudoClass):
(WebCore::matchesPastCuePseudoClass):
* Source/WebCore/css/mediaControls.css:
([useragentpart="-webkit-media-text-track-display"] ruby):
([useragentpart="-webkit-media-text-track-display"] ruby > rt):
([useragentpart="-webkit-media-text-track-display"] ruby > :not(ruby)):
* Source/WebCore/dom/Node.h:
(WebCore::Node::isWebVTTElement const):
(WebCore::Node::isWebVTTRubyElement const): Deleted.
(WebCore::Node::isWebVTTRubyTextElement const): Deleted.
* Source/WebCore/html/track/VTTCue.cpp:
(WebCore::VTTCue::markFutureAndPastNodes):
* Source/WebCore/html/track/WebVTTElement.cpp:
(WebCore::WebVTTElement::WebVTTElement):
(WebCore::m_language):
(WebCore::WebVTTElement::create):
(WebCore::WebVTTElement::cloneElementWithoutAttributesAndChildren):
(WebCore::WebVTTElement::createEquivalentHTMLElement):
(WebCore::WebVTTElementImpl::create): Deleted.

Remove the now-unnedeed WebVTTElement/WebVTTElementImpl split.

(WebCore::WebVTTElementImpl::cloneElementWithoutAttributesAndChildren): Deleted.
(WebCore::WebVTTElementImpl::createEquivalentHTMLElement): Deleted.
* Source/WebCore/html/track/WebVTTElement.h:
(WebCore::WebVTTElementImpl::setWebVTTNodeType): Deleted.
(WebCore::WebVTTElementImpl::webVTTNodeType const): Deleted.
(WebCore::WebVTTElementImpl::isPastNode const): Deleted.
(WebCore::WebVTTElementImpl::setIsPastNode): Deleted.
(WebCore::WebVTTElementImpl::language const): Deleted.
(WebCore::WebVTTElementImpl::setLanguage): Deleted.
(WebCore::WebVTTElementImpl::voiceAttributeName): Deleted.
(WebCore::WebVTTElementImpl::langAttributeName): Deleted.
(WebCore::WebVTTElementImpl::WebVTTElementImpl): Deleted.
* Source/WebCore/html/track/WebVTTParser.cpp:
(WebCore::WebVTTTreeBuilder::constructTreeFromToken):
* Source/WebCore/style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::collectMatchingUserAgentPartRules):
* Source/WebCore/style/StyleAdjuster.cpp:
(WebCore::Style::hasUnsupportedRubyDisplay):

Relax the check to allow any elements called "ruby" or "rt" to have ruby 
display type, not just the HTML ones

Canonical link: https://commits.webkit.org/276025@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to