Home | History | Annotate | Download | only in html
      1 /**
      2  * Copyright (C) 1999 Lars Knoll (knoll (at) kde.org)
      3  *           (C) 1999 Antti Koivisto (koivisto (at) kde.org)
      4  *           (C) 2000 Simon Hausmann (hausmann (at) kde.org)
      5  *           (C) 2001 Dirk Mueller (mueller (at) kde.org)
      6  * Copyright (C) 2004, 2006 Apple Computer, Inc.
      7  *
      8  * This library is free software; you can redistribute it and/or
      9  * modify it under the terms of the GNU Library General Public
     10  * License as published by the Free Software Foundation; either
     11  * version 2 of the License, or (at your option) any later version.
     12  *
     13  * This library is distributed in the hope that it will be useful,
     14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     16  * Library General Public License for more details.
     17  *
     18  * You should have received a copy of the GNU Library General Public License
     19  * along with this library; see the file COPYING.LIB.  If not, write to
     20  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
     21  * Boston, MA 02110-1301, USA.
     22  */
     23 #include "config.h"
     24 #include "HTMLHeadElement.h"
     25 
     26 #include "HTMLNames.h"
     27 #include "Text.h"
     28 
     29 namespace WebCore {
     30 
     31 using namespace HTMLNames;
     32 
     33 HTMLHeadElement::HTMLHeadElement(const QualifiedName& qName, Document* doc)
     34     : HTMLElement(qName, doc)
     35 {
     36     ASSERT(hasTagName(headTag));
     37 }
     38 
     39 HTMLHeadElement::~HTMLHeadElement()
     40 {
     41 }
     42 
     43 String HTMLHeadElement::profile() const
     44 {
     45     return getAttribute(profileAttr);
     46 }
     47 
     48 void HTMLHeadElement::setProfile(const String &value)
     49 {
     50     setAttribute(profileAttr, value);
     51 }
     52 
     53 bool HTMLHeadElement::childAllowed(Node* newChild)
     54 {
     55     // Do not allow non-whitespace text nodes in the head
     56     if (newChild->isTextNode())
     57         return static_cast<Text*>(newChild)->containsOnlyWhitespace();
     58 
     59     return HTMLElement::childAllowed(newChild);
     60 }
     61 
     62 bool HTMLHeadElement::checkDTD(const Node* newChild)
     63 {
     64     return newChild->hasTagName(noscriptTag) || newChild->hasTagName(titleTag) || newChild->hasTagName(isindexTag) ||
     65            newChild->hasTagName(baseTag) || newChild->hasTagName(scriptTag) ||
     66            newChild->hasTagName(styleTag) || newChild->hasTagName(metaTag) ||
     67            newChild->hasTagName(linkTag) || newChild->isTextNode();
     68 }
     69 
     70 }
     71