Title: [285046] trunk/Source

Diff

Modified: trunk/Source/WTF/ChangeLog (285045 => 285046)


--- trunk/Source/WTF/ChangeLog	2021-10-29 20:17:26 UTC (rev 285045)
+++ trunk/Source/WTF/ChangeLog	2021-10-29 20:30:27 UTC (rev 285046)
@@ -1,3 +1,17 @@
+2021-10-29  Ayumi Kojima  <[email protected]>
+
+        Unreviewed, reverting r285038.
+
+        Reverting the commit because it broke the open source test
+        runs and also caused an impanct on EWS queues
+
+        Reverted changeset:
+
+        "Create constants for all special frame names used in anchor
+        target attribute values and elsewhere"
+        https://bugs.webkit.org/show_bug.cgi?id=232488
+        https://commits.webkit.org/r285038
+
 2021-10-29  Darin Adler  <[email protected]>
 
         Create constants for all special frame names used in anchor target attribute values and elsewhere

Modified: trunk/Source/WTF/wtf/Forward.h (285045 => 285046)


--- trunk/Source/WTF/wtf/Forward.h	2021-10-29 20:17:26 UTC (rev 285045)
+++ trunk/Source/WTF/wtf/Forward.h	2021-10-29 20:30:27 UTC (rev 285046)
@@ -25,7 +25,6 @@
 
 namespace WTF {
 
-class ASCIILiteral;
 class AbstractLocker;
 class AtomString;
 class AtomStringImpl;
@@ -48,8 +47,8 @@
 class SuspendableWorkQueue;
 class TextPosition;
 class TextStream;
+class UniquedStringImpl;
 class URL;
-class UniquedStringImpl;
 class WallTime;
 
 struct AnyThreadsAccessTraits;
@@ -119,7 +118,6 @@
 template<class> class unexpected;
 }}} // namespace std::experimental::fundamentals_v3
 
-using WTF::ASCIILiteral;
 using WTF::AbstractLocker;
 using WTF::AtomString;
 using WTF::AtomStringImpl;

Modified: trunk/Source/WTF/wtf/text/ASCIILiteral.h (285045 => 285046)


--- trunk/Source/WTF/wtf/text/ASCIILiteral.h	2021-10-29 20:17:26 UTC (rev 285045)
+++ trunk/Source/WTF/wtf/text/ASCIILiteral.h	2021-10-29 20:30:27 UTC (rev 285046)
@@ -26,7 +26,6 @@
 #pragma once
 
 #include <wtf/ASCIICType.h>
-#include <wtf/Forward.h>
 #include <wtf/StdLibExtras.h>
 
 namespace WTF {
@@ -79,3 +78,4 @@
 } // namespace WTF
 
 using namespace WTF::StringLiterals;
+using WTF::ASCIILiteral;

Modified: trunk/Source/WebCore/ChangeLog (285045 => 285046)


--- trunk/Source/WebCore/ChangeLog	2021-10-29 20:17:26 UTC (rev 285045)
+++ trunk/Source/WebCore/ChangeLog	2021-10-29 20:30:27 UTC (rev 285046)
@@ -1,3 +1,17 @@
+2021-10-29  Ayumi Kojima  <[email protected]>
+
+        Unreviewed, reverting r285038.
+
+        Reverting the commit because it broke the open source test
+        runs and also caused an impanct on EWS queues
+
+        Reverted changeset:
+
+        "Create constants for all special frame names used in anchor
+        target attribute values and elsewhere"
+        https://bugs.webkit.org/show_bug.cgi?id=232488
+        https://commits.webkit.org/r285038
+
 2021-10-29  Yusuke Suzuki  <[email protected]>
 
         Unreviewed, revert r284440, r284397, r284359

Modified: trunk/Source/WebCore/html/HTMLAnchorElement.cpp (285045 => 285046)


--- trunk/Source/WebCore/html/HTMLAnchorElement.cpp	2021-10-29 20:17:26 UTC (rev 285045)
+++ trunk/Source/WebCore/html/HTMLAnchorElement.cpp	2021-10-29 20:30:27 UTC (rev 285046)
@@ -528,7 +528,7 @@
 
     auto effectiveTarget = this->effectiveTarget();
     NewFrameOpenerPolicy newFrameOpenerPolicy = NewFrameOpenerPolicy::Allow;
