Home | History | Annotate | Download | only in Hosted
      1 /*
      2  * Copyright (C) 2008 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/WebKitPluginHostTypes.defs>
     27 
     28 // FIXME: Come up with a better name.
     29 subsystem WebKitPluginClient 300;
     30 
     31 serverprefix WK;
     32 userprefix _WK;
     33 
     34 simpleroutine PCStatusText(clientPort :mach_port_t;
     35                          pluginID :uint32_t;
     36                          text :data_t);
     37 
     38 routine PCLoadURL(clientPort :mach_port_t;
     39                       pluginID :uint32_t;
     40                       url :data_t;
     41                       target :data_t;
     42                       postData :data_t;
     43                       flags: uint32_t;
     44                       out resultCode :uint16_t;
     45                       out requestID :uint32_t);
     46 
     47 simpleroutine PCCancelLoadURL(clientPort :mach_port_t;
     48                             pluginID :uint32_t;
     49                             streamID :uint32_t;
     50                             reason :int16_t);
     51 
     52 simpleroutine PCInvalidateRect(clientPort :mach_port_t;
     53                              pluginID :uint32_t;
     54                              x :double;
     55                              y :double;
     56                              width :double;
     57                              height :double);
     58 
     59 routine PCGetCookies(clientPort :mach_port_t;
     60                      pluginID :uint32_t;
     61                      url :data_t;
     62                      out returnValue :boolean_t;
     63                      out cookies :data_t, dealloc);
     64 
     65 routine PCSetCookies(clientPort :mach_port_t;
     66                      pluginID :uint32_t;
     67                      url :data_t;
     68                      cookies :data_t;
     69                      out returnValue :boolean_t);
     70 
     71 routine PCGetProxy(clientPort :mach_port_t;
     72                    pluginID :uint32_t;
     73                    url :data_t;
     74                    out returnValue :boolean_t;
     75                    out proxy :data_t, dealloc);
     76 
     77 routine PCGetAuthenticationInfo(clientPort :mach_port_t;
     78                                 pluginID :uint32_t;
     79                                 protocol :data_t;
     80                                 host :data_t;
     81                                 port :uint32_t;
     82                                 scheme :data_t;
     83                                 realm :data_t;
     84                                 out returnValue :boolean_t;
     85                                 out username :data_t, dealloc;
     86                                 out password :data_t, dealloc);
     87 
     88 routine PCConvertPoint(clientPort :mach_port_t;
     89                        pluginID :uint32_t;
     90                        sourceX :double;
     91                        sourceY :double;
     92                        sourceSpace :uint32_t;
     93                        destSpace :uint32_t;
     94                        out returnValue :boolean_t;
     95                        out destX :double;
     96                        out destY :double);
     97 
     98 // NPRuntime
     99 
    100 routine PCGetStringIdentifier(clientPort :mach_port_t;
    101                             name :data_t;
    102                             out identifier :uint64_t);
    103 
    104 routine PCGetIntIdentifier(clientPort :mach_port_t;
    105                          value :int32_t;
    106                          out identifier: uint64_t);
    107 
    108 routine PCGetWindowNPObject(clientPort :mach_port_t;
    109                           pluginID :uint32_t;
    110                           out objectID :uint32_t);
    111 routine PCGetPluginElementNPObject(clientPort :mach_port_t;
    112                                  pluginID :uint32_t;
    113                                  out objectID :uint32_t);
    114 
    115 routine PCForgetBrowserObject(clientPort :mach_port_t;
    116                       pluginID :uint32_t;
    117                       objectID :uint32_t);
    118 
    119 simpleroutine PCEvaluate(clientPort :mach_port_t;
    120                        pluginID :uint32_t;
    121                        requestID :uint32_t;
    122                        objectID :uint32_t;
    123                        script :data_t;
    124                        allowPopups :boolean_t);
    125 
    126 simpleroutine PCInvoke(clientPort :mach_port_t;
    127                      pluginID :uint32_t;
    128                      requestID :uint32_t;
    129                      objectID :uint32_t;
    130                      methodNameIdentifier :uint64_t;
    131                      arguments :data_t);
    132 
    133 simpleroutine PCInvokeDefault(clientPort :mach_port_t;
    134                pluginID :uint32_t;
    135                requestID :uint32_t;
    136                objectID :uint32_t;
    137                arguments :data_t);
    138 
    139 routine PCConstruct(clientPort :mach_port_t;
    140                   pluginID :uint32_t;
    141                   objectID :uint32_t;
    142                   arguments :data_t;
    143                   out returnValue :boolean_t;
    144                   out result :data_t, dealloc);
    145 
    146 simpleroutine PCGetProperty(clientPort :mach_port_t;
    147                             pluginID :uint32_t;
    148                             requestID :uint32_t;
    149                             objectID :uint32_t;
    150                             propertyNameIdentifier :uint64_t);
    151 
    152 simpleroutine PCSetProperty(clientPort :mach_port_t;
    153                     pluginID :uint32_t;
    154                     requestID :uint32_t;
    155                     objectID :uint32_t;
    156                     propertyNameIdentifier :uint64_t;
    157                     value :data_t);
    158 
    159 simpleroutine PCRemoveProperty(clientPort :mach_port_t;
    160                        pluginID :uint32_t;
    161                        requestID :uint32_t;
    162                        objectID :uint32_t;
    163                        propertyNameIdentifier :uint64_t);
    164 
    165 simpleroutine PCHasProperty(clientPort :mach_port_t;
    166                             pluginID :uint32_t;
    167                             requestID :uint32_t;
    168                             objectID :uint32_t;
    169                             propertyNameIdentifier :uint64_t);
    170 
    171 simpleroutine PCHasMethod(clientPort :mach_port_t;
    172                            pluginID :uint32_t;
    173                            requestID :uint32_t;
    174                            objectID :uint32_t;
    175                            methodNameIdentifier :uint64_t);
    176 
    177 routine PCIdentifierInfo(clientPort :mach_port_t;
    178                        identifier :uint64_t;
    179                        out info :data_t, dealloc);
    180 
    181 simpleroutine PCEnumerate(clientPort :mach_port_t;
    182                           pluginID :uint32_t;
    183                           requestID :uint32_t;
    184                           objectID :uint32_t);
    185 
    186 // Misc
    187 
    188 simpleroutine PCSetMenuBarVisible(clientPort :mach_port_t;
    189                                 visible :boolean_t);
    190 
    191 simpleroutine PCSetModal(clientPort :mach_port_t;
    192                        modal :boolean_t);
    193 
    194 routine PCCheckIfAllowedToLoadURL(clientPort :mach_port_t;
    195                                   pluginID :uint32_t;
    196                                   url :data_t;
    197                                   target :data_t;
    198                                   out checkID :uint32_t);
    199 
    200 simpleroutine PCCancelCheckIfAllowedToLoadURL(clientPort :mach_port_t;
    201                                               pluginID :uint32_t;
    202                                               checkID :uint32_t);
    203 
    204 routine PCResolveURL(clientPort :mach_port_t;
    205                      pluginID :uint32_t;
    206                      url :data_t;
    207                      target :data_t;
    208                      out resolvedURL :data_t, dealloc);
    209 
    210 // Replies
    211 simpleroutine PCInstantiatePluginReply(clientPort :mach_port_t;
    212                                      pluginID :uint32_t;
    213                                      requestID :uint32_t;
    214                                      result :kern_return_t;
    215                                      renderContextID :uint32_t;
    216                                      rendererType :uint32_t);
    217 
    218 simpleroutine PCGetScriptableNPObjectReply(clientPort :mach_port_t;
    219                                          pluginID :uint32_t;
    220                                          requestID :uint32_t;
    221                                          objectID :uint32_t);
    222 
    223 simpleroutine PCBooleanReply(clientPort :mach_port_t;
    224                              pluginID :uint32_t;
    225                              requestID :uint32_t;
    226                              result :boolean_t);
    227 
    228 simpleroutine PCBooleanAndDataReply(clientPort :mach_port_t;
    229                                     pluginID :uint32_t;
    230                                     requestID :uint32_t;
    231                                     returnValue :boolean_t;
    232                                     result :data_t);
    233 
    234 simpleroutine PCSetFullscreenWindowIsShowing(clientPort :mach_port_t;
    235                                              isShowing :boolean_t);
    236 
    237 simpleroutine PCSetException(clientPort :mach_port_t;
    238                              message :data_t);
    239