Home | History | Annotate | Download | only in objc
      1 /*
      2  * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
      3  *
      4  * This library is free software; you can redistribute it and/or
      5  * modify it under the terms of the GNU Library General Public
      6  * License as published by the Free Software Foundation; either
      7  * version 2 of the License, or (at your option) any later version.
      8  *
      9  * This library is distributed in the hope that it will be useful,
     10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     12  * Library General Public License for more details.
     13  *
     14  * You should have received a copy of the GNU Library General Public License
     15  * along with this library; see the file COPYING.LIB.  If not, write to
     16  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
     17  * Boston, MA 02110-1301, USA.
     18  *
     19  */
     20 
     21 #include "config.h"
     22 #include "DOMImplementationFront.h"
     23 
     24 #include "CSSStyleSheet.h"
     25 #include "DocumentType.h"
     26 #include "DOMImplementation.h"
     27 #include "HTMLDocument.h"
     28 #include "JSDOMImplementation.h"
     29 
     30 namespace WebCore {
     31 
     32 DOMImplementationFront* implementationFront(Document* document)
     33 {
     34     return reinterpret_cast<DOMImplementationFront*>(document->implementation());
     35 }
     36 
     37 DOMImplementationFront* implementationFront(JSDOMImplementation* wrapper)
     38 {
     39     return reinterpret_cast<DOMImplementationFront*>(wrapper->impl());
     40 }
     41 
     42 void DOMImplementationFront::ref()
     43 {
     44     reinterpret_cast<DOMImplementation*>(this)->ref();
     45 }
     46 
     47 void DOMImplementationFront::deref()
     48 {
     49     reinterpret_cast<DOMImplementation*>(this)->deref();
     50 }
     51 
     52 bool DOMImplementationFront::hasFeature(const String& feature, const String& version) const
     53 {
     54     return reinterpret_cast<const DOMImplementation*>(this)->hasFeature(feature, version);
     55 }
     56 
     57 PassRefPtr<DocumentType> DOMImplementationFront::createDocumentType(const String& qualifiedName, const String& publicId, const String& systemId, ExceptionCode& ec)
     58 {
     59     return reinterpret_cast<DOMImplementation*>(this)->createDocumentType(qualifiedName, publicId, systemId, ec);
     60 }
     61 
     62 PassRefPtr<Document> DOMImplementationFront::createDocument(const String& namespaceURI, const String& qualifiedName, DocumentType* type, ExceptionCode& ec)
     63 {
     64     return reinterpret_cast<DOMImplementation*>(this)->createDocument(namespaceURI, qualifiedName, type, ec);
     65 }
     66 
     67 DOMImplementationFront* DOMImplementationFront::getInterface(const String& feature)
     68 {
     69     return reinterpret_cast<DOMImplementationFront*>(reinterpret_cast<DOMImplementation*>(this)->getInterface(feature));
     70 }
     71 
     72 PassRefPtr<CSSStyleSheet> DOMImplementationFront::createCSSStyleSheet(const String& title, const String& media, ExceptionCode& ec)
     73 {
     74     return reinterpret_cast<DOMImplementation*>(this)->createCSSStyleSheet(title, media, ec);
     75 }
     76 
     77 PassRefPtr<HTMLDocument> DOMImplementationFront::createHTMLDocument(const String& title)
     78 {
     79     return reinterpret_cast<DOMImplementation*>(this)->createHTMLDocument(title);
     80 }
     81 
     82 } //namespace
     83