-    if (hasRel(Relation::NoOpener) || hasRel(Relation::NoReferrer) || (!hasRel(Relation::Opener) && document().settings().blankAnchorTargetImpliesNoOpenerEnabled() && isBlankTargetFrameName(effectiveTarget)))
+    if (hasRel(Relation::NoOpener) || hasRel(Relation::NoReferrer) || (!hasRel(Relation::Opener) && document().settings().blankAnchorTargetImpliesNoOpenerEnabled() && equalIgnoringASCIICase(effectiveTarget, "_blank")))
         newFrameOpenerPolicy = NewFrameOpenerPolicy::Suppress;
 
     auto privateClickMeasurement = parsePrivateClickMeasurement();

Modified: trunk/Source/WebCore/html/HTMLFormElement.cpp (285045 => 285046)


--- trunk/Source/WebCore/html/HTMLFormElement.cpp	2021-10-29 20:17:26 UTC (rev 285045)
+++ trunk/Source/WebCore/html/HTMLFormElement.cpp	2021-10-29 20:30:27 UTC (rev 285046)
@@ -428,7 +428,7 @@
         return;
 
     auto relAttributes = parseFormRelAttributes(getAttribute(HTMLNames::relAttr));
-    if (relAttributes.noopener || relAttributes.noreferrer || (!relAttributes.opener && document().settings().blankAnchorTargetImpliesNoOpenerEnabled() && isBlankTargetFrameName(formSubmission->target())))
+    if (relAttributes.noopener || relAttributes.noreferrer || (!relAttributes.opener && document().settings().blankAnchorTargetImpliesNoOpenerEnabled() && equalIgnoringASCIICase(formSubmission->target(), "_blank")))
         formSubmission->setNewFrameOpenerPolicy(NewFrameOpenerPolicy::Suppress);
     if (relAttributes.noreferrer)
         formSubmission->setReferrerPolicy(ReferrerPolicy::NoReferrer);

Modified: trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp (285045 => 285046)


--- trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp	2021-10-29 20:17:26 UTC (rev 285045)
+++ trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp	2021-10-29 20:30:27 UTC (rev 285046)
@@ -267,7 +267,7 @@
 {
     UserGestureIndicator indicator { ProcessingUserGesture };
     Frame& mainFrame = m_inspectedPageController->inspectedPage().mainFrame();
-    FrameLoadRequest frameLoadRequest { *mainFrame.document(), mainFrame.document()->securityOrigin(), { }, blankTargetFrameName(), InitiatedByMainFrame::Unknown };
+    FrameLoadRequest frameLoadRequest { *mainFrame.document(), mainFrame.document()->securityOrigin(), { }, "_blank"_s, InitiatedByMainFrame::Unknown };
 
     bool created;
     WindowFeatures features;
@@ -280,7 +280,7 @@
 
     // FIXME: Why do we compute the absolute URL with respect to |frame| instead of |mainFrame|?
     ResourceRequest resourceRequest { frame->document()->completeURL(url) };
-    FrameLoadRequest frameLoadRequest2 { *mainFrame.document(), mainFrame.document()->securityOrigin(), WTFMove(resourceRequest), selfTargetFrameName(), InitiatedByMainFrame::Unknown };
+    FrameLoadRequest frameLoadRequest2 { *mainFrame.document(), mainFrame.document()->securityOrigin(), WTFMove(resourceRequest), "_self"_s, InitiatedByMainFrame::Unknown };
     frame->loader().changeLocation(WTFMove(frameLoadRequest2));
 }
 

Modified: trunk/Source/WebCore/inspector/agents/InspectorPageAgent.cpp (285045 => 285046)


--- trunk/Source/WebCore/inspector/agents/InspectorPageAgent.cpp	2021-10-29 20:17:26 UTC (rev 285045)
+++ trunk/Source/WebCore/inspector/agents/InspectorPageAgent.cpp	2021-10-29 20:30:27 UTC (rev 285046)
@@ -413,7 +413,7 @@
     Frame& frame = m_inspectedPage.mainFrame();
 
     ResourceRequest resourceRequest { frame.document()->completeURL(url) };
