Skip to content

Commit 9d38781

Browse files
author
Sam Weinig
committed
Add skeleton of a WebKit2 ObjC DOM SPI (not intended to be the full DOM)
https://bugs.webkit.org/show_bug.cgi?id=98955 Reviewed by Anders Carlsson. Add a skeleton DOM implementation only exposing Node, Element and Document for now. It is currently only available in 64-bit as it relies on the non-fragile ABI for now. * WebKit2.xcodeproj/project.pbxproj: * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h: Added. * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm: Added. * WebProcess/InjectedBundle/API/mac/WKDOMElement.h: Added. * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm: Added. * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h: Added. * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm: Added. * WebProcess/InjectedBundle/API/mac/WKDOMNode.h: Added. * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm: Added. Canonical link: https://commits.webkit.org/116943@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@130971 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 parent 72f27c8 commit 9d38781

10 files changed

Lines changed: 497 additions & 1 deletion

File tree

Source/WebKit2/ChangeLog

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
1+
2012-10-10 Sam Weinig <sam@webkit.org>
2+
3+
Add skeleton of a WebKit2 ObjC DOM SPI (not intended to be the full DOM)
4+
https://bugs.webkit.org/show_bug.cgi?id=98955
5+
6+
Reviewed by Anders Carlsson.
7+
8+
Add a skeleton DOM implementation only exposing Node, Element and Document
9+
for now. It is currently only available in 64-bit as it relies on the non-fragile
10+
ABI for now.
11+
12+
* WebKit2.xcodeproj/project.pbxproj:
13+
* WebProcess/InjectedBundle/API/mac/WKDOMDocument.h: Added.
14+
* WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm: Added.
15+
* WebProcess/InjectedBundle/API/mac/WKDOMElement.h: Added.
16+
* WebProcess/InjectedBundle/API/mac/WKDOMElement.mm: Added.
17+
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.h: Added.
18+
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm: Added.
19+
* WebProcess/InjectedBundle/API/mac/WKDOMNode.h: Added.
20+
* WebProcess/InjectedBundle/API/mac/WKDOMNode.mm: Added.
21+
122
2012-10-04 Andy Estes <aestes@apple.com>
223

324
[WebKit2] Create an API for adding and removing user stylesheets from a page group

