blob: 15fc5fae332321603cb87610767155f1a088c890 [file] [log] [blame]
/*
* Copyright (C) 2008 Apple Inc. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <WebKit/WebKitPluginHostTypes.defs>
// FIXME: Come up with a better name.
subsystem WebKitPluginClient 300;
serverprefix WK;
userprefix _WK;
simpleroutine PCStatusText(clientPort :mach_port_t;
pluginID :uint32_t;
text :data_t);
routine PCLoadURL(clientPort :mach_port_t;
pluginID :uint32_t;
url :data_t;
target :data_t;
postData :data_t;
flags: uint32_t;
out resultCode :uint16_t;
out requestID :uint32_t);
simpleroutine PCCancelLoadURL(clientPort :mach_port_t;
pluginID :uint32_t;
streamID :uint32_t;
reason :int16_t);
simpleroutine PCInvalidateRect(clientPort :mach_port_t;
pluginID :uint32_t;
x :double;
y :double;
width :double;
height :double);
routine PCGetCookies(clientPort :mach_port_t;
pluginID :uint32_t;
url :data_t;
out returnValue :boolean_t;
out cookies :data_t, dealloc);
routine PCSetCookies(clientPort :mach_port_t;
pluginID :uint32_t;
url :data_t;
cookies :data_t;
out returnValue :boolean_t);
routine PCGetProxy(clientPort :mach_port_t;
pluginID :uint32_t;
url :data_t;
out returnValue :boolean_t;
out proxy :data_t, dealloc);
routine PCGetAuthenticationInfo(clientPort :mach_port_t;
pluginID :uint32_t;
protocol :data_t;
host :data_t;
port :uint32_t;
scheme :data_t;
realm :data_t;
out returnValue :boolean_t;
out username :data_t, dealloc;
out password :data_t, dealloc);
routine PCConvertPoint(clientPort :mach_port_t;
pluginID :uint32_t;
sourceX :double;
sourceY :double;
sourceSpace :uint32_t;
destSpace :uint32_t;
out returnValue :boolean_t;
out destX :double;
out destY :double);
// NPRuntime
routine PCGetStringIdentifier(clientPort :mach_port_t;
name :data_t;
out identifier :uint64_t);
routine PCGetIntIdentifier(clientPort :mach_port_t;
value :int32_t;
out identifier: uint64_t);
routine PCGetWindowNPObject(clientPort :mach_port_t;
pluginID :uint32_t;
out objectID :uint32_t);
routine PCGetPluginElementNPObject(clientPort :mach_port_t;
pluginID :uint32_t;
out objectID :uint32_t);
routine PCForgetBrowserObject(clientPort :mach_port_t;
pluginID :uint32_t;
objectID :uint32_t);
simpleroutine PCEvaluate(clientPort :mach_port_t;
pluginID :uint32_t;
requestID :uint32_t;
objectID :uint32_t;
script :data_t;
allowPopups :boolean_t);
simpleroutine PCInvoke(clientPort :mach_port_t;
pluginID :uint32_t;
requestID :uint32_t;
objectID :uint32_t;
methodNameIdentifier :uint64_t;
arguments :data_t);
simpleroutine PCInvokeDefault(clientPort :mach_port_t;
pluginID :uint32_t;
requestID :uint32_t;
objectID :uint32_t;
arguments :data_t);
routine PCConstruct(clientPort :mach_port_t;
pluginID :uint32_t;
objectID :uint32_t;
arguments :data_t;
out returnValue :boolean_t;
out result :data_t, dealloc);
simpleroutine PCGetProperty(clientPort :mach_port_t;
pluginID :uint32_t;
requestID :uint32_t;
objectID :uint32_t;
propertyNameIdentifier :uint64_t);
simpleroutine PCSetProperty(clientPort :mach_port_t;
pluginID :uint32_t;
requestID :uint32_t;
objectID :uint32_t;
propertyNameIdentifier :uint64_t;
value :data_t);
simpleroutine PCRemoveProperty(clientPort :mach_port_t;
pluginID :uint32_t;
requestID :uint32_t;
objectID :uint32_t;
propertyNameIdentifier :uint64_t);
simpleroutine PCHasProperty(clientPort :mach_port_t;
pluginID :uint32_t;
requestID :uint32_t;
objectID :uint32_t;
propertyNameIdentifier :uint64_t);
simpleroutine PCHasMethod(clientPort :mach_port_t;
pluginID :uint32_t;
requestID :uint32_t;
objectID :uint32_t;
methodNameIdentifier :uint64_t);
routine PCIdentifierInfo(clientPort :mach_port_t;
identifier :uint64_t;
out info :data_t, dealloc);
simpleroutine PCEnumerate(clientPort :mach_port_t;
pluginID :uint32_t;
requestID :uint32_t;
objectID :uint32_t);
// Misc
simpleroutine PCSetMenuBarVisible(clientPort :mach_port_t;
visible :boolean_t);
simpleroutine PCSetModal(clientPort :mach_port_t;
modal :boolean_t);
routine PCCheckIfAllowedToLoadURL(clientPort :mach_port_t;
pluginID :uint32_t;
url :data_t;
target :data_t;
out checkID :uint32_t);
simpleroutine PCCancelCheckIfAllowedToLoadURL(clientPort :mach_port_t;
pluginID :uint32_t;
checkID :uint32_t);
routine PCResolveURL(clientPort :mach_port_t;
pluginID :uint32_t;
url :data_t;
target :data_t;
out resolvedURL :data_t, dealloc);
// Replies
simpleroutine PCInstantiatePluginReply(clientPort :mach_port_t;
pluginID :uint32_t;
requestID :uint32_t;
result :kern_return_t;
renderContextID :uint32_t;
rendererType :uint32_t);
simpleroutine PCGetScriptableNPObjectReply(clientPort :mach_port_t;
pluginID :uint32_t;
requestID :uint32_t;
objectID :uint32_t);
simpleroutine PCBooleanReply(clientPort :mach_port_t;
pluginID :uint32_t;
requestID :uint32_t;
result :boolean_t);
simpleroutine PCBooleanAndDataReply(clientPort :mach_port_t;
pluginID :uint32_t;
requestID :uint32_t;
returnValue :boolean_t;
result :data_t);
simpleroutine PCSetFullscreenWindowIsShowing(clientPort :mach_port_t;
isShowing :boolean_t);
simpleroutine PCSetException(clientPort :mach_port_t;
message :data_t);