Bug 301470
| Summary: | git-webkit log --hash seems very broken | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Sam Sneddon [:gsnedders] <gsnedders> |
| Component: | Tools / Tests | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=301469 | ||
Sam Sneddon [:gsnedders]
As of 224689d07870, 301906@main, almost any attempt I make at using `git-webkit log --hash` just seems very broken:
Example 1:
```
% ./Tools/Scripts/git-webkit log --hash -n1 224689d07870fdadc75b7b0fbbff9c935237daac
commit 224689d07870 (301906@main)
A ()uthor: Jamie Murphy <jmurphy@igalia.com>
Da ()te: Tue Oct 21 14:37:00 2025 -0700
[WPE] Fix build after 301229
https://bugs.webkit.org/show_bug.cgi?id=300684
Reviewed by Michael Catanzaro.
WPE didn't have the WebExtensions code enabled. Enabling it
reveals many bugs that assumed Gtk would always be present.
We can move a lot of code to GTK specific files and leave non-GTK parts
available for WPE.
This also disables the action-parsing test on WPE, since that
test creates a PNG image and WPE doesn't have any libraries that
support doing that.
* Source/WebCore/SourcesGTK.txt:
* Source/WebCore/SourcesWPE.txt:
* Source/WebCore/platform/graphics/Icon.cpp:
* Source/WebCore/platform/graphics/Icon.h:
* Source/WebCore/platform/graphics/glib/IconGLib.cpp: Renamed from Source/WebCore/platform/graphics/gtk/IconGtk.cpp.
* Source/WebKit/PlatformWPE.cmake:
* Source/WebKit/Shared/API/APIData.h:
* Source/WebKit/Shared/Extensions/wpe/WebExtensionUtilitiesWPE.cpp:
(WebKit::availableScreenScales):
* Source/WebKit/SourcesGTK.txt:
* Source/WebKit/SourcesWPE.txt:
* Source/WebKit/UIProcess/Extensions/glib/WebExtensionGLib.cpp: Copied from Source/WebKit/UIProcess/Extensions/gtk/WebExtensionGtk.cpp.
* Source/WebKit/UIProcess/Extensions/gtk/WebExtensionGTK.cpp: Added.
(WebKit::WebExtension::iconForPath):
* Source/WebKit/UIProcess/Extensions/wpe/WebExtensionWPE.cpp: Added.
(WebKit::WebExtension::iconForPath):
* Source/cmake/OptionsWPE.cmake:
* Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebExtension.cpp:
(beforeAll):
* Tools/TestWebKitAPI/glib/CMakeLists.txt:
* Tools/TestWebKitAPI/glib/PlatformGTK.cmake:
* Tools/TestWebKitAPI/glib/WebKitGLib/gtk/WebExtensionUtilities.cpp: Renamed from Tools/TestWebKitAPI/glib/WebKitGLib/WebExtensionUtilities.cpp.
Canonical link: https://commits.webkit.org/301906@main
```
Example 2:
```
% ./Tools/Scripts/git-webkit log --hash -n1 418f8517c0a8
commit 418f8517c0a8 ()
A ()uthor: Joshua Hoffman <josh_hoffman@apple.com>
Da ()te: Tue Jul 29 00:50:05 2025 -0700
Cherry-pick aa91363e81fc. rdar://156925635
AX: YouTube embed elements should create AX elements based on their node
https://bugs.webkit.org/show_bug.cgi?id=296488
rdar://156331833
Reviewed by Tyler Wilcock.
Accessibility elements are (in most cases) based off of the renderer. For
YouTube embed elements, due to some special-casing, the Embed parent and
the shadow dom child share the same renderer (see
HTMLPlugInElement::createElementRenderer). This breaks accessibility
assumptions. Instead, add a rare data field on render objects to indicate
if it is a youtube embed replacement, and if so, default to using its
renderer.
* LayoutTests/accessibility/youtube-embed-accessibility-hierarchy-expected.txt: Added.
* LayoutTests/accessibility/youtube-embed-accessibility-hierarchy.html: Added.
* LayoutTests/platform/glib/TestExpectations:
* LayoutTests/platform/mac-wk1/TestExpectations:
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::get const):
(WebCore::AXObjectCache::getOrCreate):
* Source/WebCore/html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::createElementRenderer):
* Source/WebCore/rendering/RenderObject.cpp:
(WebCore::RenderObject::markIsYouTubeReplacement):
* Source/WebCore/rendering/RenderObject.h:
(WebCore::RenderObject::isYouTubeReplacement const):
Traceback (most recent call last):
File "/Volumes/gsnedders/projects/WebKit/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/log.py", line 78, in <module>
sys.exit(Log.main(
File "/Volumes/gsnedders/projects/WebKit/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/log.py", line 74, in main
return cls.pager(args, repository, file=__file__, **kwargs)
File "/Volumes/gsnedders/projects/WebKit/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py", line 161, in pager
return FilteredCommand.main(args, repository, command=cls.name, **kwargs)
File "/Volumes/gsnedders/projects/WebKit/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py", line 312, in main
line = regexs[1].sub(
File "/Volumes/gsnedders/projects/WebKit/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py", line 313, in <lambda>
lambda match: replace_line(match, mode=cls.APPEND_MODE, **{repr: match.group(1)}),
File "/Volumes/gsnedders/projects/WebKit/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py", line 254, in replace_line
return match.group(0).replace(match.groups()[-1], reference)
TypeError: replace() argument 1 must be str, not None
```
Example 3:
```
% ./Tools/Scripts/git-webkit log --hash -n1 --pretty=%B 418f8517c0a8
C ()herry-pick aa91363e81fc. rdar://156925635
AX: YouTube embed elements should create AX elements based on their node
https://bugs.webkit.org/show_bug.cgi?id=296488
rdar://156331833
Reviewed by Tyler Wilcock.
Accessibility elements are (in most cases) based off of the renderer. For
YouTube embed elements, due to some special-casing, the Embed parent and
the shadow dom child share the same renderer (see
HTMLPlugInElement::createElementRenderer). This breaks accessibility
assumptions. Instead, add a rare data field on render objects to indicate
if it is a youtube embed replacement, and if so, default to using its
renderer.
* LayoutTests/accessibility/youtube-embed-accessibility-hierarchy-expected.txt: Added.
* LayoutTests/accessibility/youtube-embed-accessibility-hierarchy.html: Added.
* LayoutTests/platform/glib/TestExpectations:
* LayoutTests/platform/mac-wk1/TestExpectations:
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::get const):
(WebCore::AXObjectCache::getOrCreate):
* Source/WebCore/html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::createElementRenderer):
* Source/WebCore/rendering/RenderObject.cpp:
(WebCore::RenderObject::markIsYouTubeReplacement):
* Source/WebCore/rendering/RenderObject.h:
(WebCore::RenderObject::isYouTubeReplacement const):
Canonical link: https://commits.webkit.org/297939@main
Ca ()nonical link: https://commits.webkit.org/297297.204@safari-7622-branch
```
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/163410883>