Source/WebKit2/WebKit2.xcodeproj/project.pbxproj

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -487,6 +487,14 @@
487487
B878B615133428DC006888E9 /* CorrectionPanel.h in Headers */ = {isa = PBXBuildFile; fileRef = B878B613133428DC006888E9 /* CorrectionPanel.h */; };
488488
B878B616133428DC006888E9 /* CorrectionPanel.mm in Sources */ = {isa = PBXBuildFile; fileRef = B878B614133428DC006888E9 /* CorrectionPanel.mm */; };
489489
BC0092F8115837A300E0AE2A /* WorkQueueMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC0092F6115837A300E0AE2A /* WorkQueueMac.cpp */; };
490+
BC017D0716260FF4007054F5 /* WKDOMDocument.h in Headers */ = {isa = PBXBuildFile; fileRef = BC017CFF16260FF4007054F5 /* WKDOMDocument.h */; };
491+
BC017D0816260FF4007054F5 /* WKDOMDocument.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC017D0016260FF4007054F5 /* WKDOMDocument.mm */; };
492+
BC017D0916260FF4007054F5 /* WKDOMElement.h in Headers */ = {isa = PBXBuildFile; fileRef = BC017D0116260FF4007054F5 /* WKDOMElement.h */; };
493+
BC017D0A16260FF4007054F5 /* WKDOMElement.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC017D0216260FF4007054F5 /* WKDOMElement.mm */; };
494+
BC017D0B16260FF4007054F5 /* WKDOMInternals.h in Headers */ = {isa = PBXBuildFile; fileRef = BC017D0316260FF4007054F5 /* WKDOMInternals.h */; };
495+
BC017D0C16260FF4007054F5 /* WKDOMInternals.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC017D0416260FF4007054F5 /* WKDOMInternals.mm */; };
496+
BC017D0D16260FF4007054F5 /* WKDOMNode.h in Headers */ = {isa = PBXBuildFile; fileRef = BC017D0516260FF4007054F5 /* WKDOMNode.h */; };
497+
BC017D0E16260FF4007054F5 /* WKDOMNode.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC017D0616260FF4007054F5 /* WKDOMNode.mm */; };
490498
BC032D7510F4378D0058C15A /* WebChromeClient.h in Headers */ = {isa = PBXBuildFile; fileRef = BC032D6010F4378D0058C15A /* WebChromeClient.h */; };
491499
BC032D7710F4378D0058C15A /* WebContextMenuClient.h in Headers */ = {isa = PBXBuildFile; fileRef = BC032D6210F4378D0058C15A /* WebContextMenuClient.h */; };
492500
BC032D7B10F4378D0058C15A /* WebDragClient.h in Headers */ = {isa = PBXBuildFile; fileRef = BC032D6610F4378D0058C15A /* WebDragClient.h */; };
@@ -1575,6 +1583,14 @@
15751583
B878B613133428DC006888E9 /* CorrectionPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CorrectionPanel.h; sourceTree = "<group>"; };
15761584
B878B614133428DC006888E9 /* CorrectionPanel.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CorrectionPanel.mm; sourceTree = "<group>"; };
15771585
BC0092F6115837A300E0AE2A /* WorkQueueMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WorkQueueMac.cpp; sourceTree = "<group>"; };
1586+
BC017CFF16260FF4007054F5 /* WKDOMDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDOMDocument.h; sourceTree = "<group>"; };
1587+
BC017D0016260FF4007054F5 /* WKDOMDocument.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKDOMDocument.mm; sourceTree = "<group>"; };
1588+
BC017D0116260FF4007054F5 /* WKDOMElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDOMElement.h; sourceTree = "<group>"; };
1589+
BC017D0216260FF4007054F5 /* WKDOMElement.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKDOMElement.mm; sourceTree = "<group>"; };
1590+
BC017D0316260FF4007054F5 /* WKDOMInternals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDOMInternals.h; sourceTree = "<group>"; };
1591+
BC017D0416260FF4007054F5 /* WKDOMInternals.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKDOMInternals.mm; sourceTree = "<group>"; };
1592+
BC017D0516260FF4007054F5 /* WKDOMNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDOMNode.h; sourceTree = "<group>"; };
1593+
BC017D0616260FF4007054F5 /* WKDOMNode.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKDOMNode.mm; sourceTree = "<group>"; };
15781594
BC032D6010F4378D0058C15A /* WebChromeClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebChromeClient.h; sourceTree = "<group>"; };
15791595
BC032D6210F4378D0058C15A /* WebContextMenuClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebContextMenuClient.h; sourceTree = "<group>"; };
15801596
BC032D6610F4378D0058C15A /* WebDragClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDragClient.h; sourceTree = "<group>"; };
@@ -2850,6 +2866,21 @@
28502866
name = mac;
28512867
sourceTree = "<group>";
28522868
};
2869+
BC017D1016260FFD007054F5 /* DOM */ = {
2870+
isa = PBXGroup;
2871+
children = (
2872+
BC017CFF16260FF4007054F5 /* WKDOMDocument.h */,
2873+
BC017D0016260FF4007054F5 /* WKDOMDocument.mm */,
2874+
BC017D0116260FF4007054F5 /* WKDOMElement.h */,
2875+
BC017D0216260FF4007054F5 /* WKDOMElement.mm */,
2876+
BC017D0316260FF4007054F5 /* WKDOMInternals.h */,
2877+
BC017D0416260FF4007054F5 /* WKDOMInternals.mm */,
2878+
BC017D0516260FF4007054F5 /* WKDOMNode.h */,
2879+
BC017D0616260FF4007054F5 /* WKDOMNode.mm */,
2880+
);
2881+
name = DOM;
2882+
sourceTree = "<group>";
2883+
};
28532884
BC032D5C10F436D50058C15A /* WebProcess */ = {
28542885
isa = PBXGroup;
28552886
children = (
@@ -3549,8 +3580,9 @@
35493580
BC989D4516181691000D46D3 /* mac */ = {
35503581
isa = PBXGroup;
35513582
children = (
3552-
BC989D7F161A7E5B000D46D3 /* WKWebProcessPlugIn.mm */,
3583+
BC017D1016260FFD007054F5 /* DOM */,
35533584
BC989D80161A7E5C000D46D3 /* WKWebProcessPlugIn.h */,
3585+
BC989D7F161A7E5B000D46D3 /* WKWebProcessPlugIn.mm */,
35543586
BC989D84161A988F000D46D3 /* WKWebProcessPlugInInternal.h */,
35553587
);
35563588
path = mac;
@@ -4344,6 +4376,10 @@
43444376
1A3EED0F161A535400AEB4F5 /* MessageReceiverMap.h in Headers */,
43454377
1A3EED12161A53D600AEB4F5 /* MessageReceiver.h in Headers */,
43464378
29D55DF2161BF9F10031A2E3 /* WebPageGroupProxyMessages.h in Headers */,
4379+
BC017D0716260FF4007054F5 /* WKDOMDocument.h in Headers */,
4380+
BC017D0916260FF4007054F5 /* WKDOMElement.h in Headers */,
4381+
BC017D0B16260FF4007054F5 /* WKDOMInternals.h in Headers */,
4382+
BC017D0D16260FF4007054F5 /* WKDOMNode.h in Headers */,
43474383
29121708161CE7360057D451 /* UserContentContainer.h in Headers */,
43484384
);
43494385
runOnlyForDeploymentPostprocessing = 0;
@@ -5204,6 +5240,10 @@
52045240
BC989D81161A7E5D000D46D3 /* WKWebProcessPlugIn.mm in Sources */,
52055241
1A3EED0E161A535400AEB4F5 /* MessageReceiverMap.cpp in Sources */,
52065242
29D55DF1161BF9F10031A2E3 /* WebPageGroupProxyMessageReceiver.cpp in Sources */,
5243+
BC017D0816260FF4007054F5 /* WKDOMDocument.mm in Sources */,
5244+
BC017D0A16260FF4007054F5 /* WKDOMElement.mm in Sources */,
5245+
BC017D0C16260FF4007054F5 /* WKDOMInternals.mm in Sources */,
5246+
BC017D0E16260FF4007054F5 /* WKDOMNode.mm in Sources */,
52075247
29121707161CE7360057D451 /* UserContentContainer.cpp in Sources */,
52085248
);
52095249
runOnlyForDeploymentPostprocessing = 0;
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*
2+
* Copyright (C) 2012 Apple Inc. All rights reserved.
3+
*
4+
* Redistribution and use in source and binary forms, with or without
5+
* modification, are permitted provided that the following conditions
6+
* are met:
7+
* 1. Redistributions of source code must retain the above copyright
8+
* notice, this list of conditions and the following disclaimer.
9+
* 2. Redistributions in binary form must reproduce the above copyright
10+
* notice, this list of conditions and the following disclaimer in the
11+
* documentation and/or other materials provided with the distribution.
12+
*
13+
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15+
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17+
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23+
* THE POSSIBILITY OF SUCH DAMAGE.
24+
*/
25+
26+
#if __LP64__
27+
28+
#import <WebKit2/WKDOMNode.h>
29+
30+
WK_EXPORT
31+
@interface WKDOMDocument : WKDOMNode
32+
@end
33+
34+
#endif // __LP64__
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/*
2+
* Copyright (C) 2012 Apple Inc. All rights reserved.
3+
*
4+
* Redistribution and use in source and binary forms, with or without
5+
* modification, are permitted provided that the following conditions
6+
* are met:
7+
* 1. Redistributions of source code must retain the above copyright
8+
* notice, this list of conditions and the following disclaimer.
9+
* 2. Redistributions in binary form must reproduce the above copyright
10+
* notice, this list of conditions and the following disclaimer in the
11+
* documentation and/or other materials provided with the distribution.
12+
*
13+
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15+
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17+
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23+
* THE POSSIBILITY OF SUCH DAMAGE.
24+
*/
25+
26+
#import "config.h"
27+
28+
#if __LP64__
29+
30+
#import "WKDOMDocument.h"
31+
32+
#import "WKDOMInternals.h"
33+
#import <WebCore/Document.h>
34+
35+
@implementation WKDOMDocument
36+
@end
37+
38+
#endif // __LP64__
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*
2+
* Copyright (C) 2012 Apple Inc. All rights reserved.
3+
*
4+
* Redistribution and use in source and binary forms, with or without
5+
* modification, are permitted provided that the following conditions
6+
* are met:
7+
* 1. Redistributions of source code must retain the above copyright
8+
* notice, this list of conditions and the following disclaimer.
9+
* 2. Redistributions in binary form must reproduce the above copyright
10+
* notice, this list of conditions and the following disclaimer in the
11+
* documentation and/or other materials provided with the distribution.
12+
*
13+
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15+
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17+
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23+
* THE POSSIBILITY OF SUCH DAMAGE.
24+
*/
25+
26+
#if __LP64__
27+
28+
#import <WebKit2/WKDOMNode.h>
29+
30+
WK_EXPORT
31+
@interface WKDOMElement : WKDOMNode
32+
@end
33+
34+
#endif // __LP64__
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/*
2+
* Copyright (C) 2012 Apple Inc. All rights reserved.
3+
*
4+
* Redistribution and use in source and binary forms, with or without
5+
* modification, are permitted provided that the following conditions
6+
* are met:
7+
* 1. Redistributions of source code must retain the above copyright
8+
* notice, this list of conditions and the following disclaimer.
9+
* 2. Redistributions in binary form must reproduce the above copyright
10+
* notice, this list of conditions and the following disclaimer in the
11+
* documentation and/or other materials provided with the distribution.
12+
*
13+
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15+
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17+
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23+
* THE POSSIBILITY OF SUCH DAMAGE.
24+
*/
25+
26+
#import "config.h"
27+
28+
#if __LP64__
29+
30+
#import "WKDOMElement.h"
31+
32+
#import "WKDOMInternals.h"
33+
#import <WebCore/Element.h>
34+
35+
@implementation WKDOMElement
36+
@end
37+
38+
#endif // __LP64__
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
/*
2+
* Copyright (C) 2012 Apple Inc. All rights reserved.
3+
*
4+
* Redistribution and use in source and binary forms, with or without
5+
* modification, are permitted provided that the following conditions
6+
* are met:
7+
* 1. Redistributions of source code must retain the above copyright
8+
* notice, this list of conditions and the following disclaimer.
9+
* 2. Redistributions in binary form must reproduce the above copyright
10+
* notice, this list of conditions and the following disclaimer in the
11+
* documentation and/or other materials provided with the distribution.
12+
*
13+
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15+
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17+
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23+
* THE POSSIBILITY OF SUCH DAMAGE.
24+
*/
25+
26+
#if __LP64__
27+
28+
#import "WKDOMNode.h"
29+
#import <WebCore/Node.h>
30+
31+
namespace WebCore {
32+
class Element;
33+
class Document;
34+
}
35+
36+
@class WKDOMElement;
37+
@class WKDOMDocument;
38+
39+
@interface WKDOMNode () {
40+
@public
41+
RefPtr<WebCore::Node> _node;
42+
}
43+
44+
- (id)_initWithNode:(WebCore::Node*)node;
45+
@end
46+
47+
namespace WebKit {
48+
49+
WebCore::Node* toWebCoreNode(WKDOMNode *);
50+
WKDOMNode *toWKDOMNode(WebCore::Node*);
51+
52+
WebCore::Element* toWebCoreElement(WKDOMElement *);
53+
WKDOMElement *toWKDOMElement(WebCore::Element*);
54+
55+
WebCore::Document* toWebCoreDocument(WKDOMDocument *);
56+
WKDOMDocument *toWKDOMDocument(WebCore::Document*);
57+
58+
void WKDOMNodeCacheAdd(WebCore::Node*, WKDOMNode *);
59+
WKDOMNode *WKDOMNodeCacheGet(WebCore::Node*);
60+
void WKDOMNodeCacheRemove(WebCore::Node*);
61+
62+
} // namespace WebKit
63+
64+
#endif // __LP64__

0 commit comments

Comments
 (0)