OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
5 * Copyright (C) 2004, 2005, 2006, 2008 Apple Inc. All rights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2008 Apple Inc. All rights reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 22 matching lines...) Expand all Loading... | |
33 class CSSStyleSheet; | 33 class CSSStyleSheet; |
34 class Document; | 34 class Document; |
35 class DocumentInit; | 35 class DocumentInit; |
36 class DocumentType; | 36 class DocumentType; |
37 class ExceptionState; | 37 class ExceptionState; |
38 class LocalFrame; | 38 class LocalFrame; |
39 class HTMLDocument; | 39 class HTMLDocument; |
40 class KURL; | 40 class KURL; |
41 class XMLDocument; | 41 class XMLDocument; |
42 | 42 |
43 class DOMImplementation : public ScriptWrappable { | 43 class DOMImplementation FINAL : public NoBaseWillBeGarbageCollectedFinalized<DOM Implementation>, public ScriptWrappable { |
44 WTF_MAKE_FAST_ALLOCATED; | 44 WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED; |
45 public: | 45 public: |
46 static PassOwnPtr<DOMImplementation> create(Document& document) { return ado ptPtr(new DOMImplementation(document)); } | 46 static PassOwnPtrWillBeRawPtr<DOMImplementation> create(Document& document) |
47 { | |
48 return adoptPtrWillBeNoop(new DOMImplementation(document)); | |
49 } | |
47 | 50 |
48 void ref() { m_document.ref(); } | 51 #if !ENABLE(OILPAN) |
49 void deref() { m_document.deref(); } | 52 void ref() { m_document->ref(); } |
50 Document& document() const { return m_document; } | 53 void deref() { m_document->deref(); } |
54 #endif | |
55 Document& document() const { return *m_document.get(); } | |
Mads Ager (chromium)
2014/05/08 07:31:11
You can remove the .get() call here. Both RawPtr<T
| |
51 | 56 |
52 // DOM methods & attributes for DOMImplementation | 57 // DOM methods & attributes for DOMImplementation |
53 static bool hasFeature(const String& feature, const String& version); | 58 static bool hasFeature(const String& feature, const String& version); |
54 bool hasFeatureForBindings(const String& feature, const String& version); | 59 bool hasFeatureForBindings(const String& feature, const String& version); |
55 PassRefPtr<DocumentType> createDocumentType(const AtomicString& qualifiedNam e, const String& publicId, const String& systemId, ExceptionState&); | 60 PassRefPtr<DocumentType> createDocumentType(const AtomicString& qualifiedNam e, const String& publicId, const String& systemId, ExceptionState&); |
56 PassRefPtr<XMLDocument> createDocument(const AtomicString& namespaceURI, con st AtomicString& qualifiedName, DocumentType*, ExceptionState&); | 61 PassRefPtr<XMLDocument> createDocument(const AtomicString& namespaceURI, con st AtomicString& qualifiedName, DocumentType*, ExceptionState&); |
57 | 62 |
58 // From the HTMLDOMImplementation interface | 63 // From the HTMLDOMImplementation interface |
59 PassRefPtr<HTMLDocument> createHTMLDocument(const String& title); | 64 PassRefPtr<HTMLDocument> createHTMLDocument(const String& title); |
60 | 65 |
61 // Other methods (not part of DOM) | 66 // Other methods (not part of DOM) |
62 static PassRefPtr<Document> createDocument(const String& mimeType, LocalFram e*, const KURL&, bool inViewSourceMode); | 67 static PassRefPtr<Document> createDocument(const String& mimeType, LocalFram e*, const KURL&, bool inViewSourceMode); |
63 static PassRefPtr<Document> createDocument(const String& mimeType, const Doc umentInit&, bool inViewSourceMode); | 68 static PassRefPtr<Document> createDocument(const String& mimeType, const Doc umentInit&, bool inViewSourceMode); |
64 | 69 |
65 static bool isXMLMIMEType(const String&); | 70 static bool isXMLMIMEType(const String&); |
66 static bool isTextMIMEType(const String&); | 71 static bool isTextMIMEType(const String&); |
67 static bool isJSONMIMEType(const String&); | 72 static bool isJSONMIMEType(const String&); |
68 | 73 |
74 void trace(Visitor*); | |
75 | |
69 private: | 76 private: |
70 explicit DOMImplementation(Document&); | 77 explicit DOMImplementation(Document&); |
71 | 78 |
72 Document& m_document; | 79 RawPtrWillBeMember<Document> m_document; |
73 }; | 80 }; |
74 | 81 |
75 } // namespace WebCore | 82 } // namespace WebCore |
76 | 83 |
77 #endif | 84 #endif |
OLD | NEW |