| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2000 Stefan Schimanski (1Stein@gmx.de) | 4 * (C) 2000 Stefan Schimanski (1Stein@gmx.de) |
| 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011 Apple Inc. All rights
reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011 Apple Inc. All rights
reserved. |
| 6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 205 } | 205 } |
| 206 | 206 |
| 207 | 207 |
| 208 bool HTMLObjectElement::hasFallbackContent() const | 208 bool HTMLObjectElement::hasFallbackContent() const |
| 209 { | 209 { |
| 210 for (Node* child = firstChild(); child; child = child->nextSibling()) { | 210 for (Node* child = firstChild(); child; child = child->nextSibling()) { |
| 211 // Ignore whitespace-only text, and <param> tags, any other content is f
allback content. | 211 // Ignore whitespace-only text, and <param> tags, any other content is f
allback content. |
| 212 if (child->isTextNode()) { | 212 if (child->isTextNode()) { |
| 213 if (!toText(child)->containsOnlyWhitespace()) | 213 if (!toText(child)->containsOnlyWhitespace()) |
| 214 return true; | 214 return true; |
| 215 } else if (!child->hasTagName(paramTag)) | 215 } else if (!isHTMLParamElement(*child)) { |
| 216 return true; | 216 return true; |
| 217 } |
| 217 } | 218 } |
| 218 return false; | 219 return false; |
| 219 } | 220 } |
| 220 | 221 |
| 221 bool HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk() | 222 bool HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk() |
| 222 { | 223 { |
| 223 // This site-specific hack maintains compatibility with Mac OS X Wiki Server
, | 224 // This site-specific hack maintains compatibility with Mac OS X Wiki Server
, |
| 224 // which embeds QuickTime movies using an object tag containing QuickTime's | 225 // which embeds QuickTime movies using an object tag containing QuickTime's |
| 225 // ActiveX classid. Treat this classid as valid only if OS X Server's unique | 226 // ActiveX classid. Treat this classid as valid only if OS X Server's unique |
| 226 // 'generator' meta tag is present. Only apply this quirk if there is no | 227 // 'generator' meta tag is present. Only apply this quirk if there is no |
| (...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 407 m_useFallbackContent = true; | 408 m_useFallbackContent = true; |
| 408 | 409 |
| 409 // FIXME: Style gets recalculated which is suboptimal. | 410 // FIXME: Style gets recalculated which is suboptimal. |
| 410 reattachFallbackContent(); | 411 reattachFallbackContent(); |
| 411 } | 412 } |
| 412 | 413 |
| 413 bool HTMLObjectElement::isExposed() const | 414 bool HTMLObjectElement::isExposed() const |
| 414 { | 415 { |
| 415 // http://www.whatwg.org/specs/web-apps/current-work/#exposed | 416 // http://www.whatwg.org/specs/web-apps/current-work/#exposed |
| 416 for (Node* ancestor = parentNode(); ancestor; ancestor = ancestor->parentNod
e()) { | 417 for (Node* ancestor = parentNode(); ancestor; ancestor = ancestor->parentNod
e()) { |
| 417 if (ancestor->hasTagName(objectTag) && toHTMLObjectElement(ancestor)->is
Exposed()) | 418 if (isHTMLObjectElement(*ancestor) && toHTMLObjectElement(ancestor)->isE
xposed()) |
| 418 return false; | 419 return false; |
| 419 } | 420 } |
| 420 for (Element* element = ElementTraversal::firstWithin(*this); element; eleme
nt = ElementTraversal::next(*element, this)) { | 421 for (HTMLElement* element = Traversal<HTMLElement>::firstWithin(*this); elem
ent; element = Traversal<HTMLElement>::next(*element, this)) { |
| 421 if (element->hasTagName(objectTag) || element->hasTagName(embedTag)) | 422 if (isHTMLObjectElement(*element) || isHTMLEmbedElement(*element)) |
| 422 return false; | 423 return false; |
| 423 } | 424 } |
| 424 return true; | 425 return true; |
| 425 } | 426 } |
| 426 | 427 |
| 427 bool HTMLObjectElement::containsJavaApplet() const | 428 bool HTMLObjectElement::containsJavaApplet() const |
| 428 { | 429 { |
| 429 if (MIMETypeRegistry::isJavaAppletMIMEType(getAttribute(typeAttr))) | 430 if (MIMETypeRegistry::isJavaAppletMIMEType(getAttribute(typeAttr))) |
| 430 return true; | 431 return true; |
| 431 | 432 |
| 432 for (Element* child = ElementTraversal::firstWithin(*this); child; child = E
lementTraversal::nextSkippingChildren(*child, this)) { | 433 for (HTMLElement* child = Traversal<HTMLElement>::firstWithin(*this); child;
child = Traversal<HTMLElement>::nextSkippingChildren(*child, this)) { |
| 433 if (child->hasTagName(paramTag) | 434 if (isHTMLParamElement(*child) |
| 434 && equalIgnoringCase(child->getNameAttribute(), "type") | 435 && equalIgnoringCase(child->getNameAttribute(), "type") |
| 435 && MIMETypeRegistry::isJavaAppletMIMEType(child->getAttribute(va
lueAttr).string())) | 436 && MIMETypeRegistry::isJavaAppletMIMEType(child->getAttribute(va
lueAttr).string())) |
| 436 return true; | 437 return true; |
| 437 if (child->hasTagName(objectTag) && toHTMLObjectElement(child)->contains
JavaApplet()) | 438 if (isHTMLObjectElement(*child) && toHTMLObjectElement(*child).containsJ
avaApplet()) |
| 438 return true; | 439 return true; |
| 439 if (child->hasTagName(appletTag)) | 440 if (isHTMLAppletElement(*child)) |
| 440 return true; | 441 return true; |
| 441 } | 442 } |
| 442 | 443 |
| 443 return false; | 444 return false; |
| 444 } | 445 } |
| 445 | 446 |
| 446 void HTMLObjectElement::didMoveToNewDocument(Document& oldDocument) | 447 void HTMLObjectElement::didMoveToNewDocument(Document& oldDocument) |
| 447 { | 448 { |
| 448 FormAssociatedElement::didMoveToNewDocument(oldDocument); | 449 FormAssociatedElement::didMoveToNewDocument(oldDocument); |
| 449 HTMLPlugInElement::didMoveToNewDocument(oldDocument); | 450 HTMLPlugInElement::didMoveToNewDocument(oldDocument); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 473 { | 474 { |
| 474 return fastHasAttribute(usemapAttr); | 475 return fastHasAttribute(usemapAttr); |
| 475 } | 476 } |
| 476 | 477 |
| 477 bool HTMLObjectElement::useFallbackContent() const | 478 bool HTMLObjectElement::useFallbackContent() const |
| 478 { | 479 { |
| 479 return HTMLPlugInElement::useFallbackContent() || m_useFallbackContent; | 480 return HTMLPlugInElement::useFallbackContent() || m_useFallbackContent; |
| 480 } | 481 } |
| 481 | 482 |
| 482 } | 483 } |
| OLD | NEW |