WebProcessCreationParameters.h [plain text]
#ifndef WebProcessCreationParameters_h
#define WebProcessCreationParameters_h
#include "CacheModel.h"
#include "SandboxExtension.h"
#include "TextCheckerState.h"
#include <wtf/RetainPtr.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
#include <wtf/text/WTFString.h>
#if PLATFORM(MAC)
#include "MachPort.h"
#endif
#if USE(SOUP)
#include "HTTPCookieAcceptPolicy.h"
#endif
namespace CoreIPC {
class ArgumentDecoder;
class ArgumentEncoder;
}
namespace WebKit {
struct WebProcessCreationParameters {
WebProcessCreationParameters();
void encode(CoreIPC::ArgumentEncoder&) const;
static bool decode(CoreIPC::ArgumentDecoder&, WebProcessCreationParameters&);
String injectedBundlePath;
SandboxExtension::Handle injectedBundlePathExtensionHandle;
String applicationCacheDirectory;
SandboxExtension::Handle applicationCacheDirectoryExtensionHandle;
String databaseDirectory;
SandboxExtension::Handle databaseDirectoryExtensionHandle;
String localStorageDirectory;
SandboxExtension::Handle localStorageDirectoryExtensionHandle;
String diskCacheDirectory;
SandboxExtension::Handle diskCacheDirectoryExtensionHandle;
String cookieStorageDirectory;
SandboxExtension::Handle cookieStorageDirectoryExtensionHandle;
Vector<String> urlSchemesRegistererdAsEmptyDocument;
Vector<String> urlSchemesRegisteredAsSecure;
Vector<String> urlSchemesForWhichDomainRelaxationIsForbidden;
Vector<String> urlSchemesRegisteredAsLocal;
Vector<String> urlSchemesRegisteredAsNoAccess;
Vector<String> urlSchemesRegisteredAsDisplayIsolated;
Vector<String> urlSchemesRegisteredAsCORSEnabled;
#if ENABLE(CUSTOM_PROTOCOLS)
Vector<String> urlSchemesRegisteredForCustomProtocols;
#endif
#if USE(SOUP)
Vector<String> urlSchemesRegistered;
String cookiePersistentStoragePath;
uint32_t cookiePersistentStorageType;
HTTPCookieAcceptPolicy cookieAcceptPolicy;
bool ignoreTLSErrors;
#endif
CacheModel cacheModel;
bool shouldTrackVisitedLinks;
bool shouldAlwaysUseComplexTextCodePath;
bool shouldUseFontSmoothing;
bool iconDatabaseEnabled;
double terminationTimeout;
Vector<String> languages;
TextCheckerState textCheckerState;
bool fullKeyboardAccessEnabled;
double defaultRequestTimeoutInterval;
#if PLATFORM(MAC) || USE(CFNETWORK)
String uiProcessBundleIdentifier;
#endif
#if PLATFORM(MAC)
pid_t presenterApplicationPid;
bool accessibilityEnhancedUserInterfaceEnabled;
uint64_t nsURLCacheMemoryCapacity;
uint64_t nsURLCacheDiskCapacity;
CoreIPC::MachPort acceleratedCompositingPort;
String uiProcessBundleResourcePath;
SandboxExtension::Handle uiProcessBundleResourcePathExtensionHandle;
bool shouldForceScreenFontSubstitution;
bool shouldEnableKerningAndLigaturesByDefault;
#endif // PLATFORM(MAC)
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
HashMap<String, bool> notificationPermissions;
#endif
#if ENABLE(NETWORK_PROCESS)
bool usesNetworkProcess;
#endif
HashMap<unsigned, double> plugInAutoStartOriginHashes;
Vector<String> plugInAutoStartOrigins;
bool memoryCacheDisabled;
};
}
#endif // WebProcessCreationParameters_h