PluginProcessCreationParameters.cpp [plain text]
#include "config.h"
#include "PluginProcessCreationParameters.h"
#if ENABLE(NETSCAPE_PLUGIN_API)
#if PLATFORM(COCOA)
#include "ArgumentCodersCF.h"
#endif
#include "WebCoreArgumentCoders.h"
namespace WebKit {
PluginProcessCreationParameters::PluginProcessCreationParameters()
: supportsAsynchronousPluginInitialization(false)
{
}
void PluginProcessCreationParameters::encode(IPC::Encoder& encoder) const
{
encoder.encodeEnum(processType);
encoder << supportsAsynchronousPluginInitialization;
encoder << minimumLifetime;
encoder << terminationTimeout;
#if PLATFORM(COCOA)
encoder << acceleratedCompositingPort;
IPC::encode(encoder, networkATSContext.get());
#endif
#if OS(LINUX)
encoder << memoryPressureMonitorHandle;
#endif
}
bool PluginProcessCreationParameters::decode(IPC::Decoder& decoder, PluginProcessCreationParameters& result)
{
if (!decoder.decodeEnum(result.processType))
return false;
if (!decoder.decode(result.supportsAsynchronousPluginInitialization))
return false;
if (!decoder.decode(result.minimumLifetime))
return false;
if (!decoder.decode(result.terminationTimeout))
return false;
#if PLATFORM(COCOA)
if (!decoder.decode(result.acceleratedCompositingPort))
return false;
if (!IPC::decode(decoder, result.networkATSContext))
return false;
#endif
#if OS(LINUX)
if (!decoder.decode(result.memoryPressureMonitorHandle))
return false;
#endif
return true;
}
}
#endif // ENABLE(NETSCAPE_PLUGIN_API)