blob: b1a34a4df1d2d82598aca6cf8454eb4fa1cde6f0 [file] [log] [blame]
andersca@apple.com5eb521c2010-11-03 17:17:21 +00001/*
2 * Copyright (C) 2010 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. AND ITS CONTRIBUTORS ``AS IS''
14 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23 * THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
26#ifndef PluginProcessCreationParameters_h
27#define PluginProcessCreationParameters_h
28
andersca@apple.com4bff8a52013-09-18 22:45:06 +000029#if ENABLE(NETSCAPE_PLUGIN_API)
andersca@apple.com5eb521c2010-11-03 17:17:21 +000030
carlosgc@webkit.org6b170fb2016-07-18 09:04:10 +000031#include "Attachment.h"
andersca@apple.com31b00cd2013-05-21 22:54:21 +000032#include "PluginProcessAttributes.h"
cdumez@apple.com7d7fe74a2017-04-10 08:02:21 +000033#include <wtf/Seconds.h>
andersca@apple.com5eb521c2010-11-03 17:17:21 +000034
mitz@apple.com111c4e82014-02-11 18:00:45 +000035#if PLATFORM(COCOA)
andersca@apple.com098ca3e2014-12-19 21:48:38 +000036#include <WebCore/MachSendRight.h>
andersca@apple.com5eb521c2010-11-03 17:17:21 +000037#endif
38
andersca@apple.com69388f02013-12-30 20:20:02 +000039namespace IPC {
andersca@apple.com5ecb5312016-08-20 00:11:17 +000040class Decoder;
andersca@apple.comf7c9ab22016-08-19 22:52:59 +000041class Encoder;
andersca@apple.com5eb521c2010-11-03 17:17:21 +000042}
43
44namespace WebKit {
45
46struct PluginProcessCreationParameters {
47 PluginProcessCreationParameters();
48
andersca@apple.comf7c9ab22016-08-19 22:52:59 +000049 void encode(IPC::Encoder&) const;
andersca@apple.com5ecb5312016-08-20 00:11:17 +000050 static bool decode(IPC::Decoder&, PluginProcessCreationParameters&);
andersca@apple.com5eb521c2010-11-03 17:17:21 +000051
andersca@apple.com31b00cd2013-05-21 22:54:21 +000052 PluginProcessType processType;
beidson@apple.com8f83e942012-08-06 23:42:36 +000053 bool supportsAsynchronousPluginInitialization;
andersca@apple.com5eb521c2010-11-03 17:17:21 +000054
cdumez@apple.com7d7fe74a2017-04-10 08:02:21 +000055 Seconds minimumLifetime;
56 Seconds terminationTimeout;
ap@apple.comf9727c82012-08-31 23:27:27 +000057
mitz@apple.com111c4e82014-02-11 18:00:45 +000058#if PLATFORM(COCOA)
andersca@apple.com098ca3e2014-12-19 21:48:38 +000059 WebCore::MachSendRight acceleratedCompositingPort;
mitz@apple.com07cf6942015-10-10 20:05:53 +000060#if TARGET_OS_IPHONE || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100)
oliver@apple.com7fae0742015-03-27 19:04:28 +000061 RetainPtr<CFDataRef> networkATSContext;
62#endif
andersca@apple.com5eb521c2010-11-03 17:17:21 +000063#endif
carlosgc@webkit.org6b170fb2016-07-18 09:04:10 +000064#if OS(LINUX)
65 IPC::Attachment memoryPressureMonitorHandle;
66#endif
andersca@apple.com5eb521c2010-11-03 17:17:21 +000067};
68
69} // namespace WebKit
70
andersca@apple.com4bff8a52013-09-18 22:45:06 +000071#endif // ENABLE(NETSCAPE_PLUGIN_API)
andersca@apple.com5eb521c2010-11-03 17:17:21 +000072
73#endif // PluginProcessCreationParameters_h