-    FrameLoadRequest frameLoadRequest { *frame.document(), frame.document()->securityOrigin(), WTFMove(resourceRequest), selfTargetFrameName(), InitiatedByMainFrame::Unknown };
+    FrameLoadRequest frameLoadRequest { *frame.document(), frame.document()->securityOrigin(), WTFMove(resourceRequest), "_self"_s, InitiatedByMainFrame::Unknown };
     frameLoadRequest.disableNavigationToInvalidURL();
     frame.loader().changeLocation(WTFMove(frameLoadRequest));
 

Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (285045 => 285046)


--- trunk/Source/WebCore/loader/FrameLoader.cpp	2021-10-29 20:17:26 UTC (rev 285045)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp	2021-10-29 20:30:27 UTC (rev 285046)
@@ -985,7 +985,7 @@
     auto* lexicalFrame = lexicalFrameFromCommonVM();
     auto initiatedByMainFrame = lexicalFrame && lexicalFrame->isMainFrame() ? InitiatedByMainFrame::Yes : InitiatedByMainFrame::Unknown;
 
-    FrameLoadRequest frameLoadRequest { *m_frame.document(), m_frame.document()->securityOrigin(), { url }, selfTargetFrameName(), initiatedByMainFrame };
+    FrameLoadRequest frameLoadRequest { *m_frame.document(), m_frame.document()->securityOrigin(), { url }, "_self"_s, initiatedByMainFrame };
     frameLoadRequest.setNewFrameOpenerPolicy(NewFrameOpenerPolicy::Suppress);
     frameLoadRequest.setLockBackForwardList(LockBackForwardList::Yes);
     childFrame->loader().loadURL(WTFMove(frameLoadRequest), referer, FrameLoadType::RedirectWithLockedBackForwardList, nullptr, { }, std::nullopt, [] { });
@@ -1346,7 +1346,7 @@
     // The search for a target frame is done earlier in the case of form submission.
     auto targetFrame = isFormSubmission ? nullptr : RefPtr { findFrameForNavigation(effectiveFrameName) };
     if (targetFrame && targetFrame != &m_frame) {
-        frameLoadRequest.setFrameName(selfTargetFrameName());
+        frameLoadRequest.setFrameName("_self");
         targetFrame->loader().loadURL(WTFMove(frameLoadRequest), referrer, newLoadType, event, WTFMove(formState), WTFMove(privateClickMeasurement), completionHandlerCaller.release());
         return;
     }
@@ -1376,7 +1376,7 @@
 
         // https://html.spec.whatwg.org/#the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name (Step 8.2)
         if (frameLoadRequest.requester().shouldForceNoOpenerBasedOnCOOP()) {
-            effectiveFrameName = blankTargetFrameName();
+            effectiveFrameName = "_blank"_s;
             openerPolicy = NewFrameOpenerPolicy::Suppress;
         }
 
@@ -3082,7 +3082,7 @@
 
         // https://html.spec.whatwg.org/#the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name (Step 8.2)
         if (request.requester().shouldForceNoOpenerBasedOnCOOP()) {
-            frameName = blankTargetFrameName();
+            frameName = "_blank"_s;
             openerPolicy = NewFrameOpenerPolicy::Suppress;
         }
 
@@ -3574,7 +3574,7 @@
     if (sandboxFlags & SandboxPropagatesToAuxiliaryBrowsingContexts)
         mainFrame->loader().forceSandboxFlags(sandboxFlags);
 
-    if (!isBlankTargetFrameName(frameName))
+    if (!equalIgnoringASCIICase(frameName, "_blank"))
         mainFrame->tree().setName(frameName);
 
     mainFrame->page()->setOpenedByDOM();
@@ -4105,9 +4105,9 @@
     if (request.resourceRequest().url().protocolIsJavaScript() && !openerFrame.document()->contentSecurityPolicy()->allowJavaScriptURLs(openerFrame.document()->url().string(), { }, request.resourceRequest().url().string()))
         return nullptr;
 
