• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /*
2   * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3   *           (C) 1999 Antti Koivisto (koivisto@kde.org)
4   *           (C) 2001 Dirk Mueller (mueller@kde.org)
5   * Copyright (C) 2003, 2008, 2009, 2010 Apple Inc. All rights reserved.
6   *
7   * This library is free software; you can redistribute it and/or
8   * modify it under the terms of the GNU Library General Public
9   * License as published by the Free Software Foundation; either
10   * version 2 of the License, or (at your option) any later version.
11   *
12   * This library is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15   * Library General Public License for more details.
16   *
17   * You should have received a copy of the GNU Library General Public License
18   * along with this library; see the file COPYING.LIB.  If not, write to
19   * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20   * Boston, MA 02110-1301, USA.
21   */
22  
23  #include "config.h"
24  #include "HTMLBaseElement.h"
25  
26  #include "Attribute.h"
27  #include "Document.h"
28  #include "HTMLNames.h"
29  
30  namespace WebCore {
31  
32  using namespace HTMLNames;
33  
HTMLBaseElement(const QualifiedName & tagName,Document * document)34  inline HTMLBaseElement::HTMLBaseElement(const QualifiedName& tagName, Document* document)
35      : HTMLElement(tagName, document)
36  {
37      ASSERT(hasTagName(baseTag));
38  }
39  
create(const QualifiedName & tagName,Document * document)40  PassRefPtr<HTMLBaseElement> HTMLBaseElement::create(const QualifiedName& tagName, Document* document)
41  {
42      return adoptRef(new HTMLBaseElement(tagName, document));
43  }
44  
parseMappedAttribute(Attribute * attribute)45  void HTMLBaseElement::parseMappedAttribute(Attribute* attribute)
46  {
47      if (attribute->name() == hrefAttr || attribute->name() == targetAttr)
48          document()->processBaseElement();
49      else
50          HTMLElement::parseMappedAttribute(attribute);
51  }
52  
insertedIntoDocument()53  void HTMLBaseElement::insertedIntoDocument()
54  {
55      HTMLElement::insertedIntoDocument();
56      document()->processBaseElement();
57  }
58  
removedFromDocument()59  void HTMLBaseElement::removedFromDocument()
60  {
61      HTMLElement::removedFromDocument();
62      document()->processBaseElement();
63  }
64  
isURLAttribute(Attribute * attribute) const65  bool HTMLBaseElement::isURLAttribute(Attribute* attribute) const
66  {
67      return attribute->name() == hrefAttr;
68  }
69  
target() const70  String HTMLBaseElement::target() const
71  {
72      return fastGetAttribute(targetAttr);
73  }
74  
75  }
76