Changeset 242784 in webkit


Ignore:
Timestamp:
Mar 11, 2019 11:58:20 PM (5 years ago)
Author:
rniwa@webkit.org
Message:

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:
Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r242783 r242784  
     12019-03-11  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Remove OS X Server QuickTime plugin quirks
     4        https://bugs.webkit.org/show_bug.cgi?id=195607
     5
     6        Reviewed by Brent Fulgham.
     7
     8        r87244 added a site specific quirk for Mac OS X Sever wiki pages.
     9        However, the issue has since been resolved as of OS X Mountain Lion,
     10        of which Apple has ended the support in September 2015.
     11
     12        Because the latest versions of Safari no longer supports non-Flash plugins,
     13        the only scenario in which this quirk comes into play is when a third party app
     14        which embeds WKWebView or WebKitLegacy loaded web pages on a OS X Server
     15        running OS X Mountain Lion or earlier.
     16
     17        Given these observations, it's probably safe to remove this quirk from WebKit.
     18
     19        * html/HTMLObjectElement.cpp:
     20        (WebCore::HTMLObjectElement::hasFallbackContent const):
     21        (WebCore::HTMLObjectElement::hasValidClassId):
     22        (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk): Deleted.
     23        * html/HTMLObjectElement.h:
     24
    1252019-03-11  Ross Kirsling  <ross.kirsling@sony.com>
    226
  • trunk/Source/WebCore/html/HTMLObjectElement.cpp

    r237266 r242784  
    225225    return false;
    226226}
    227    
    228 bool HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk()
    229 {
    230     // This site-specific hack maintains compatibility with Mac OS X Wiki Server,
    231     // which embeds QuickTime movies using an object tag containing QuickTime's
    232     // ActiveX classid. Treat this classid as valid only if OS X Server's unique
    233     // 'generator' meta tag is present. Only apply this quirk if there is no
    234     // fallback content, which ensures the quirk will disable itself if Wiki
    235     // Server is updated to generate an alternate embed tag as fallback content.
    236 
    237     if (!document().page()
    238         || !document().page()->settings().needsSiteSpecificQuirks()
    239         || hasFallbackContent()
    240         || !equalLettersIgnoringASCIICase(attributeWithoutSynchronization(classidAttr), "clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b"))
    241         return false;
    242 
    243     for (auto& metaElement : descendantsOfType<HTMLMetaElement>(document())) {
    244         if (equalLettersIgnoringASCIICase(metaElement.name(), "generator") && startsWithLettersIgnoringASCIICase(metaElement.content(), "mac os x server web services server"))
    245             return true;
    246     }
    247 
    248     return false;
    249 }
    250    
     227
    251228bool HTMLObjectElement::hasValidClassId()
    252229{
    253230    if (MIMETypeRegistry::isJavaAppletMIMEType(serviceType()) && protocolIs(attributeWithoutSynchronization(classidAttr), "java"))
    254         return true;
    255    
    256     if (shouldAllowQuickTimeClassIdQuirk())
    257231        return true;
    258232
  • trunk/Source/WebCore/html/HTMLObjectElement.h

    r229694 r242784  
    8585    // so that we can better share code between <object> and <embed>.
    8686    void parametersForPlugin(Vector<String>& paramNames, Vector<String>& paramValues, String& url, String& serviceType);
    87    
    88     bool shouldAllowQuickTimeClassIdQuirk();
     87
    8988    bool hasValidClassId();
    9089
Note: See TracChangeset for help on using the changeset viewer.