Changeset 21359 in webkit


Ignore:
Timestamp:
May 10, 2007 1:55:44 AM (17 years ago)
Author:
beidson
Message:

LayoutTests:

Reviewed by Oliver

Fix for http://bugs.webkit.org/show_bug.cgi?id=13636 and <rdar://problem/5190816>

When creating the applets collection, be sure to only count Objects if they contain
a java applet

  • dom/html/level2/html/AppletsCollection-expected.txt: Added.
  • dom/html/level2/html/AppletsCollection.html: Added.

WebCore:

Reviewed by Oliver

Fix for http://bugs.webkit.org/show_bug.cgi?id=13636 and <rdar://problem/5190816>

When creating the applets collection, be sure to only count Objects if they contain
a java applet

  • html/HTMLCollection.cpp: (WebCore::HTMLCollection::traverseNextItem): Add the qualifier for Objects that containsJavaApplet() must be true
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::containsJavaApplet): Check this Object element and inner nodes for any Java applets
  • html/HTMLObjectElement.h:
Location:
trunk
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r21354 r21359  
     12007-05-10  Brady Eidson <beidson@apple.com>
     2
     3        Reviewed by Oliver
     4
     5        Fix for http://bugs.webkit.org/show_bug.cgi?id=13636 and <rdar://problem/5190816>
     6
     7        When creating the applets collection, be sure to only count Objects if they contain
     8        a java applet
     9
     10        * dom/html/level2/html/AppletsCollection-expected.txt: Added.
     11        * dom/html/level2/html/AppletsCollection.html: Added.
     12
    1132007-05-09  Geoffrey Garen  <ggaren@apple.com>
    214
  • trunk/WebCore/ChangeLog

    r21358 r21359  
     12007-05-10  Brady Eidson <beidson@apple.com>
     2
     3        Reviewed by Oliver
     4
     5        Fix for http://bugs.webkit.org/show_bug.cgi?id=13636 and <rdar://problem/5190816>
     6
     7        When creating the applets collection, be sure to only count Objects if they contain
     8        a java applet
     9
     10        * html/HTMLCollection.cpp:
     11        (WebCore::HTMLCollection::traverseNextItem): Add the qualifier for Objects that
     12          containsJavaApplet() must be true
     13
     14        * html/HTMLObjectElement.cpp:
     15        (WebCore::HTMLObjectElement::containsJavaApplet): Check this Object element and inner
     16          nodes for any Java applets
     17        * html/HTMLObjectElement.h:
     18
    1192007-05-10  David Hyatt  <hyatt@apple.com>
    220
  • trunk/WebCore/html/HTMLCollection.cpp

    r20495 r21359  
    2929#include "HTMLElement.h"
    3030#include "HTMLNames.h"
     31#include "HTMLObjectElement.h"
    3132
    3233namespace WebCore {
     
    149150                    found = true;
    150151                break;
    151             case DocApplets:   // all OBJECT and APPLET elements
    152                 if (e->hasLocalName(objectTag) || e->hasLocalName(appletTag))
     152            case DocApplets:   // all APPLET elements and OBJECT elements that contain Java Applets
     153                if (e->hasLocalName(appletTag) ||
     154                    (e->hasLocalName(objectTag) && static_cast<HTMLObjectElement*>(e)->containsJavaApplet()))
    153155                    found = true;
    154156                break;
  • trunk/WebCore/html/HTMLObjectElement.cpp

    r20495 r21359  
    470470}
    471471
     472bool HTMLObjectElement::containsJavaApplet() const
     473{
     474    if (type().lower() == "application/x-java-applet")
     475        return true;
     476       
     477    Node* child = firstChild();
     478    while (child) {
     479        if (child->isElementNode()) {
     480            Element* e = static_cast<Element*>(child);
     481            if (e->hasTagName(paramTag) &&
     482                e->getAttribute(nameAttr).domString().lower() == "type" &&
     483                e->getAttribute(valueAttr).domString().lower() == "application/x-java-applet")
     484                return true;
     485            else if (e->hasTagName(objectTag) && static_cast<HTMLObjectElement*>(e)->containsJavaApplet())
     486                return true;
     487            else if (e->hasTagName(appletTag))
     488                return true;
     489        }
     490        child = child->nextSibling();
     491    }
     492   
     493    return false;
     494}
     495
    472496#if ENABLE(SVG)
    473497SVGDocument* HTMLObjectElement::getSVGDocument(ExceptionCode& ec) const
  • trunk/WebCore/html/HTMLObjectElement.h

    r19855 r21359  
    118118    bool isDocNamedItem() const { return m_docNamedItem; }
    119119
     120    bool containsJavaApplet() const;
     121   
    120122#if ENABLE(SVG)
    121123    SVGDocument* getSVGDocument(ExceptionCode&) const;
Note: See TracChangeset for help on using the changeset viewer.