diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/html/HTMLDocument.cpp')
-rw-r--r-- | src/3rdparty/webkit/WebCore/html/HTMLDocument.cpp | 38 |
1 files changed, 12 insertions, 26 deletions
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLDocument.cpp b/src/3rdparty/webkit/WebCore/html/HTMLDocument.cpp index 5867f0eed..96ae9e41b 100644 --- a/src/3rdparty/webkit/WebCore/html/HTMLDocument.cpp +++ b/src/3rdparty/webkit/WebCore/html/HTMLDocument.cpp @@ -151,9 +151,12 @@ Element* HTMLDocument::activeElement() bool HTMLDocument::hasFocus() { - if (!page()->focusController()->isActive()) + Page* page = this->page(); + if (!page) return false; - if (Frame* focusedFrame = page()->focusController()->focusedFrame()) { + if (!page->focusController()->isActive()) + return false; + if (Frame* focusedFrame = page->focusController()->focusedFrame()) { if (focusedFrame->tree()->isDescendantOf(frame())) return true; } @@ -281,9 +284,8 @@ void HTMLDocument::releaseEvents() Tokenizer *HTMLDocument::createTokenizer() { bool reportErrors = false; - if (frame()) - if (Page* page = frame()->page()) - reportErrors = page->inspectorController()->windowVisible(); + if (Page* page = this->page()) + reportErrors = page->inspectorController()->windowVisible(); return new HTMLTokenizer(this, reportErrors); } @@ -307,34 +309,18 @@ PassRefPtr<Element> HTMLDocument::createElement(const AtomicString& name, Except return HTMLElementFactory::createHTMLElement(QualifiedName(nullAtom, lowerName, xhtmlNamespaceURI), this, 0, false); } -static void addItemToMap(HTMLDocument::NameCountMap& map, const AtomicString& name) +static void addItemToMap(HashCountedSet<AtomicStringImpl*>& map, const AtomicString& name) { if (name.isEmpty()) return; - - HTMLDocument::NameCountMap::iterator it = map.find(name.impl()); - if (it == map.end()) - map.set(name.impl(), 1); - else - ++(it->second); + map.add(name.impl()); } -static void removeItemFromMap(HTMLDocument::NameCountMap& map, const AtomicString& name) +static void removeItemFromMap(HashCountedSet<AtomicStringImpl*>& map, const AtomicString& name) { if (name.isEmpty()) return; - - HTMLDocument::NameCountMap::iterator it = map.find(name.impl()); - if (it == map.end()) - return; - - int oldVal = it->second; - ASSERT(oldVal != 0); - int newVal = oldVal - 1; - if (newVal == 0) - map.remove(it); - else - it->second = newVal; + map.remove(name.impl()); } void HTMLDocument::addNamedItem(const AtomicString& name) @@ -342,7 +328,7 @@ void HTMLDocument::addNamedItem(const AtomicString& name) addItemToMap(m_namedItemCounts, name); } -void HTMLDocument::removeNamedItem(const AtomicString &name) +void HTMLDocument::removeNamedItem(const AtomicString& name) { removeItemFromMap(m_namedItemCounts, name); } |