-    if (!request.frameName().isEmpty() && !isBlankTargetFrameName(request.frameName())) {
+    if (!request.frameName().isEmpty() && !equalIgnoringASCIICase(request.frameName(), "_blank")) {
         if (RefPtr<Frame> frame = lookupFrame.loader().findFrameForNavigation(request.frameName(), openerFrame.document())) {
-            if (!isSelfTargetFrameName(request.frameName())) {
+            if (!equalIgnoringASCIICase(request.frameName(), "_self")) {
                 if (Page* page = frame->page())
                     page->chrome().focus();
             }
@@ -4117,7 +4117,7 @@
 
     // https://html.spec.whatwg.org/#the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name (Step 8.2)
     if (openerFrame.document()->shouldForceNoOpenerBasedOnCOOP()) {
-        request.setFrameName(blankTargetFrameName());
+        request.setFrameName("_blank"_s);
         features.noopener = true;
     }
 
@@ -4149,7 +4149,7 @@
     if (isDocumentSandboxed(openerFrame, SandboxPropagatesToAuxiliaryBrowsingContexts))
         frame->loader().forceSandboxFlags(openerFrame.document()->sandboxFlags());
 
-    if (!isBlankTargetFrameName(request.frameName()))
+    if (!equalIgnoringASCIICase(request.frameName(), "_blank"))
         frame->tree().setName(request.frameName());
 
     page->chrome().setToolbarsVisible(features.toolBarVisible || features.locationBarVisible);

Modified: trunk/Source/WebCore/loader/NavigationScheduler.cpp (285045 => 285046)


--- trunk/Source/WebCore/loader/NavigationScheduler.cpp	2021-10-29 20:17:26 UTC (rev 285045)
+++ trunk/Source/WebCore/loader/NavigationScheduler.cpp	2021-10-29 20:30:27 UTC (rev 285046)
@@ -194,7 +194,7 @@
         ResourceRequest resourceRequest { url(), referrer(), refresh ? ResourceRequestCachePolicy::ReloadIgnoringCacheData : ResourceRequestCachePolicy::UseProtocolCachePolicy };
         if (initiatedByMainFrame() == InitiatedByMainFrame::Yes)
             resourceRequest.setRequester(ResourceRequest::Requester::Main);
-        FrameLoadRequest frameLoadRequest { initiatingDocument(), *securityOrigin(), WTFMove(resourceRequest), selfTargetFrameName(), initiatedByMainFrame() };
+        FrameLoadRequest frameLoadRequest { initiatingDocument(), *securityOrigin(), WTFMove(resourceRequest), "_self", initiatedByMainFrame() };
         frameLoadRequest.setLockHistory(lockHistory());
         frameLoadRequest.setLockBackForwardList(lockBackForwardList());
         frameLoadRequest.disableNavigationToInvalidURL();
@@ -226,7 +226,7 @@
         UserGestureIndicator gestureIndicator { userGestureToForward() };
 
         ResourceRequest resourceRequest { url(), referrer(), ResourceRequestCachePolicy::UseProtocolCachePolicy };
-        FrameLoadRequest frameLoadRequest { initiatingDocument(), *securityOrigin(), WTFMove(resourceRequest), selfTargetFrameName(), initiatedByMainFrame() };
+        FrameLoadRequest frameLoadRequest { initiatingDocument(), *securityOrigin(), WTFMove(resourceRequest), "_self", initiatedByMainFrame() };
         frameLoadRequest.setLockHistory(lockHistory());
         frameLoadRequest.setLockBackForwardList(lockBackForwardList());
         frameLoadRequest.disableNavigationToInvalidURL();
@@ -253,7 +253,7 @@
         UserGestureIndicator gestureIndicator { userGestureToForward() };
 
         ResourceRequest resourceRequest { url(), referrer(), ResourceRequestCachePolicy::ReloadIgnoringCacheData };
-        FrameLoadRequest frameLoadRequest { initiatingDocument(), *securityOrigin(), WTFMove(resourceRequest), selfTargetFrameName(), initiatedByMainFrame() };
+        FrameLoadRequest frameLoadRequest { initiatingDocument(), *securityOrigin(), WTFMove(resourceRequest), "_self", initiatedByMainFrame() };
         frameLoadRequest.setLockHistory(lockHistory());
         frameLoadRequest.setLockBackForwardList(lockBackForwardList());
         frameLoadRequest.setShouldOpenExternalURLsPolicy(shouldOpenExternalURLs());
@@ -277,7 +277,7 @@
         if (!m_historySteps) {
             // Special case for go(0) from a frame -> reload only the frame
             // To follow Firefox and IE's behavior, history reload can only navigate the self frame.
-            frame.loader().changeLocation(frame.document()->url(), selfTargetFrameName(), 0, ReferrerPolicy::EmptyString, shouldOpenExternalURLs());
+            frame.loader().changeLocation(frame.document()->url(), "_self", 0, ReferrerPolicy::EmptyString, shouldOpenExternalURLs());
             return;
         }
         
@@ -470,7 +470,7 @@
         auto* frame = lexicalFrameFromCommonVM();
         auto initiatedByMainFrame = frame && frame->isMainFrame() ? InitiatedByMainFrame::Yes : InitiatedByMainFrame::Unknown;
         
-        FrameLoadRequest frameLoadRequest { initiatingDocument, securityOrigin, WTFMove(resourceRequest), selfTargetFrameName(), initiatedByMainFrame };
+        FrameLoadRequest frameLoadRequest { initiatingDocument, securityOrigin, WTFMove(resourceRequest), "_self"_s, initiatedByMainFrame };
         frameLoadRequest.setLockHistory(lockHistory);
         frameLoadRequest.setLockBackForwardList(lockBackForwardList);
         frameLoadRequest.disableNavigationToInvalidURL();

Modified: trunk/Source/WebCore/mathml/MathMLElement.cpp (285045 => 285046)


--- trunk/Source/WebCore/mathml/MathMLElement.cpp	2021-10-29 20:17:26 UTC (rev 285045)
+++ trunk/Source/WebCore/mathml/MathMLElement.cpp	2021-10-29 20:30:27 UTC (rev 285046)
@@ -198,7 +198,7 @@
             const auto& url = ""
             event.setDefaultHandled();
             if (auto* frame = document().frame())
-                frame->loader().changeLocation(document().completeURL(url), selfTargetFrameName(), &event, ReferrerPolicy::EmptyString, document().shouldOpenExternalURLsPolicyToPropagate());
+                frame->loader().changeLocation(document().completeURL(url), "_self", &event, ReferrerPolicy::EmptyString, document().shouldOpenExternalURLsPolicyToPropagate());
             return;
         }
     }

Modified: trunk/Source/WebCore/page/DOMWindow.cpp (285045 => 285046)


--- trunk/Source/WebCore/page/DOMWindow.cpp	2021-10-29 20:17:26 UTC (rev 285045)
+++ trunk/Source/WebCore/page/DOMWindow.cpp	2021-10-29 20:30:27 UTC (rev 285046)
@@ -2539,7 +2539,7 @@
     if (created) {
         ResourceRequest resourceRequest { completedURL, referrer, ResourceRequestCachePolicy::UseProtocolCachePolicy };
         FrameLoader::addSameSiteInfoToRequestIfNeeded(resourceRequest, openerFrame.document());
-        FrameLoadRequest frameLoadRequest { *activeWindow.document(), activeWindow.document()->securityOrigin(), WTFMove(resourceRequest), selfTargetFrameName(), initiatedByMainFrame };
+        FrameLoadRequest frameLoadRequest { *activeWindow.document(), activeWindow.document()->securityOrigin(), WTFMove(resourceRequest), "_self"_s, initiatedByMainFrame };
         frameLoadRequest.setShouldOpenExternalURLsPolicy(activeDocument->shouldOpenExternalURLsPolicyToPropagate());
         newFrame->loader().changeLocation(WTFMove(frameLoadRequest));
     } else if (!urlString.isEmpty()) {
@@ -2608,9 +2608,9 @@
     // Get the target frame for the special cases of _top and _parent.
     // In those cases, we schedule a location change right now and return early.
     RefPtr<Frame> targetFrame;
-    if (isTopTargetFrameName(frameName))
+    if (equalIgnoringASCIICase(frameName, "_top"))
         targetFrame = &frame->tree().top();
-    else if (isParentTargetFrameName(frameName)) {
+    else if (equalIgnoringASCIICase(frameName, "_parent")) {
         if (RefPtr parent = frame->tree().parent())
             targetFrame = parent;
         else

Modified: trunk/Source/WebCore/page/FrameTree.cpp (285045 => 285046)


--- trunk/Source/WebCore/page/FrameTree.cpp	2021-10-29 20:17:26 UTC (rev 285045)
+++ trunk/Source/WebCore/page/FrameTree.cpp	2021-10-29 20:30:27 UTC (rev 285046)
@@ -103,7 +103,7 @@
 AtomString FrameTree::uniqueChildName(const AtomString& requestedName) const
 {
     // If the requested name (the frame's "name" attribute) is unique, just use that.
-    if (!requestedName.isEmpty() && !child(requestedName) && !isBlankTargetFrameName(requestedName))
+    if (!requestedName.isEmpty() && !child(requestedName) && !equalIgnoringASCIICase(requestedName, "_blank"))
         return requestedName;
 
     // The "name" attribute was not unique or absent. Generate a name based on a counter on the main frame that gets reset
@@ -237,17 +237,18 @@
 
 Frame* FrameTree::find(const AtomString& name, Frame& activeFrame) const
 {
-    if (isSelfTargetFrameName(name))
+    // FIXME: _current is not part of the HTML specification.
+    if (equalIgnoringASCIICase(name, "_self") || name == "_current" || name.isEmpty())
         return &m_thisFrame;
     
-    if (isTopTargetFrameName(name))
+    if (equalIgnoringASCIICase(name, "_top"))
         return &top();
     
-    if (isParentTargetFrameName(name))
+    if (equalIgnoringASCIICase(name, "_parent"))
         return parent() ? parent() : &m_thisFrame;
 
-    // Since "_blank" cannot be a frame's name, this check is an optimization, not for correctness.
-    if (isBlankTargetFrameName(name))
+    // Since "_blank" should never be any frame's name, the following is only an optimization.
+    if (equalIgnoringASCIICase(name, "_blank"))
         return nullptr;
 
     // Search subtree starting with this frame first.
@@ -263,11 +264,11 @@
     }
 
     // Search the entire tree of each of the other pages in this namespace.
+    // FIXME: Is random order OK?
     Page* page = m_thisFrame.page();
     if (!page)
         return nullptr;
     
-    // FIXME: These pages are searched in random order; that doesn't seem good. Maybe use order of creation?
     for (auto& otherPage : page->group().pages()) {
         if (&otherPage == page || otherPage.isClosing())
             continue;
@@ -459,38 +460,6 @@
     return *frame;
 }
 
-ASCIILiteral blankTargetFrameName()
-{
-    return "_blank"_s;
-}
-
-// FIXME: Is it important to have this? Can't we just use the empty string everywhere this is used, instead?
-ASCIILiteral selfTargetFrameName()
-{
-    return "_self"_s;
-}
-
-bool isBlankTargetFrameName(StringView name)
-{
-    return equalLettersIgnoringASCIICase(name, "_blank");
-}
-
-bool isParentTargetFrameName(StringView name)
-{
-    return equalLettersIgnoringASCIICase(name, "_parent");
-}
-
-bool isSelfTargetFrameName(StringView name)
-{
-    // FIXME: Some day we should remove _current, which is not part of the HTML specification.
-    return name.isEmpty() || equalLettersIgnoringASCIICase(name, "_self") || name == "_current";
-}
-
-bool isTopTargetFrameName(StringView name)
-{
-    return equalLettersIgnoringASCIICase(name, "_top");
-}
-
 } // namespace WebCore
 
 #ifndef NDEBUG

Modified: trunk/Source/WebCore/page/FrameTree.h (285045 => 285046)


--- trunk/Source/WebCore/page/FrameTree.h	2021-10-29 20:17:26 UTC (rev 285045)
+++ trunk/Source/WebCore/page/FrameTree.h	2021-10-29 20:30:27 UTC (rev 285046)
@@ -107,14 +107,6 @@
     mutable uint64_t m_frameIDGenerator { 0 };
 };
 
-ASCIILiteral blankTargetFrameName();
-ASCIILiteral selfTargetFrameName();
-
-bool isBlankTargetFrameName(StringView);
-bool isParentTargetFrameName(StringView);
-bool isSelfTargetFrameName(StringView);
-bool isTopTargetFrameName(StringView);
-
 } // namespace WebCore
 
 #if ENABLE(TREE_DEBUGGING)

Modified: trunk/Source/WebCore/svg/SVGAElement.cpp (285045 => 285046)


--- trunk/Source/WebCore/svg/SVGAElement.cpp	2021-10-29 20:17:26 UTC (rev 285045)
+++ trunk/Source/WebCore/svg/SVGAElement.cpp	2021-10-29 20:30:27 UTC (rev 285046)
@@ -136,7 +136,7 @@
 
             String target = this->target();
             if (target.isEmpty() && attributeWithoutSynchronization(XLinkNames::showAttr) == "new")
-                target = blankTargetFrameName();
+                target = "_blank";
             event.setDefaultHandled();
 
             RefPtr frame = document().frame();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to