Changeset 34789 in webkit


Ignore:
Timestamp:
Jun 24, 2008 9:35:46 PM (16 years ago)
Author:
abarth@webkit.org
Message:

WebCore:

2008-06-24 Anonymous

Reviewed by Darin Adler. Committed by Adam Barth.

https://bugs.webkit.org/show_bug.cgi?id=19470

Check for a null documentElement() to fix four crashes.

  • WebCore/dom/Document.cpp:
  • WebCore/dom/Node.cpp:

LayoutTests:

2008-06-24 Anonymous

Reviewed by Darin Adler. Committed by Adam Barth.

https://bugs.webkit.org/show_bug.cgi?id=19470

Check for a null documentElement() to fix four crashes.

  • LayoutTests/fast/dom/documentElement-null-expected.txt: Added.
  • LayoutTests/fast/dom/documentElement-null.html: Added.
Location:
trunk
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r34787 r34789  
     12008-06-24  Anonymous
     2
     3        Reviewed by Darin Adler.  Committed by Adam Barth.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=19470
     6
     7        Check for a null documentElement() to fix four crashes.
     8
     9        * LayoutTests/fast/dom/documentElement-null-expected.txt: Added.
     10        * LayoutTests/fast/dom/documentElement-null.html: Added.
     11
    1122008-06-24  Adam Barth  <abarth@webkit.org>
    213
  • trunk/WebCore/ChangeLog

    r34787 r34789  
     12008-06-24  Anonymous
     2
     3        Reviewed by Darin Adler.  Committed by Adam Barth.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=19470
     6
     7        Check for a null documentElement() to fix four crashes.
     8
     9        * WebCore/dom/Document.cpp:
     10        * WebCore/dom/Node.cpp:
     11
    1122008-06-24  Adam Barth  <abarth@webkit.org>
    213
  • trunk/WebCore/dom/Document.cpp

    r34753 r34789  
    14541454void Document::setBody(PassRefPtr<HTMLElement> newBody, ExceptionCode& ec)
    14551455{
    1456     if (!newBody) {
     1456    if (!newBody || !documentElement()) {
    14571457        ec = HIERARCHY_REQUEST_ERR;
    14581458        return;
  • trunk/WebCore/dom/Node.cpp

    r34627 r34789  
    13841384        }
    13851385        case DOCUMENT_NODE:
    1386             return static_cast <const Document *>(this)->documentElement()->isDefaultNamespace(namespaceURI);
     1386            if (Element* de = static_cast<const Document*>(this)->documentElement())
     1387                return de->isDefaultNamespace(namespaceURI);
     1388            return false;
    13871389        case ENTITY_NODE:
    13881390        case NOTATION_NODE:
     
    14151417            return lookupNamespacePrefix(namespaceURI, static_cast<const Element *>(this));
    14161418        case DOCUMENT_NODE:
    1417             return static_cast<const Document *>(this)->documentElement()->lookupPrefix(namespaceURI);
     1419            if (Element* de = static_cast<const Document*>(this)->documentElement())
     1420                return de->lookupPrefix(namespaceURI);
     1421            return String();
    14181422        case ENTITY_NODE:
    14191423        case NOTATION_NODE:
     
    14731477        }
    14741478        case DOCUMENT_NODE:
    1475             return static_cast<const Document *>(this)->documentElement()->lookupNamespaceURI(prefix);
     1479            if (Element* de = static_cast<const Document*>(this)->documentElement())
     1480                return de->lookupNamespaceURI(prefix);
     1481            return String();
    14761482        case ENTITY_NODE:
    14771483        case NOTATION_NODE:
Note: See TracChangeset for help on using the changeset viewer.