Title: [232424] trunk/Source
Revision
232424
Author
[email protected]
Date
2018-06-01 16:09:14 -0700 (Fri, 01 Jun 2018)

Log Message

REGRESSION (r231456): Colloquy is broken
https://bugs.webkit.org/show_bug.cgi?id=186197
<rdar://problem/40722960>

Reviewed by Timothy Hatcher.

Restore pre-r231456 behavior for Colloquy app so that it works again.

Source/WebCore:

* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::openURL):
* page/Settings.yaml:

Source/WebKitLegacy/mac:

* WebView/WebView.mm:
(-[WebView _needsFrameNameFallbackToIdQuirk]):
(-[WebView _preferencesChanged:]):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (232423 => 232424)


--- trunk/Source/WebCore/ChangeLog	2018-06-01 22:56:29 UTC (rev 232423)
+++ trunk/Source/WebCore/ChangeLog	2018-06-01 23:09:14 UTC (rev 232424)
@@ -1,5 +1,19 @@
 2018-06-01  Chris Dumez  <[email protected]>
 
+        REGRESSION (r231456): Colloquy is broken
+        https://bugs.webkit.org/show_bug.cgi?id=186197
+        <rdar://problem/40722960>
+
+        Reviewed by Timothy Hatcher.
+
+        Restore pre-r231456 behavior for Colloquy app so that it works again.
+
+        * html/HTMLFrameElementBase.cpp:
+        (WebCore::HTMLFrameElementBase::openURL):
+        * page/Settings.yaml:
+
+2018-06-01  Chris Dumez  <[email protected]>
+
         Regression(r230567): Unable to log into twitter.com in private sessions
         https://bugs.webkit.org/show_bug.cgi?id=186205
         <rdar://problem/40670799>

Modified: trunk/Source/WebCore/html/HTMLFrameElementBase.cpp (232423 => 232424)


--- trunk/Source/WebCore/html/HTMLFrameElementBase.cpp	2018-06-01 22:56:29 UTC (rev 232423)
+++ trunk/Source/WebCore/html/HTMLFrameElementBase.cpp	2018-06-01 23:09:14 UTC (rev 232424)
@@ -96,7 +96,11 @@
     if (!parentFrame)
         return;
 
-    parentFrame->loader().subframeLoader().requestFrame(*this, m_URL, getNameAttribute(), lockHistory, lockBackForwardList);
+    String frameName = getNameAttribute();
+    if (frameName.isNull() && UNLIKELY(document().settings().needsFrameNameFallbackToIdQuirk()))
+        frameName = getIdAttribute();
+
+    parentFrame->loader().subframeLoader().requestFrame(*this, m_URL, frameName, lockHistory, lockBackForwardList);
 }
 
 void HTMLFrameElementBase::parseAttribute(const QualifiedName& name, const AtomicString& value)

Modified: trunk/Source/WebCore/page/Settings.yaml (232423 => 232424)


--- trunk/Source/WebCore/page/Settings.yaml	2018-06-01 22:56:29 UTC (rev 232423)
+++ trunk/Source/WebCore/page/Settings.yaml	2018-06-01 23:09:14 UTC (rev 232424)
@@ -105,6 +105,8 @@
   initial: false
 needsStorageAccessFromFileURLsQuirk:
   initial: true
+needsFrameNameFallbackToIdQuirk:
+  initial: false
 useAnonymousModeWhenFetchingMaskImages:
   initial: true
 _javascript_CanOpenWindowsAutomatically:

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (232423 => 232424)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2018-06-01 22:56:29 UTC (rev 232423)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2018-06-01 23:09:14 UTC (rev 232424)
@@ -1,3 +1,17 @@
+2018-06-01  Chris Dumez  <[email protected]>
+
+        REGRESSION (r231456): Colloquy is broken
+        https://bugs.webkit.org/show_bug.cgi?id=186197
+        <rdar://problem/40722960>
+
+        Reviewed by Timothy Hatcher.
+
+        Restore pre-r231456 behavior for Colloquy app so that it works again.
+
+        * WebView/WebView.mm:
+        (-[WebView _needsFrameNameFallbackToIdQuirk]):
+        (-[WebView _preferencesChanged:]):
+
 2018-05-30  Yusuke Suzuki  <[email protected]>
 
         [JSC] Pass VM& parameter as much as possible

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (232423 => 232424)


--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2018-06-01 22:56:29 UTC (rev 232423)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2018-06-01 23:09:14 UTC (rev 232424)
@@ -2704,6 +2704,12 @@
     return needsQuirk;
 }
 
+- (BOOL)_needsFrameNameFallbackToIdQuirk
+{
+    static BOOL needsQuirk = _CFAppVersionCheckLessThan(CFSTR("info.colloquy"), -1, 2.5);
+    return needsQuirk;
+}
+
 - (BOOL)_needsIsLoadingInAPISenseQuirk
 {
     static BOOL needsQuirk = _CFAppVersionCheckLessThan(CFSTR("com.apple.iAdProducer"), -1, 2.1);
@@ -3004,6 +3010,7 @@
 
     settings.setNeedsAdobeFrameReloadingQuirk([self _needsAdobeFrameReloadingQuirk]);
     settings.setTreatsAnyTextCSSLinkAsStylesheet([self _needsLinkElementTextCSSQuirk]);
+    settings.setNeedsFrameNameFallbackToIdQuirk([self _needsFrameNameFallbackToIdQuirk]);
     settings.setNeedsKeyboardEventDisambiguationQuirks([self _needsKeyboardEventDisambiguationQuirks]);
     settings.setEnforceCSSMIMETypeInNoQuirksMode(!_CFAppVersionCheckLessThan(CFSTR("com.apple.iWeb"), -1, 2.1));
     settings.setNeedsIsLoadingInAPISenseQuirk([self _needsIsLoadingInAPISenseQuirk]);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to