|
1 /* |
|
2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. |
|
3 * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies) |
|
4 * |
|
5 * Redistribution and use in source and binary forms, with or without |
|
6 * modification, are permitted provided that the following conditions |
|
7 * are met: |
|
8 * 1. Redistributions of source code must retain the above copyright |
|
9 * notice, this list of conditions and the following disclaimer. |
|
10 * 2. Redistributions in binary form must reproduce the above copyright |
|
11 * notice, this list of conditions and the following disclaimer in the |
|
12 * documentation and/or other materials provided with the distribution. |
|
13 * |
|
14 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY |
|
15 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
|
17 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR |
|
18 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
|
19 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
|
20 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
|
21 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
|
22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
|
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
25 */ |
|
26 |
|
27 #include "config.h" |
|
28 #include "PluginDebug.h" |
|
29 #include "PlatformString.h" |
|
30 |
|
31 #if !LOG_DISABLED |
|
32 |
|
33 namespace WebCore { |
|
34 |
|
35 static const char* const errorStrings[] = { |
|
36 "No errors occurred.", /* NPERR_NO_ERROR */ |
|
37 "Error with no specific error code occurred.", /* NPERR_GENERIC_ERROR */ |
|
38 "Invalid instance passed to the plug-in.", /* NPERR_INVALID_INSTANCE_ERROR */ |
|
39 "Function table invalid.", /* NPERR_INVALID_FUNCTABLE_ERROR */ |
|
40 "Loading of plug-in failed.", /* NPERR_MODULE_LOAD_FAILED_ERROR */ |
|
41 "Memory allocation failed.", /* NPERR_OUT_OF_MEMORY_ERROR */ |
|
42 "Plug-in missing or invalid.", /* NPERR_INVALID_PLUGIN_ERROR */ |
|
43 "Plug-in directory missing or invalid.", /* NPERR_INVALID_PLUGIN_DIR_ERROR */ |
|
44 "Versions of plug-in and Communicator do not match.", /* NPERR_INCOMPATIBLE_VERSION_ERROR */ |
|
45 "Parameter missing or invalid.", /* NPERR_INVALID_PARAM */ |
|
46 "URL missing or invalid.", /* NPERR_INVALID_URL */ |
|
47 "File missing or invalid.", /* NPERR_FILE_NOT_FOUND */ |
|
48 "Stream contains no data.", /* NPERR_NO_DATA */ |
|
49 "Seekable stream expected.", /* NPERR_STREAM_NOT_SEEKABLE */ |
|
50 "Unknown error code" |
|
51 }; |
|
52 |
|
53 #ifdef XP_MACOSX |
|
54 static const char* const drawingModels[] = { |
|
55 "NPDrawingModelQuickDraw", |
|
56 "NPDrawingModelCoreGraphics", |
|
57 "NPDrawingModelOpenGL", |
|
58 "NPDrawingModelCoreAnimation" |
|
59 }; |
|
60 |
|
61 static const char* const eventModels[] = { |
|
62 "NPEventModelCarbon", |
|
63 "NPEventModelCocoa" |
|
64 }; |
|
65 #endif //XP_MACOSX |
|
66 |
|
67 const char* prettyNameForNPError(NPError error) |
|
68 { |
|
69 return errorStrings[error]; |
|
70 } |
|
71 |
|
72 #ifdef XP_MACOSX |
|
73 const char* prettyNameForDrawingModel(NPDrawingModel drawingModel) |
|
74 { |
|
75 return drawingModels[drawingModel]; |
|
76 } |
|
77 |
|
78 const char* prettyNameForEventModel(NPEventModel eventModel) |
|
79 { |
|
80 return eventModels[eventModel]; |
|
81 } |
|
82 #endif //XP_MACOSX |
|
83 |
|
84 CString prettyNameForNPNVariable(NPNVariable variable) |
|
85 { |
|
86 switch (variable) { |
|
87 case NPNVxDisplay: return "NPNVxDisplay"; |
|
88 case NPNVxtAppContext: return "NPNVxtAppContext"; |
|
89 case NPNVnetscapeWindow: return "NPNVnetscapeWindow"; |
|
90 case NPNVjavascriptEnabledBool: return "NPNVjavascriptEnabledBool"; |
|
91 case NPNVasdEnabledBool: return "NPNVasdEnabledBool"; |
|
92 case NPNVisOfflineBool: return "NPNVisOfflineBool"; |
|
93 |
|
94 case NPNVserviceManager: return "NPNVserviceManager (not supported)"; |
|
95 case NPNVDOMElement: return "NPNVDOMElement (not supported)"; |
|
96 case NPNVDOMWindow: return "NPNVDOMWindow (not supported)"; |
|
97 case NPNVToolkit: return "NPNVToolkit (not supported)"; |
|
98 case NPNVSupportsXEmbedBool: return "NPNVSupportsXEmbedBool (not supported)"; |
|
99 |
|
100 case NPNVWindowNPObject: return "NPNVWindowNPObject"; |
|
101 case NPNVPluginElementNPObject: return "NPNVPluginElementNPObject"; |
|
102 case NPNVSupportsWindowless: return "NPNVSupportsWindowless"; |
|
103 case NPNVprivateModeBool: return "NPNVprivateModeBool"; |
|
104 |
|
105 #ifdef XP_MACOSX |
|
106 case NPNVpluginDrawingModel: return "NPNVpluginDrawingModel"; |
|
107 #ifndef NP_NO_QUICKDRAW |
|
108 case NPNVsupportsQuickDrawBool: return "NPNVsupportsQuickDrawBool"; |
|
109 #endif |
|
110 case NPNVsupportsCoreGraphicsBool: return "NPNVsupportsCoreGraphicsBool"; |
|
111 case NPNVsupportsOpenGLBool: return "NPNVsupportsOpenGLBool"; |
|
112 case NPNVsupportsCoreAnimationBool: return "NPNVsupportsCoreAnimationBool"; |
|
113 #ifndef NP_NO_CARBON |
|
114 case NPNVsupportsCarbonBool: return "NPNVsupportsCarbonBool"; |
|
115 #endif |
|
116 case NPNVsupportsCocoaBool: return "NPNVsupportsCocoaBool"; |
|
117 #endif |
|
118 |
|
119 default: return "Unknown variable"; |
|
120 } |
|
121 } |
|
122 |
|
123 CString prettyNameForNPPVariable(NPPVariable variable, void* value) |
|
124 { |
|
125 switch (variable) { |
|
126 case NPPVpluginNameString: return "NPPVpluginNameString"; |
|
127 case NPPVpluginDescriptionString: return "NPPVpluginDescriptionString"; |
|
128 case NPPVpluginWindowBool: return "NPPVpluginWindowBool"; |
|
129 case NPPVpluginTransparentBool: return "NPPVpluginTransparentBool"; |
|
130 |
|
131 case NPPVjavaClass: return "NPPVjavaClass (not supported)"; |
|
132 case NPPVpluginWindowSize: return "NPPVpluginWindowSize (not supported)"; |
|
133 case NPPVpluginTimerInterval: return "NPPVpluginTimerInterval (not supported)"; |
|
134 case NPPVpluginScriptableInstance: return "NPPVpluginScriptableInstance (not supported)"; |
|
135 case NPPVpluginScriptableIID: return "NPPVpluginScriptableIID (not supported)"; |
|
136 case NPPVjavascriptPushCallerBool: return "NPPVjavascriptPushCallerBool (not supported)"; |
|
137 case NPPVpluginKeepLibraryInMemory: return "NPPVpluginKeepLibraryInMemory (not supported)"; |
|
138 case NPPVpluginNeedsXEmbed: return "NPPVpluginNeedsXEmbed (not supported)"; |
|
139 |
|
140 case NPPVpluginScriptableNPObject: return "NPPVpluginScriptableNPObject"; |
|
141 |
|
142 case NPPVformValue: return "NPPVformValue (not supported)"; |
|
143 case NPPVpluginUrlRequestsDisplayedBool: return "NPPVpluginUrlRequestsDisplayedBool (not supported)"; |
|
144 |
|
145 case NPPVpluginWantsAllNetworkStreams: return "NPPVpluginWantsAllNetworkStreams"; |
|
146 case NPPVpluginCancelSrcStream: return "NPPVpluginCancelSrcStream"; |
|
147 |
|
148 #ifdef XP_MACOSX |
|
149 case NPPVpluginDrawingModel: { |
|
150 String result("NPPVpluginDrawingModel, "); |
|
151 result.append(prettyNameForDrawingModel(NPDrawingModel(uintptr_t(value)))); |
|
152 return result.latin1(); |
|
153 } |
|
154 case NPPVpluginEventModel: { |
|
155 String result("NPPVpluginEventModel, "); |
|
156 result.append(prettyNameForEventModel(NPEventModel(uintptr_t(value)))); |
|
157 return result.latin1(); |
|
158 } |
|
159 case NPPVpluginCoreAnimationLayer: return "NPPVpluginCoreAnimationLayer"; |
|
160 #endif |
|
161 |
|
162 default: return "Unknown variable"; |
|
163 } |
|
164 } |
|
165 |
|
166 } // namespace WebCore |
|
167 |
|
168 #endif // !LOG_DISABLED |