- Revision
- 292923
- Author
- grao...@webkit.org
- Date
- 2022-04-15 14:49:04 -0700 (Fri, 15 Apr 2022)
Log Message
WKWebView false positive when testing a.relList.supports("ar"), fails to open USDZ in AR QuickLook
https://bugs.webkit.org/show_bug.cgi?id=239135
<rdar://problem/91798041>
Reviewed by Tim Horton.
Source/WebCore:
Only return "true" for a.relList.supports("ar") when the SystemPreviewEnabled setting is "true".
Tests: system-preview/rel-ar-setting-disabled.html
system-preview/rel-ar-setting-enabled.html
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::relList):
LayoutTests:
Add tests to check a.relList.supports("ar") returns the expected value based on
the SystemPreviewEnabled setting value.
* system-preview/rel-ar-setting-disabled-expected.txt: Added.
* system-preview/rel-ar-setting-disabled.html: Added.
* system-preview/rel-ar-setting-enabled-expected.txt: Added.
* system-preview/rel-ar-setting-enabled.html: Added.
Canonical link: https://commits.webkit.org/249690@main
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (292922 => 292923)
--- trunk/LayoutTests/ChangeLog 2022-04-15 21:43:27 UTC (rev 292922)
+++ trunk/LayoutTests/ChangeLog 2022-04-15 21:49:04 UTC (rev 292923)
@@ -1,3 +1,19 @@
+2022-04-15 Antoine Quint <grao...@apple.com>
+
+ WKWebView false positive when testing a.relList.supports("ar"), fails to open USDZ in AR QuickLook
+ https://bugs.webkit.org/show_bug.cgi?id=239135
+ <rdar://problem/91798041>
+
+ Reviewed by Tim Horton.
+
+ Add tests to check a.relList.supports("ar") returns the expected value based on
+ the SystemPreviewEnabled setting value.
+
+ * system-preview/rel-ar-setting-disabled-expected.txt: Added.
+ * system-preview/rel-ar-setting-disabled.html: Added.
+ * system-preview/rel-ar-setting-enabled-expected.txt: Added.
+ * system-preview/rel-ar-setting-enabled.html: Added.
+
2022-04-15 Karl Rackler <rack...@apple.com>
[ Mac ] fast/css/counters/element-removal-crash.xhtml is a flaky failure
Added: trunk/LayoutTests/system-preview/rel-ar-setting-disabled-expected.txt (0 => 292923)
--- trunk/LayoutTests/system-preview/rel-ar-setting-disabled-expected.txt (rev 0)
+++ trunk/LayoutTests/system-preview/rel-ar-setting-disabled-expected.txt 2022-04-15 21:49:04 UTC (rev 292923)
@@ -0,0 +1,3 @@
+
+PASS a.relList.supports("ar") should be false when SystemPreviewEnabled is false.
+
Added: trunk/LayoutTests/system-preview/rel-ar-setting-disabled.html (0 => 292923)
--- trunk/LayoutTests/system-preview/rel-ar-setting-disabled.html (rev 0)
+++ trunk/LayoutTests/system-preview/rel-ar-setting-disabled.html 2022-04-15 21:49:04 UTC (rev 292923)
@@ -0,0 +1,12 @@
+<!DOCTYPE html><!-- webkit-test-runner [ SystemPreviewEnabled=false ] -->
+<body>
+<script src=""
+<script src=""
+<script>
+
+test(() => {
+ assert_false(document.createElement("a").relList.supports("ar"));
+}, `a.relList.supports("ar") should be false when SystemPreviewEnabled is false.`);
+
+</script>
+</body>
Added: trunk/LayoutTests/system-preview/rel-ar-setting-enabled-expected.txt (0 => 292923)
--- trunk/LayoutTests/system-preview/rel-ar-setting-enabled-expected.txt (rev 0)
+++ trunk/LayoutTests/system-preview/rel-ar-setting-enabled-expected.txt 2022-04-15 21:49:04 UTC (rev 292923)
@@ -0,0 +1,3 @@
+
+PASS a.relList.supports("ar") should be true when SystemPreviewEnabled is true.
+
Added: trunk/LayoutTests/system-preview/rel-ar-setting-enabled.html (0 => 292923)
--- trunk/LayoutTests/system-preview/rel-ar-setting-enabled.html (rev 0)
+++ trunk/LayoutTests/system-preview/rel-ar-setting-enabled.html 2022-04-15 21:49:04 UTC (rev 292923)
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<body>
+<script src=""
+<script src=""
+<script>
+
+test(() => {
+ assert_true(document.createElement("a").relList.supports("ar"));
+}, `a.relList.supports("ar") should be true when SystemPreviewEnabled is true.`);
+
+</script>
+</body>
Modified: trunk/Source/WebCore/ChangeLog (292922 => 292923)
--- trunk/Source/WebCore/ChangeLog 2022-04-15 21:43:27 UTC (rev 292922)
+++ trunk/Source/WebCore/ChangeLog 2022-04-15 21:49:04 UTC (rev 292923)
@@ -1,3 +1,19 @@
+2022-04-15 Antoine Quint <grao...@apple.com>
+
+ WKWebView false positive when testing a.relList.supports("ar"), fails to open USDZ in AR QuickLook
+ https://bugs.webkit.org/show_bug.cgi?id=239135
+ <rdar://problem/91798041>
+
+ Reviewed by Tim Horton.
+
+ Only return "true" for a.relList.supports("ar") when the SystemPreviewEnabled setting is "true".
+
+ Tests: system-preview/rel-ar-setting-disabled.html
+ system-preview/rel-ar-setting-enabled.html
+
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::relList):
+
2022-04-15 Tim Horton <timothy_hor...@apple.com>
Non-fatal fault under RenderThemeIOS::paintAttachment due to use of dynamic UIColors
Modified: trunk/Source/WebCore/html/HTMLAnchorElement.cpp (292922 => 292923)
--- trunk/Source/WebCore/html/HTMLAnchorElement.cpp 2022-04-15 21:43:27 UTC (rev 292922)
+++ trunk/Source/WebCore/html/HTMLAnchorElement.cpp 2022-04-15 21:49:04 UTC (rev 292923)
@@ -314,10 +314,12 @@
DOMTokenList& HTMLAnchorElement::relList()
{
if (!m_relList) {
- m_relList = makeUnique<DOMTokenList>(*this, HTMLNames::relAttr, [](Document&, StringView token) {
+ m_relList = makeUnique<DOMTokenList>(*this, HTMLNames::relAttr, [](Document& document, StringView token) {
#if USE(SYSTEM_PREVIEW)
if (equalIgnoringASCIICase(token, "ar"))
- return true;
+ return document.settings().systemPreviewEnabled();
+#else
+ UNUSED_PARAM(document);
#endif
return equalIgnoringASCIICase(token, "noreferrer") || equalIgnoringASCIICase(token, "noopener") || equalIgnoringASCIICase(token, "opener");
});