WebKitTools/DumpRenderTree/TestNetscapePlugIn/PluginObject.h
changeset 2 303757a437d3
parent 0 4f2f89ce4247
equal deleted inserted replaced
0:4f2f89ce4247 2:303757a437d3
     1 /*
       
     2  * Copyright (C) 2006, 2007 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. ``AS IS'' AND ANY
       
    14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
       
    15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
       
    16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
       
    17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
       
    18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
       
    19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
       
    20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
       
    21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
       
    22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
       
    23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
       
    24  */
       
    25 
       
    26 #include <WebKit/npfunctions.h>
       
    27 
       
    28 #if XP_MACOSX
       
    29 #if !defined(MAC_OS_X_VERSION_10_5) || MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5
       
    30 #define BUILDING_ON_TIGER 1
       
    31 #elif !defined(MAC_OS_X_VERSION_10_6) || MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_6
       
    32 #define BUILDING_ON_LEOPARD 1
       
    33 #elif !defined(MAC_OS_X_VERSION_10_7) || MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7
       
    34 #define BUILDING_ON_SNOW_LEOPARD 1
       
    35 #endif
       
    36 #endif // XP_MACOSX
       
    37 
       
    38 extern NPNetscapeFuncs *browser;
       
    39 
       
    40 typedef struct {
       
    41     NPObject header;
       
    42 
       
    43     NPP npp;
       
    44     NPBool eventLogging;
       
    45     NPBool logSetWindow;
       
    46     NPBool logDestroy;
       
    47     NPBool returnNegativeOneFromWrite;
       
    48     NPBool returnErrorFromNewStream;
       
    49     NPBool cachedPrivateBrowsingMode;
       
    50     NPObject* testObject;
       
    51     NPObject* rememberedObject;
       
    52     NPStream* stream;
       
    53     NPBool testDocumentOpenInDestroyStream;
       
    54     NPBool testGetURLOnDestroy;
       
    55     NPBool testWindowOpen;
       
    56     NPBool testKeyboardFocusForPlugins;
       
    57     char* onStreamLoad;
       
    58     char* onStreamDestroy;
       
    59     char* onDestroy;
       
    60     char* onURLNotify;
       
    61     char* onSetWindow;
       
    62     char* firstUrl;
       
    63     char* firstHeaders;
       
    64     char* lastUrl;
       
    65     char* lastHeaders;
       
    66 #ifdef XP_MACOSX
       
    67     NPEventModel eventModel;
       
    68 #endif
       
    69 #if XP_MACOSX && !defined(BUILDING_ON_TIGER)
       
    70     void* coreAnimationLayer;
       
    71 #endif
       
    72     NPWindow lastWindow;
       
    73 } PluginObject;
       
    74 
       
    75 extern NPClass *getPluginClass(void);
       
    76 extern void handleCallback(PluginObject* object, const char *url, NPReason reason, void *notifyData);
       
    77 extern void notifyStream(PluginObject* object, const char *url, const char *headers);
       
    78 extern void testNPRuntime(NPP npp);
       
    79 extern void pluginLog(NPP instance, const char* format, ...);
       
    80 extern bool testDocumentOpen(NPP npp);
       
    81 extern bool testWindowOpen(NPP npp);
       
    82 
       
    83 #if XP_MACOSX && !defined(BUILDING_ON_TIGER)
       
    84 extern void* createCoreAnimationLayer();
       
    85 #endif
       
    86