Skip to content

Commit

Permalink
Remove menuitem element and some leftover touchbar code
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=260428
rdar://114132124

Reviewed by Wenson Hsieh.

This code does not do anything and as such it is better to remove it to
ease ongoing maintenance.

This deprecates and no-ops WKPreferencesSetMenuItemElementEnabled and
WKPreferencesGetMenuItemElementEnabled in order to preserve binary
compatibility.

Due to file removal a couple unified build fixes were needed. Those are
annotated inline below.

* LayoutTests/fast/html/menuitem-element-expected.txt: Removed.
* LayoutTests/fast/html/menuitem-element.html: Removed.
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Headers.cmake:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/bindings/js/WebCoreBuiltinNames.h:
* Source/WebCore/html/HTMLMenuElement.cpp:
(WebCore::HTMLMenuElement::insertedIntoAncestor): Deleted.
(WebCore::HTMLMenuElement::removedFromAncestor): Deleted.
(WebCore::HTMLMenuElement::attributeChanged): Deleted.
* Source/WebCore/html/HTMLMenuElement.h:
* Source/WebCore/html/HTMLMenuItemElement.cpp: Removed.
* Source/WebCore/html/HTMLMenuItemElement.h: Removed.
* Source/WebCore/html/HTMLMenuItemElement.idl: Removed.
* Source/WebCore/html/HTMLTagNames.in:
* Source/WebCore/page/ChromeClient.h:
(WebCore::ChromeClient::didInsertMenuElement): Deleted.
(WebCore::ChromeClient::didRemoveMenuElement): Deleted.
(WebCore::ChromeClient::didInsertMenuItemElement): Deleted.
(WebCore::ChromeClient::didRemoveMenuItemElement): Deleted.
* Source/WebKit/DerivedSources-input.xcfilelist:
* Source/WebKit/DerivedSources.make:
* Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.h:

Unified build fix.

* Source/WebKit/Shared/TouchBarMenuData.cpp: Removed.
* Source/WebKit/Shared/TouchBarMenuData.h: Removed.
* Source/WebKit/Shared/TouchBarMenuItemData.cpp: Removed.
* Source/WebKit/Shared/TouchBarMenuItemData.h: Removed.
* Source/WebKit/Shared/TouchBarMenuItemData.serialization.in: Removed.
* Source/WebKit/Sources.txt:
* Source/WebKit/UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetMenuItemElementEnabled): Deleted.
(WKPreferencesGetMenuItemElementEnabled): Deleted.
* Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::touchBarMenuDataChanged): Deleted.
(WebKit::WebPageProxy::touchBarMenuItemDataAdded): Deleted.
(WebKit::WebPageProxy::touchBarMenuItemDataRemoved): Deleted.
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/UIProcess/WebPageProxyInternals.h:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::didInsertMenuElement): Deleted.
(WebKit::WebChromeClient::didRemoveMenuElement): Deleted.
(WebKit::WebChromeClient::didInsertMenuItemElement): Deleted.
(WebKit::WebChromeClient::didRemoveMenuItemElement): Deleted.
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didInsertMenuElement): Deleted.
(WebKit::WebPage::didRemoveMenuElement): Deleted.
(WebKit::WebPage::didInsertMenuItemElement): Deleted.
(WebKit::WebPage::didRemoveMenuItemElement): Deleted.
(WebKit::WebPage::sendTouchBarMenuDataRemovedUpdate): Deleted.
(WebKit::WebPage::sendTouchBarMenuDataAddedUpdate): Deleted.
(WebKit::WebPage::sendTouchBarMenuItemDataAddedUpdate): Deleted.
(WebKit::WebPage::sendTouchBarMenuItemDataRemovedUpdate): Deleted.
* Source/WebKit/WebProcess/WebPage/WebPage.h:

Includes unified build fix.

* Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h:
* Source/WebKitLegacy/mac/WebView/WebPreferences.mm:
(-[WebPreferences menuItemElementEnabled]): Deleted.
(-[WebPreferences setMenuItemElementEnabled:]): Deleted.
* Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h:

Canonical link: https://commits.webkit.org/267140@main
  • Loading branch information
annevk committed Aug 22, 2023
1 parent 72fc87a commit 449b54f
Show file tree
Hide file tree
Showing 41 changed files with 6 additions and 787 deletions.
11 changes: 0 additions & 11 deletions LayoutTests/fast/html/menuitem-element-expected.txt

This file was deleted.

16 changes: 0 additions & 16 deletions LayoutTests/fast/html/menuitem-element.html

