| Index: Source/core/html/HTMLObjectElement.cpp
|
| diff --git a/Source/core/html/HTMLObjectElement.cpp b/Source/core/html/HTMLObjectElement.cpp
|
| index 17a14cc99ba3b7a95efb78a46a18e02334052111..7d46e64f815206945dc5832f031ee6049d3178e4 100644
|
| --- a/Source/core/html/HTMLObjectElement.cpp
|
| +++ b/Source/core/html/HTMLObjectElement.cpp
|
| @@ -50,7 +50,7 @@ namespace WebCore {
|
|
|
| using namespace HTMLNames;
|
|
|
| -inline HTMLObjectElement::HTMLObjectElement(const QualifiedName& tagName, Document* document, HTMLFormElement* form, bool createdByParser)
|
| +inline HTMLObjectElement::HTMLObjectElement(const QualifiedName& tagName, Document* document, HTMLFormElement* form, bool createdByParser)
|
| : HTMLPlugInImageElement(tagName, document, createdByParser, ShouldNotPreferPlugInsForImages)
|
| , m_docNamedItem(true)
|
| , m_useFallbackContent(false)
|
| @@ -132,7 +132,7 @@ static void mapDataParamToSrc(Vector<String>* paramNames, Vector<String>* paramV
|
| else if (equalIgnoringCase((*paramNames)[i], "data"))
|
| dataIndex = i;
|
| }
|
| -
|
| +
|
| if (srcIndex == -1 && dataIndex != -1) {
|
| paramNames->append("src");
|
| paramValues->append((*paramValues)[dataIndex]);
|
| @@ -144,7 +144,7 @@ void HTMLObjectElement::parametersForPlugin(Vector<String>& paramNames, Vector<S
|
| {
|
| HashSet<StringImpl*, CaseFoldingHash> uniqueParamNames;
|
| String urlParameter;
|
| -
|
| +
|
| // Scan the PARAM children and store their name/value pairs.
|
| // Get the URL and type from the params if we don't already have them.
|
| for (Node* child = firstChild(); child; child = child->nextSibling()) {
|
| @@ -171,7 +171,7 @@ void HTMLObjectElement::parametersForPlugin(Vector<String>& paramNames, Vector<S
|
| serviceType = serviceType.left(pos);
|
| }
|
| }
|
| -
|
| +
|
| // When OBJECT is used for an applet via Sun's Java plugin, the CODEBASE attribute in the tag
|
| // points to the Java plugin itself (an ActiveX component) while the actual applet CODEBASE is
|
| // in a PARAM tag. See <http://java.sun.com/products/plugin/1.2/docs/tags.html>. This means
|
| @@ -182,7 +182,7 @@ void HTMLObjectElement::parametersForPlugin(Vector<String>& paramNames, Vector<S
|
| codebase = "codebase";
|
| uniqueParamNames.add(codebase.impl()); // pretend we found it in a PARAM already
|
| }
|
| -
|
| +
|
| // Turn the attributes of the <object> element into arrays, but don't override <param> values.
|
| if (hasAttributes()) {
|
| for (unsigned i = 0; i < attributeCount(); ++i) {
|
| @@ -194,9 +194,9 @@ void HTMLObjectElement::parametersForPlugin(Vector<String>& paramNames, Vector<S
|
| }
|
| }
|
| }
|
| -
|
| +
|
| mapDataParamToSrc(¶mNames, ¶mValues);
|
| -
|
| +
|
| // HTML5 says that an object resource's URL is specified by the object's data
|
| // attribute, not by a param element. However, for compatibility, allow the
|
| // resource's URL to be given by a param named "src", "movie", "code" or "url"
|
| @@ -208,7 +208,7 @@ void HTMLObjectElement::parametersForPlugin(Vector<String>& paramNames, Vector<S
|
| }
|
| }
|
|
|
| -
|
| +
|
| bool HTMLObjectElement::hasFallbackContent() const
|
| {
|
| for (Node* child = firstChild(); child; child = child->nextSibling()) {
|
| @@ -221,7 +221,7 @@ bool HTMLObjectElement::hasFallbackContent() const
|
| }
|
| return false;
|
| }
|
| -
|
| +
|
| bool HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk()
|
| {
|
| // This site-specific hack maintains compatibility with Mac OS X Wiki Server,
|
| @@ -244,15 +244,15 @@ bool HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk()
|
| if (equalIgnoringCase(metaElement->name(), "generator") && metaElement->content().startsWith("Mac OS X Server Web Services Server", false))
|
| return true;
|
| }
|
| -
|
| +
|
| return false;
|
| }
|
| -
|
| +
|
| bool HTMLObjectElement::hasValidClassId()
|
| {
|
| if (MIMETypeRegistry::isJavaAppletMIMEType(serviceType()) && classId().startsWith("java:", false))
|
| return true;
|
| -
|
| +
|
| if (shouldAllowQuickTimeClassIdQuirk())
|
| return true;
|
|
|
| @@ -360,7 +360,7 @@ void HTMLObjectElement::renderFallbackContent()
|
| {
|
| if (useFallbackContent())
|
| return;
|
| -
|
| +
|
| if (!inDocument())
|
| return;
|
|
|
| @@ -444,7 +444,7 @@ bool HTMLObjectElement::containsJavaApplet() const
|
| {
|
| if (MIMETypeRegistry::isJavaAppletMIMEType(getAttribute(typeAttr)))
|
| return true;
|
| -
|
| +
|
| for (Element* child = ElementTraversal::firstWithin(this); child; child = ElementTraversal::nextSkippingChildren(child, this)) {
|
| if (child->hasTagName(paramTag)
|
| && equalIgnoringCase(child->getNameAttribute(), "type")
|
| @@ -456,7 +456,7 @@ bool HTMLObjectElement::containsJavaApplet() const
|
| if (child->hasTagName(appletTag))
|
| return true;
|
| }
|
| -
|
| +
|
| return false;
|
| }
|
|
|
|
|