Reviewed by Darin.
[WebKit-https.git] / WebCore / html / HTMLStyleElement.cpp
1 /**
2  * This file is part of the DOM implementation for KDE.
3  *
4  * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
5  *           (C) 1999 Antti Koivisto (koivisto@kde.org)
6  *           (C) 2001 Dirk Mueller (mueller@kde.org)
7  * Copyright (C) 2003 Apple Computer, Inc.
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Library General Public
11  * License as published by the Free Software Foundation; either
12  * version 2 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * Library General Public License for more details.
18  *
19  * You should have received a copy of the GNU Library General Public License
20  * along with this library; see the file COPYING.LIB.  If not, write to
21  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
22  * Boston, MA 02111-1307, USA.
23  */
24 #include "config.h"
25 #include "HTMLStyleElement.h"
26
27 #include "Document.h"
28 #include "HTMLNames.h"
29
30 namespace WebCore {
31
32 using namespace HTMLNames;
33
34 HTMLStyleElement::HTMLStyleElement(Document* doc)
35     : HTMLElement(styleTag, doc)
36 {
37 }
38
39 // other stuff...
40 void HTMLStyleElement::parseMappedAttribute(MappedAttribute *attr)
41 {
42     if (attr->name() == mediaAttr)
43         m_media = attr->value().deprecatedString().lower();
44     else
45         HTMLElement::parseMappedAttribute(attr);
46 }
47
48 void HTMLStyleElement::insertedIntoDocument()
49 {
50     HTMLElement::insertedIntoDocument();
51     StyleElement::insertedIntoDocument(document());
52 }
53
54 void HTMLStyleElement::removedFromDocument()
55 {
56     HTMLElement::removedFromDocument();
57     StyleElement::removedFromDocument(document());
58 }
59
60 void HTMLStyleElement::childrenChanged()
61 {
62     StyleElement::childrenChanged(this);
63 }
64
65 bool HTMLStyleElement::isLoading() const
66 {
67     if (m_loading)
68         return true;
69     if (!m_sheet)
70         return false;
71     return static_cast<CSSStyleSheet *>(m_sheet.get())->isLoading();
72 }
73
74 bool HTMLStyleElement::sheetLoaded()
75 {
76     if (!isLoading()) {
77         document()->stylesheetLoaded();
78         return true;
79     }
80     return false;
81 }
82
83 bool HTMLStyleElement::disabled() const
84 {
85     return !getAttribute(disabledAttr).isNull();
86 }
87
88 void HTMLStyleElement::setDisabled(bool disabled)
89 {
90     setAttribute(disabledAttr, disabled ? "" : 0);
91 }
92
93 const AtomicString& HTMLStyleElement::media() const
94 {
95     return getAttribute(mediaAttr);
96 }
97
98 void HTMLStyleElement::setMedia(const AtomicString &value)
99 {
100     setAttribute(mediaAttr, value);
101 }
102
103 const AtomicString& HTMLStyleElement::type() const
104 {
105     return getAttribute(typeAttr);
106 }
107
108 void HTMLStyleElement::setType(const AtomicString &value)
109 {
110     setAttribute(typeAttr, value);
111 }
112
113 }