[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
aestes at apple.com
aestes at apple.com
Wed Dec 22 15:07:52 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit ad6310ac49f5d289d27ef494015cdaa047392a4a
Author: aestes at apple.com <aestes at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Oct 28 07:47:56 2010 +0000
2010-10-28 Andy Estes <aestes at apple.com>
Reviewed by Adam Barth.
Fix a test failure introduced in r70748 by supporting Qt's non-standard
use of classid.
https://bugs.webkit.org/show_bug.cgi?id=45679
* html/HTMLObjectElement.cpp:
(WebCore::objectHasSupportedClassId): Return true if the object's
serviceType is 'application/x-qt-plugin'.
(WebCore::HTMLObjectElement::updateWidget): Do not render fallback
content if a non-empty classid is specified for a Qt plugin object.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index c2e51a3..e41bdc7 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-10-28 Andy Estes <aestes at apple.com>
+
+ Reviewed by Adam Barth.
+
+ Fix a test failure introduced in r70748 by supporting Qt's non-standard
+ use of classid.
+ https://bugs.webkit.org/show_bug.cgi?id=45679
+
+ * html/HTMLObjectElement.cpp:
+ (WebCore::objectHasSupportedClassId): Return true if the object's
+ serviceType is 'application/x-qt-plugin'.
+ (WebCore::HTMLObjectElement::updateWidget): Do not render fallback
+ content if a non-empty classid is specified for a Qt plugin object.
+
2010-10-28 Ivan Krstić <ike at apple.com>
Reviewed by Mark Rowe.
diff --git a/WebCore/html/HTMLObjectElement.cpp b/WebCore/html/HTMLObjectElement.cpp
index 2b586cf..b47bd64 100644
--- a/WebCore/html/HTMLObjectElement.cpp
+++ b/WebCore/html/HTMLObjectElement.cpp
@@ -217,6 +217,18 @@ bool HTMLObjectElement::hasFallbackContent() const
}
return false;
}
+
+static bool objectHasSupportedClassId(HTMLObjectElement* object)
+{
+#if PLATFORM(QT)
+ // Qt plug-ins use classid to specify which QObject to load.
+ ASSERT(object);
+ return equalsIgnoringCase(object->serviceType(), "application/x-qt-plugin");
+#else
+ ASSERT_UNUSED(object, object);
+ return false;
+#endif
+}
// FIXME: This should be unified with HTMLEmbedElement::updateWidget and
// moved down into HTMLPluginImageElement.cpp
@@ -263,10 +275,10 @@ void HTMLObjectElement::updateWidget(bool onlyCreateNonNetscapePlugins)
// 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.
- bool hasEmptyClassId = classId().isEmpty();
+ bool hasValidClassId = classId().isEmpty() || objectHasSupportedClassId(this);
SubframeLoader* loader = document()->frame()->loader()->subframeLoader();
- bool success = beforeLoadAllowedLoad && hasEmptyClassId && loader->requestObject(this, url, getAttribute(nameAttr), serviceType, paramNames, paramValues);
+ bool success = beforeLoadAllowedLoad && hasValidClassId && loader->requestObject(this, url, getAttribute(nameAttr), serviceType, paramNames, paramValues);
if (!success && fallbackContent)
renderFallbackContent();
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list