src/3rdparty/webkit/WebCore/plugins/PluginDebug.cpp
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     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