diff options
Diffstat (limited to 'WebCore/loader/CachedXBLDocument.cpp')
-rw-r--r-- | WebCore/loader/CachedXBLDocument.cpp | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/WebCore/loader/CachedXBLDocument.cpp b/WebCore/loader/CachedXBLDocument.cpp deleted file mode 100644 index 1ef3bae..0000000 --- a/WebCore/loader/CachedXBLDocument.cpp +++ /dev/null @@ -1,112 +0,0 @@ -/* - This file is part of the KDE libraries - - Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) - Copyright (C) 2001 Dirk Mueller (mueller@kde.org) - Copyright (C) 2002 Waldo Bastian (bastian@kde.org) - Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) - Copyright (C) 2004, 2005, 2006 Apple Computer, Inc. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. - - This class provides all functionality needed for loading images, style sheets and html - pages from the web. It has a memory cache for these objects. -*/ - -#include "config.h" - -#if ENABLE(XBL) - -#include "CachedXBLDocument.h" - -#include "CachedResourceClientWalker.h" -#include "TextResourceDecoder.h" -#include <wtf/Vector.h> - -namespace WebCore { - -CachedXBLDocument::CachedXBLDocument(const String &url) -: CachedResource(url, XBL), m_document(0) -{ - // It's XML we want. - setAccept("text/xml, application/xml, application/xhtml+xml, text/xsl, application/rss+xml, application/atom+xml"); - - m_decoder = new TextResourceDecoder("application/xml"); -} - -CachedXBLDocument::~CachedXBLDocument() -{ - if (m_document) - m_document->deref(); -} - -void CachedXBLDocument::ref(CachedResourceClient *c) -{ - CachedResource::ref(c); - if (!m_loading) - c->setXBLDocument(m_url, m_document); -} - -void CachedXBLDocument::setEncoding(const String& chs) -{ - m_decoder->setEncoding(chs, TextResourceDecoder::EncodingFromHTTPHeader); -} - -String CachedXBLDocument::encoding() const -{ - return m_decoder->encoding().name(); -} - -void CachedXBLDocument::data(Vector<char>& data, bool ) -{ - if (!allDataReceived) - return; - - ASSERT(!m_document); - - m_document = new XBL::XBLDocument(); - m_document->ref(); - m_document->open(); - - m_document->write(m_decoder->decode(data.data(), data.size())); - setSize(data.size()); - - m_document->finishParsing(); - m_document->close(); - m_loading = false; - checkNotify(); -} - -void CachedXBLDocument::checkNotify() -{ - if (m_loading) - return; - - CachedResourceClientWalker w(m_clients); - while (CachedResourceClient *c = w.next()) - c->setXBLDocument(m_url, m_document); -} - -void CachedXBLDocument::error() -{ - m_loading = false; - m_errorOccurred = true; - checkNotify(); -} - -} - -#endif |