Diff
Modified: trunk/Source/WebCore/ChangeLog (224386 => 224387)
--- trunk/Source/WebCore/ChangeLog 2017-11-03 06:05:33 UTC (rev 224386)
+++ trunk/Source/WebCore/ChangeLog 2017-11-03 06:08:11 UTC (rev 224387)
@@ -1,3 +1,26 @@
+2017-11-02 Maciej Stachowiak <m...@apple.com>
+
+ Don't try to guess plugin MIME type from a file extension in a URL (no observable effect)
+ https://bugs.webkit.org/show_bug.cgi?id=178333
+
+ Reviewed by Darin Adler.
+
+ No test cases because I could not find an observable behavior difference,
+ even after trying many different plugin loading scenarios.
+
+ * html/HTMLPlugInImageElement.cpp:
+ (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): loadedMIMEType --> serviceType
+ (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns): ditto
+ (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): ditto
+ (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): ditto
+ * html/HTMLPlugInImageElement.h:
+ (WebCore::HTMLPlugInImageElement::loadedMimeType const): Deleted. This was the one call site
+ for mimeTypeFromURL, and is otherwise just a wrapper for SerciceType()
+ * platform/URL.cpp:
+ (WebCore::mimeTypeFromURL): Deleted. This was the only use of MIMETypeDatabase in URL.
+ * platform/URL.h: Removed declaration for mimeTypeFromURL.
+ * WebCore.order: Removed mimeTypeFromURL.
+
2017-11-02 Basuke Suzuki <basuke.suz...@sony.com>
[Curl] Fix cancellation process implementation
Modified: trunk/Source/WebCore/WebCore.order (224386 => 224387)
--- trunk/Source/WebCore/WebCore.order 2017-11-03 06:05:33 UTC (rev 224386)
+++ trunk/Source/WebCore/WebCore.order 2017-11-03 06:08:11 UTC (rev 224387)
@@ -15563,7 +15563,6 @@
__ZN7WebCore18jsHTMLElementTitleEPN3JSC9ExecStateENS0_7JSValueENS0_12PropertyNameE
__ZN7WebCore9InlineBox11extractLineEv
__ZN7WebCore9InlineBox10attachLineEv
-__ZN7WebCore15mimeTypeFromURLERKNS_4KURLE
__ZN7WebCore22HTMLPlugInImageElement15setDisplayStateENS_17HTMLPlugInElement12DisplayStateE
__ZN7WebCore16HTMLQuoteElementD0Ev
__ZN7WebCore15PlatformCALayer18removeAllSublayersEv
Modified: trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp (224386 => 224387)
--- trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp 2017-11-03 06:05:33 UTC (rev 224386)
+++ trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp 2017-11-03 06:08:11 UTC (rev 224387)
@@ -356,7 +356,7 @@
// the look-and-feel of the snapshotted plug-in overlay.
root.setResetStyleInheritance(true);
- String mimeType = loadedMimeType();
+ String mimeType = serviceType();
auto& isolatedWorld = plugInImageElementIsolatedWorld();
document().ensurePlugInsInjectedScript(isolatedWorld);
@@ -425,7 +425,7 @@
// may be in different frames, so traverse from the top of the document.
String plugInOrigin = m_loadedUrl.host();
- String mimeType = loadedMimeType();
+ String mimeType = serviceType();
Vector<Ref<HTMLPlugInImageElement>> similarPlugins;
if (!document().page())
@@ -439,7 +439,7 @@
continue;
for (auto& element : descendantsOfType<HTMLPlugInImageElement>(*frame->document())) {
- if (plugInOrigin == element.loadedUrl().host() && mimeType == element.loadedMimeType())
+ if (plugInOrigin == element.loadedUrl().host() && mimeType == element.serviceType())
similarPlugins.append(element);
}
}
@@ -460,7 +460,7 @@
String plugInOrigin = m_loadedUrl.host();
if (document().page() && !SchemeRegistry::shouldTreatURLSchemeAsLocal(document().page()->mainFrame().document()->baseURL().protocol().toStringWithoutCopying()) && document().page()->settings().autostartOriginPlugInSnapshottingEnabled())
- document().page()->plugInClient()->didStartFromOrigin(document().page()->mainFrame().document()->baseURL().host(), plugInOrigin, loadedMimeType(), document().page()->sessionID());
+ document().page()->plugInClient()->didStartFromOrigin(document().page()->mainFrame().document()->baseURL().host(), plugInOrigin, serviceType(), document().page()->sessionID());
LOG(Plugins, "%p User clicked on snapshotted plug-in. Restart.", this);
restartSnapshottedPlugIn();
@@ -602,7 +602,7 @@
{
LOG(Plugins, "%p Plug-in URL: %s", this, m_url.utf8().data());
LOG(Plugins, " Actual URL: %s", url.string().utf8().data());
- LOG(Plugins, " MIME type: %s", loadedMimeType().utf8().data());
+ LOG(Plugins, " MIME type: %s", serviceType().utf8().data());
m_loadedUrl = url;
m_plugInWasCreated = false;
@@ -664,14 +664,14 @@
return;
}
- if (document().page()->settings().autostartOriginPlugInSnapshottingEnabled() && document().page()->plugInClient() && document().page()->plugInClient()->shouldAutoStartFromOrigin(document().page()->mainFrame().document()->baseURL().host(), url.host(), loadedMimeType())) {
+ if (document().page()->settings().autostartOriginPlugInSnapshottingEnabled() && document().page()->plugInClient() && document().page()->plugInClient()->shouldAutoStartFromOrigin(document().page()->mainFrame().document()->baseURL().host(), url.host(), serviceType())) {
LOG(Plugins, "%p Plug-in from (%s, %s) is marked to auto-start, set to play", this, document().page()->mainFrame().document()->baseURL().host().utf8().data(), url.host().utf8().data());
m_snapshotDecision = NeverSnapshot;
return;
}
- if (m_loadedUrl.isEmpty() && !loadedMimeType().isEmpty()) {
- LOG(Plugins, "%p Plug-in has no src URL but does have a valid mime type %s, set to play", this, loadedMimeType().utf8().data());
+ if (m_loadedUrl.isEmpty() && !serviceType().isEmpty()) {
+ LOG(Plugins, "%p Plug-in has no src URL but does have a valid mime type %s, set to play", this, serviceType().utf8().data());
m_snapshotDecision = MaySnapshotWhenContentIsSet;
return;
}
Modified: trunk/Source/WebCore/html/HTMLPlugInImageElement.h (224386 => 224387)
--- trunk/Source/WebCore/html/HTMLPlugInImageElement.h 2017-11-03 06:05:33 UTC (rev 224386)
+++ trunk/Source/WebCore/html/HTMLPlugInImageElement.h 2017-11-03 06:08:11 UTC (rev 224387)
@@ -43,14 +43,6 @@
const String& url() const { return m_url; }
const URL& loadedUrl() const { return m_loadedUrl; }
- String loadedMimeType() const
- {
- String mimeType = serviceType();
- if (mimeType.isEmpty())
- mimeType = mimeTypeFromURL(m_loadedUrl);
- return mimeType;
- }
-
// Public for FrameView::addWidgetToUpdate()
bool needsWidgetUpdate() const { return m_needsWidgetUpdate; }
void setNeedsWidgetUpdate(bool needsWidgetUpdate) { m_needsWidgetUpdate = needsWidgetUpdate; }
Modified: trunk/Source/WebCore/platform/URL.cpp (224386 => 224387)
--- trunk/Source/WebCore/platform/URL.cpp 2017-11-03 06:05:33 UTC (rev 224386)
+++ trunk/Source/WebCore/platform/URL.cpp 2017-11-03 06:08:11 UTC (rev 224387)
@@ -28,7 +28,6 @@
#include "URL.h"
#include "DecodeEscapeSequences.h"
-#include "MIMETypeRegistry.h"
#include "TextEncoding.h"
#include "URLParser.h"
#include <stdio.h>
@@ -1321,15 +1320,6 @@
return url.substring(5, index - 5).convertToASCIILowercase();
}
-String mimeTypeFromURL(const URL& url)
-{
- String decodedPath = decodeURLEscapeSequences(url.path());
- String extension = decodedPath.substring(decodedPath.reverseFind('.') + 1);
-
- // We don't use MIMETypeRegistry::getMIMETypeForPath() because it returns "application/octet-stream" upon failure
- return MIMETypeRegistry::getMIMETypeForExtension(extension);
-}
-
String URL::stringCenterEllipsizedToLength(unsigned length) const
{
if (string().length() <= length)
Modified: trunk/Source/WebCore/platform/URL.h (224386 => 224387)
--- trunk/Source/WebCore/platform/URL.h 2017-11-03 06:05:33 UTC (rev 224386)
+++ trunk/Source/WebCore/platform/URL.h 2017-11-03 06:08:11 UTC (rev 224387)
@@ -339,7 +339,6 @@
bool isValidProtocol(const String&);
String mimeTypeFromDataURL(const String& url);
-WEBCORE_EXPORT String mimeTypeFromURL(const URL&);
// Unescapes the given string using URL escaping rules, given an optional
// encoding (defaulting to UTF-8 otherwise). DANGER: If the URL has "%00"
Modified: trunk/Source/WebKit/ChangeLog (224386 => 224387)
--- trunk/Source/WebKit/ChangeLog 2017-11-03 06:05:33 UTC (rev 224386)
+++ trunk/Source/WebKit/ChangeLog 2017-11-03 06:08:11 UTC (rev 224387)
@@ -1,3 +1,15 @@
+2017-11-02 Maciej Stachowiak <m...@apple.com>
+
+ Don't try to guess plugin MIME type from a file extension in a URL (no observable effect)
+ https://bugs.webkit.org/show_bug.cgi?id=178333
+
+ Reviewed by Darin Adler.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::pluginDidReceiveUserInteraction): loadedMIMEType --> serviceType
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::determinePrimarySnapshottedPlugIn): ditto
+
2017-11-02 Brady Eidson <beid...@apple.com>
SW: Implement "Update Registration State" algorithm (unused for now)
Modified: trunk/Source/WebKit/WebProcess/Plugins/PluginView.cpp (224386 => 224387)
--- trunk/Source/WebKit/WebProcess/Plugins/PluginView.cpp 2017-11-03 06:05:33 UTC (rev 224386)
+++ trunk/Source/WebKit/WebProcess/Plugins/PluginView.cpp 2017-11-03 06:08:11 UTC (rev 224387)
@@ -1838,7 +1838,7 @@
HTMLPlugInImageElement& plugInImageElement = downcast<HTMLPlugInImageElement>(*m_pluginElement);
String pageOrigin = plugInImageElement.document().page()->mainFrame().document()->baseURL().host();
String pluginOrigin = plugInImageElement.loadedUrl().host();
- String mimeType = plugInImageElement.loadedMimeType();
+ String mimeType = plugInImageElement.serviceType();
WebProcess::singleton().plugInDidReceiveUserInteraction(pageOrigin, pluginOrigin, mimeType, plugInImageElement.document().page()->sessionID());
}
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (224386 => 224387)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2017-11-03 06:05:33 UTC (rev 224386)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2017-11-03 06:08:11 UTC (rev 224387)
@@ -5250,7 +5250,7 @@
m_didFindPrimarySnapshottedPlugin = true;
m_primaryPlugInPageOrigin = m_page->mainFrame().document()->baseURL().host();
m_primaryPlugInOrigin = candidatePlugIn->loadedUrl().host();
- m_primaryPlugInMimeType = candidatePlugIn->loadedMimeType();
+ m_primaryPlugInMimeType = candidatePlugIn->serviceType();
candidatePlugIn->setIsPrimarySnapshottedPlugIn(true);
}
Modified: trunk/Source/WebKitLegacy/win/ChangeLog (224386 => 224387)
--- trunk/Source/WebKitLegacy/win/ChangeLog 2017-11-03 06:05:33 UTC (rev 224386)
+++ trunk/Source/WebKitLegacy/win/ChangeLog 2017-11-03 06:08:11 UTC (rev 224387)
@@ -1,3 +1,13 @@
+2017-11-02 Maciej Stachowiak <m...@apple.com>
+
+ Don't try to guess plugin MIME type from a file extension in a URL (no observable effect)
+ https://bugs.webkit.org/show_bug.cgi?id=178333
+
+ Reviewed by Darin Adler.
+
+ * WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebFrameLoaderClient::objectContentType): Remove unnecessary call to mimeTypeFromURL
+
2017-11-02 Alex Christensen <achristen...@webkit.org>
Use CompletionHandlers for redirects
Modified: trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp (224386 => 224387)
--- trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp 2017-11-03 06:05:33 UTC (rev 224386)
+++ trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp 2017-11-03 06:08:11 UTC (rev 224387)
@@ -1054,9 +1054,6 @@
{
String mimeType = mimeTypeIn;
- if (mimeType.isEmpty())
- mimeType = mimeTypeFromURL(url);
-
if (mimeType.isEmpty()) {
String decodedPath = decodeURLEscapeSequences(url.path());
mimeType = PluginDatabase::installedPlugins()->MIMETypeForExtension(decodedPath.substring(decodedPath.reverseFind('.') + 1));