Remove OS X Server QuickTime plugin quirks
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 12 Mar 2019 06:58:20 +0000 (06:58 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 12 Mar 2019 06:58:20 +0000 (06:58 +0000)
https://bugs.webkit.org/show_bug.cgi?id=195607

Reviewed by Brent Fulgham.

r87244 added a site specific quirk for Mac OS X Sever wiki pages.
However, the issue has since been resolved as of OS X Mountain Lion,
of which Apple has ended the support in September 2015.

Because the latest versions of Safari no longer supports non-Flash plugins,
the only scenario in which this quirk comes into play is when a third party app
which embeds WKWebView or WebKitLegacy loaded web pages on a OS X Server
running OS X Mountain Lion or earlier.

Given these observations, it's probably safe to remove this quirk from WebKit.

* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::hasFallbackContent const):
(WebCore::HTMLObjectElement::hasValidClassId):
(WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk): Deleted.
* html/HTMLObjectElement.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242784 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/html/HTMLObjectElement.cpp
Source/WebCore/html/HTMLObjectElement.h

index 4bc7f92..5daaab5 100644 (file)
@@ -1,3 +1,27 @@
+2019-03-11  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Remove OS X Server QuickTime plugin quirks
+        https://bugs.webkit.org/show_bug.cgi?id=195607
+
+        Reviewed by Brent Fulgham.
+
+        r87244 added a site specific quirk for Mac OS X Sever wiki pages.
+        However, the issue has since been resolved as of OS X Mountain Lion,
+        of which Apple has ended the support in September 2015.
+
+        Because the latest versions of Safari no longer supports non-Flash plugins,
+        the only scenario in which this quirk comes into play is when a third party app
+        which embeds WKWebView or WebKitLegacy loaded web pages on a OS X Server
+        running OS X Mountain Lion or earlier.
+
+        Given these observations, it's probably safe to remove this quirk from WebKit.
+
+        * html/HTMLObjectElement.cpp:
+        (WebCore::HTMLObjectElement::hasFallbackContent const):
+        (WebCore::HTMLObjectElement::hasValidClassId):
+        (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk): Deleted.
+        * html/HTMLObjectElement.h:
+
 2019-03-11  Ross Kirsling  <ross.kirsling@sony.com>
 
         Unreviewed speculative WPE build fix after r195586.
index 6637c73..797783b 100644 (file)
@@ -224,37 +224,11 @@ bool HTMLObjectElement::hasFallbackContent() const
     }
     return false;
 }
-    
-bool HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk()
-{
-    // This site-specific hack maintains compatibility with Mac OS X Wiki Server,
-    // which embeds QuickTime movies using an object tag containing QuickTime's
-    // ActiveX classid. Treat this classid as valid only if OS X Server's unique
-    // 'generator' meta tag is present. Only apply this quirk if there is no
-    // fallback content, which ensures the quirk will disable itself if Wiki
-    // Server is updated to generate an alternate embed tag as fallback content.
-
-    if (!document().page()
-        || !document().page()->settings().needsSiteSpecificQuirks()
-        || hasFallbackContent()
-        || !equalLettersIgnoringASCIICase(attributeWithoutSynchronization(classidAttr), "clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b"))
-        return false;
-
-    for (auto& metaElement : descendantsOfType<HTMLMetaElement>(document())) {
-        if (equalLettersIgnoringASCIICase(metaElement.name(), "generator") && startsWithLettersIgnoringASCIICase(metaElement.content(), "mac os x server web services server"))
-            return true;
-    }
 
-    return false;
-}
-    
 bool HTMLObjectElement::hasValidClassId()
 {
     if (MIMETypeRegistry::isJavaAppletMIMEType(serviceType()) && protocolIs(attributeWithoutSynchronization(classidAttr), "java"))
         return true;
-    
-    if (shouldAllowQuickTimeClassIdQuirk())
-        return true;
 
     // HTML5 says that fallback content should be rendered if a non-empty
     // classid is specified for which the UA can't find a suitable plug-in.
index 82f582d..7636918 100644 (file)
@@ -84,8 +84,7 @@ private:
     // FIXME: This function should not deal with url or serviceType
     // so that we can better share code between <object> and <embed>.
     void parametersForPlugin(Vector<String>& paramNames, Vector<String>& paramValues, String& url, String& serviceType);
-    
-    bool shouldAllowQuickTimeClassIdQuirk();
+
     bool hasValidClassId();
 
     void refFormAssociatedElement() final { ref(); }