~ubuntu-branches/ubuntu/raring/qtwebkit-source/raring-proposed

« back to all changes in this revision

Viewing changes to Source/WebKit2/Shared/APIObject.h

  • Committer: Package Import Robot
  • Author(s): Jonathan Riddell
  • Date: 2013-02-18 14:24:18 UTC
  • Revision ID: package-import@ubuntu.com-20130218142418-eon0jmjg3nj438uy
Tags: upstream-2.3
ImportĀ upstreamĀ versionĀ 2.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (C) 2010 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
#ifndef APIObject_h
 
27
#define APIObject_h
 
28
 
 
29
#include <wtf/RefCounted.h>
 
30
 
 
31
namespace WebKit {
 
32
 
 
33
class APIObject : public ThreadSafeRefCounted<APIObject> {
 
34
public:
 
35
    enum Type {
 
36
        // Base types
 
37
        TypeNull = 0,
 
38
        TypeArray,
 
39
        TypeAuthenticationChallenge,
 
40
        TypeAuthenticationDecisionListener,
 
41
        TypeCertificateInfo,
 
42
        TypeConnection,
 
43
        TypeContextMenuItem,
 
44
        TypeCredential,
 
45
        TypeData,
 
46
        TypeDictionary,
 
47
        TypeError,
 
48
        TypeGraphicsContext,
 
49
        TypeImage,
 
50
        TypeProtectionSpace,
 
51
        TypeRenderLayer,
 
52
        TypeRenderObject,
 
53
        TypeSecurityOrigin,
 
54
        TypeSerializedScriptValue,
 
55
        TypeString,
 
56
        TypeURL,
 
57
        TypeURLRequest,
 
58
        TypeURLResponse,
 
59
        TypeUserContentURLPattern,
 
60
 
 
61
        // Base numeric types
 
62
        TypeBoolean,
 
63
        TypeDouble,
 
64
        TypeUInt64,
 
65
        
 
66
        // Geometry types
 
67
        TypePoint,
 
68
        TypeSize,
 
69
        TypeRect,
 
70
        
 
71
        // UIProcess types
 
72
        TypeApplicationCacheManager,
 
73
        TypeBackForwardList,
 
74
        TypeBackForwardListItem,
 
75
        TypeBatteryManager,
 
76
        TypeBatteryStatus,
 
77
        TypeCacheManager,
 
78
        TypeColorPickerResultListener,
 
79
        TypeContext,
 
80
        TypeCookieManager,
 
81
        TypeDatabaseManager,
 
82
        TypeDownload,
 
83
        TypeFormSubmissionListener,
 
84
        TypeFrame,
 
85
        TypeFramePolicyListener,
 
86
        TypeFullScreenManager,
 
87
        TypeGeolocationManager,
 
88
        TypeGeolocationPermissionRequest,
 
89
        TypeHitTestResult,
 
90
        TypeGeolocationPosition,
 
91
        TypeGrammarDetail,
 
92
        TypeIconDatabase,
 
93
        TypeInspector,
 
94
        TypeIntentData,
 
95
        TypeIntentServiceInfo,
 
96
        TypeKeyValueStorageManager,
 
97
        TypeMediaCacheManager,
 
98
        TypeNavigationData,
 
99
        TypeNetworkInfo,
 
100
        TypeNetworkInfoManager,
 
101
        TypeNotification,
 
102
        TypeNotificationManager,
 
103
        TypeNotificationPermissionRequest,
 
104
        TypeOpenPanelParameters,
 
105
        TypeOpenPanelResultListener,
 
106
        TypePage,
 
107
        TypePageGroup,
 
108
        TypePluginSiteDataManager,
 
109
        TypePreferences,
 
110
        TypeTextChecker,
 
111
        TypeVibration,
 
112
 
 
113
        // Bundle types
 
114
        TypeBundle,
 
115
        TypeBundleBackForwardList,
 
116
        TypeBundleBackForwardListItem,
 
117
        TypeBundleDOMWindowExtension,
 
118
        TypeBundleFrame,
 
119
        TypeBundleHitTestResult,
 
120
        TypeBundleInspector,
 
121
        TypeBundleIntent,
 
122
        TypeBundleIntentRequest,
 
123
        TypeBundleNavigationAction,
 
124
        TypeBundleNodeHandle,
 
125
        TypeBundlePage,
 
126
        TypeBundlePageGroup,
 
127
        TypeBundlePageOverlay,
 
128
        TypeBundleRangeHandle,
 
129
        TypeBundleScriptWorld,
 
130
 
 
131
        // Platform specific
 
132
        TypeEditCommandProxy,
 
133
        TypeObjCObjectGraph,
 
134
        TypeView,
 
135
#if USE(SOUP)
 
136
        TypeSoupRequestManager,
 
137
#endif
 
138
    };
 
139
 
 
140
    virtual ~APIObject()
 
141
    {
 
142
    }
 
143
 
 
144
    virtual Type type() const = 0;
 
145
 
 
146
protected:
 
147
    APIObject();
 
148
};
 
149
 
 
150
} // namespace WebKit
 
151
 
 
152
#endif // APIObject_h