This file was deleted.

11 changes: 0 additions & 11 deletions Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4465,17 +4465,6 @@ MediaVideoCodecIDsAllowedInLockdownMode:
WebKit:
default: '"avc1,zavc,qavc,cavc"'

MenuItemElementEnabled:
type: bool
status: embedder
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false

MinimumFontSize:
type: double
status: embedder
Expand Down
1 change: 0 additions & 1 deletion Source/WebCore/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1141,7 +1141,6 @@ set(WebCore_NON_SVG_IDL_FILES
html/HTMLMediaElement+AudioOutput.idl
html/HTMLMediaElement.idl
html/HTMLMenuElement.idl
html/HTMLMenuItemElement.idl
html/HTMLMetaElement.idl
html/HTMLMeterElement.idl
html/HTMLModElement.idl
Expand Down
1 change: 0 additions & 1 deletion Source/WebCore/DerivedSources-input.xcfilelist
Original file line number Diff line number Diff line change
Expand Up @@ -1458,7 +1458,6 @@ $(PROJECT_DIR)/html/HTMLMediaElement+AudioOutput.idl
$(PROJECT_DIR)/html/HTMLMediaElement+RequestVideoFrameCallback.idl
$(PROJECT_DIR)/html/HTMLMediaElement.idl
$(PROJECT_DIR)/html/HTMLMenuElement.idl
$(PROJECT_DIR)/html/HTMLMenuItemElement.idl
$(PROJECT_DIR)/html/HTMLMetaElement.idl
$(PROJECT_DIR)/html/HTMLMeterElement.idl
$(PROJECT_DIR)/html/HTMLModElement.idl
Expand Down
2 changes: 0 additions & 2 deletions Source/WebCore/DerivedSources-output.xcfilelist
Original file line number Diff line number Diff line change
Expand Up @@ -1477,8 +1477,6 @@ $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMediaElement.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMediaElement.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMenuElement.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMenuElement.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMenuItemElement.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMenuItemElement.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMetaElement.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMetaElement.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMeterElement.cpp
Expand Down
1 change: 0 additions & 1 deletion Source/WebCore/DerivedSources.make
Original file line number Diff line number Diff line change
Expand Up @@ -1147,7 +1147,6 @@ JS_BINDING_IDLS := \
$(WebCore)/html/HTMLMediaElement+AudioOutput.idl \
$(WebCore)/html/HTMLMediaElement.idl \
$(WebCore)/html/HTMLMenuElement.idl \
$(WebCore)/html/HTMLMenuItemElement.idl \
$(WebCore)/html/HTMLMetaElement.idl \
$(WebCore)/html/HTMLMeterElement.idl \
$(WebCore)/html/HTMLModElement.idl \
Expand Down
1 change: 0 additions & 1 deletion Source/WebCore/Headers.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -1179,7 +1179,6 @@ set(WebCore_PRIVATE_FRAMEWORK_HEADERS
html/HTMLMediaElementEnums.h
html/HTMLMediaElementIdentifier.h
html/HTMLMenuElement.h
html/HTMLMenuItemElement.h
html/HTMLMetaElement.h
html/HTMLModElement.h
html/HTMLOListElement.h
Expand Down
2 changes: 0 additions & 2 deletions Source/WebCore/Sources.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1363,7 +1363,6 @@ html/HTMLMapElement.cpp
html/HTMLMarqueeElement.cpp
html/HTMLMediaElement.cpp
html/HTMLMenuElement.cpp
html/HTMLMenuItemElement.cpp
html/HTMLMetaElement.cpp
html/HTMLMeterElement.cpp
html/HTMLModElement.cpp
Expand Down Expand Up @@ -3659,7 +3658,6 @@ JSHTMLMapElement.cpp
JSHTMLMarqueeElement.cpp
JSHTMLMediaElement.cpp
JSHTMLMenuElement.cpp
JSHTMLMenuItemElement.cpp
JSHTMLMetaElement.cpp
JSHTMLMeterElement.cpp
JSHTMLModElement.cpp
Expand Down
8 changes: 0 additions & 8 deletions Source/WebCore/WebCore.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1087,7 +1087,6 @@
2EDF369D122C94B4002F7D4E /* FileReaderSync.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EDF369B122C94B4002F7D4E /* FileReaderSync.h */; };
2EF1BFEB121C9F4200C27627 /* FileStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EF1BFE9121C9F4200C27627 /* FileStream.h */; settings = {ATTRIBUTES = (Private, ); }; };
2EF1BFF9121CB0CE00C27627 /* FileStreamClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EF1BFF8121CB0CE00C27627 /* FileStreamClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
2F31E0751FA3B62B00E059BA /* HTMLMenuItemElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F31E0711FA3B33B00E059BA /* HTMLMenuItemElement.h */; settings = {ATTRIBUTES = (Private, ); }; };
3103B7DF1DB01567008BB890 /* ColorHash.h in Headers */ = {isa = PBXBuildFile; fileRef = 3103B7DE1DB01556008BB890 /* ColorHash.h */; settings = {ATTRIBUTES = (Private, ); }; };
31078CC81880AABB008099DC /* OESTextureHalfFloatLinear.h in Headers */ = {isa = PBXBuildFile; fileRef = 31078CC31880A6A6008099DC /* OESTextureHalfFloatLinear.h */; };
31078CCA1880AACE008099DC /* JSOESTextureHalfFloatLinear.h in Headers */ = {isa = PBXBuildFile; fileRef = 31078CC61880AAAA008099DC /* JSOESTextureHalfFloatLinear.h */; };
Expand Down Expand Up @@ -9158,9 +9157,6 @@
2EF1BFE8121C9F4200C27627 /* FileStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FileStream.cpp; sourceTree = "<group>"; };
2EF1BFE9121C9F4200C27627 /* FileStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileStream.h; sourceTree = "<group>"; };
2EF1BFF8121CB0CE00C27627 /* FileStreamClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileStreamClient.h; sourceTree = "<group>"; };
2F31E0711FA3B33B00E059BA /* HTMLMenuItemElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLMenuItemElement.h; sourceTree = "<group>"; };
2F31E0731FA3B33C00E059BA /* HTMLMenuItemElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLMenuItemElement.cpp; sourceTree = "<group>"; };
2F31E0761FA3C10B00E059BA /* HTMLMenuItemElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = HTMLMenuItemElement.idl; sourceTree = "<group>"; };
3103B7DE1DB01556008BB890 /* ColorHash.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ColorHash.h; sourceTree = "<group>"; };
31055BB81E4FE18900EB604E /* WebKitFontFamilyNames.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebKitFontFamilyNames.in; sourceTree = "<group>"; };
31078CC21880A6A6008099DC /* OESTextureHalfFloatLinear.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OESTextureHalfFloatLinear.cpp; sourceTree = "<group>"; };
Expand Down Expand Up @@ -28592,9 +28588,6 @@
A8EA79EC0A1916DF00A8EF5F /* HTMLMenuElement.cpp */,
A8EA79E80A1916DF00A8EF5F /* HTMLMenuElement.h */,
1AE2AE430A1D269E00B42B25 /* HTMLMenuElement.idl */,
2F31E0731FA3B33C00E059BA /* HTMLMenuItemElement.cpp */,
2F31E0711FA3B33B00E059BA /* HTMLMenuItemElement.h */,
2F31E0761FA3C10B00E059BA /* HTMLMenuItemElement.idl */,
A871DC1B0A15205700B12A68 /* HTMLMetaElement.cpp */,
A871DC180A15205700B12A68 /* HTMLMetaElement.h */,
A80E79FC0A19C307007FB8C5 /* HTMLMetaElement.idl */,
Expand Down Expand Up @@ -38275,7 +38268,6 @@
CD24B86A2982DCCA000A53FE /* HTMLMediaElementIdentifier.h in Headers */,
CDC312EA22FCD7C6001204EC /* HTMLMediaElementRemotePlayback.h in Headers */,
A8EA79F40A1916DF00A8EF5F /* HTMLMenuElement.h in Headers */,
2F31E0751FA3B62B00E059BA /* HTMLMenuItemElement.h in Headers */,
2BE8E2C712A589EC00FAD550 /* HTMLMetaCharsetParser.h in Headers */,
A871DC240A15205700B12A68 /* HTMLMetaElement.h in Headers */,
A454424B119B3661009BE912 /* HTMLMeterElement.h in Headers */,
Expand Down
1 change: 0 additions & 1 deletion Source/WebCore/bindings/js/WebCoreBuiltinNames.h
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,6 @@ namespace WebCore {
macro(HTMLDialogElement) \
macro(HTMLDataListElement) \
macro(HTMLEmbedElement) \
macro(HTMLMenuItemElement) \
macro(HTMLModelElement) \
macro(Headers) \
macro(IDBCursor) \
Expand Down
43 changes: 0 additions & 43 deletions Source/WebCore/html/HTMLMenuElement.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,9 @@
#include "config.h"
#include "HTMLMenuElement.h"

#include "Chrome.h"
#include "ChromeClient.h"
#include "Document.h"
#include "ElementChildIteratorInlines.h"
#include "HTMLMenuItemElement.h"
#include "HTMLNames.h"
#include "Page.h"
#include <wtf/IsoMallocInlines.h>

namespace WebCore {
Expand All @@ -44,45 +40,6 @@ inline HTMLMenuElement::HTMLMenuElement(const QualifiedName& tagName, Document&
ASSERT(hasTagName(menuTag));
}

Node::InsertedIntoAncestorResult HTMLMenuElement::insertedIntoAncestor(InsertionType type, ContainerNode& ancestor)
{
auto result = HTMLElement::insertedIntoAncestor(type, ancestor);
if (type.connectedToDocument && document().settings().menuItemElementEnabled() && m_isTouchBarMenu) {
if (auto* page = document().page())
page->chrome().client().didInsertMenuElement(*this);
}
return result;
}

void HTMLMenuElement::removedFromAncestor(RemovalType type, ContainerNode& ancestor)
{
HTMLElement::removedFromAncestor(type, ancestor);
if (type.disconnectedFromDocument && document().settings().menuItemElementEnabled() && m_isTouchBarMenu) {
if (auto* page = document().page())
page->chrome().client().didRemoveMenuElement(*this);
}
}

void HTMLMenuElement::attributeChanged(const QualifiedName& name, const AtomString& oldValue, const AtomString& newValue, AttributeModificationReason attributeModificationReason)
{
if (name != typeAttr || !document().settings().menuItemElementEnabled()) {
HTMLElement::attributeChanged(name, oldValue, newValue, attributeModificationReason);
return;
}
bool wasTouchBarMenu = m_isTouchBarMenu;
m_isTouchBarMenu = equalLettersIgnoringASCIICase(newValue, "touchbar"_s);
if (!wasTouchBarMenu && m_isTouchBarMenu) {
if (auto* page = document().page()) {
page->chrome().client().didInsertMenuElement(*this);
for (auto& child : childrenOfType<Element>(*this))
page->chrome().client().didInsertMenuItemElement(downcast<HTMLMenuItemElement>(child));
}
} else if (wasTouchBarMenu && !m_isTouchBarMenu) {
if (auto* page = document().page())
page->chrome().client().didRemoveMenuElement(*this);
}
}

Ref<HTMLMenuElement> HTMLMenuElement::create(const QualifiedName& tagName, Document& document)
{
return adoptRef(*new HTMLMenuElement(tagName, document));
Expand Down
8 changes: 0 additions & 8 deletions Source/WebCore/html/HTMLMenuElement.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,9 @@ class HTMLMenuElement final : public HTMLElement {
WTF_MAKE_ISO_ALLOCATED(HTMLMenuElement);
public:
static Ref<HTMLMenuElement> create(const QualifiedName&, Document&);

bool isTouchBarMenu() const { return m_isTouchBarMenu; }

private:
HTMLMenuElement(const QualifiedName&, Document&);

InsertedIntoAncestorResult insertedIntoAncestor(InsertionType, ContainerNode&) final;
void removedFromAncestor(RemovalType, ContainerNode&) final;
void attributeChanged(const QualifiedName&, const AtomString& oldValue, const AtomString& newValue, AttributeModificationReason) final;

bool m_isTouchBarMenu;
};

} // namespace WebCore
77 changes: 0 additions & 77 deletions Source/WebCore/html/HTMLMenuItemElement.cpp

This file was deleted.

44 changes: 0 additions & 44 deletions Source/WebCore/html/HTMLMenuItemElement.h

This file was deleted.

30 changes: 0 additions & 30 deletions Source/WebCore/html/HTMLMenuItemElement.idl

This file was deleted.

1 change: 0 additions & 1 deletion Source/WebCore/html/HTMLTagNames.in
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@ map
mark interfaceName=HTMLElement
marquee
menu
menuitem interfaceName=HTMLMenuItemElement, settingsConditional=menuItemElementEnabled
meta
meter interfaceName=HTMLMeterElement
model interfaceName=HTMLModelElement, conditional=MODEL_ELEMENT, settingsConditional=modelElementEnabled
Expand Down
Loading

0 comments on commit 449b54f

Please sign in to comment.