APIPageConfiguration.h [plain text]
#ifndef APIPageConfiguration_h
#define APIPageConfiguration_h
#include "APIObject.h"
#include "WebPreferencesStore.h"
#include <WebCore/SessionID.h>
#include <wtf/Forward.h>
#include <wtf/GetPtr.h>
namespace WebKit {
class VisitedLinkStore;
class WebPageGroup;
class WebPageProxy;
class WebPreferences;
class WebProcessPool;
class WebUserContentControllerProxy;
}
namespace API {
class WebsiteDataStore;
class PageConfiguration : public ObjectImpl<Object::Type::PageConfiguration> {
public:
static Ref<PageConfiguration> create();
explicit PageConfiguration();
virtual ~PageConfiguration();
Ref<PageConfiguration> copy() const;
WebKit::WebProcessPool* processPool();
void setProcessPool(WebKit::WebProcessPool*);
WebKit::WebUserContentControllerProxy* userContentController();
void setUserContentController(WebKit::WebUserContentControllerProxy*);
WebKit::WebPageGroup* pageGroup();
void setPageGroup(WebKit::WebPageGroup*);
WebKit::WebPreferences* preferences();
void setPreferences(WebKit::WebPreferences*);
WebKit::WebPreferencesStore::ValueMap& preferenceValues() { return m_preferenceValues; }
WebKit::WebPageProxy* relatedPage();
void setRelatedPage(WebKit::WebPageProxy*);
WebKit::VisitedLinkStore* visitedLinkStore();
void setVisitedLinkStore(WebKit::VisitedLinkStore*);
WebsiteDataStore* websiteDataStore();
void setWebsiteDataStore(WebsiteDataStore*);
WebCore::SessionID sessionID();
void setSessionID(WebCore::SessionID);
bool treatsSHA1SignedCertificatesAsInsecure() { return m_treatsSHA1SignedCertificatesAsInsecure; }
void setTreatsSHA1SignedCertificatesAsInsecure(bool treatsSHA1SignedCertificatesAsInsecure) { m_treatsSHA1SignedCertificatesAsInsecure = treatsSHA1SignedCertificatesAsInsecure; }
#if PLATFORM(IOS)
bool alwaysRunsAtForegroundPriority() { return m_alwaysRunsAtForegroundPriority; }
void setAlwaysRunsAtForegroundPriority(bool alwaysRunsAtForegroundPriority) { m_alwaysRunsAtForegroundPriority = alwaysRunsAtForegroundPriority; }
#endif
bool initialCapitalizationEnabled() { return m_initialCapitalizationEnabled; }
void setInitialCapitalizationEnabled(bool initialCapitalizationEnabled) { m_initialCapitalizationEnabled = initialCapitalizationEnabled; }
std::optional<double> cpuLimit() const { return m_cpuLimit; }
void setCPULimit(double cpuLimit) { m_cpuLimit = cpuLimit; }
bool waitsForPaintAfterViewDidMoveToWindow() const { return m_waitsForPaintAfterViewDidMoveToWindow; }
void setWaitsForPaintAfterViewDidMoveToWindow(bool shouldSynchronize) { m_waitsForPaintAfterViewDidMoveToWindow = shouldSynchronize; }
bool isControlledByAutomation() const { return m_controlledByAutomation; }
void setControlledByAutomation(bool controlledByAutomation) { m_controlledByAutomation = controlledByAutomation; }
const WTF::String& overrideContentSecurityPolicy() const { return m_overrideContentSecurityPolicy; }
void setOverrideContentSecurityPolicy(const WTF::String& overrideContentSecurityPolicy) { m_overrideContentSecurityPolicy = overrideContentSecurityPolicy; }
private:
RefPtr<WebKit::WebProcessPool> m_processPool;
RefPtr<WebKit::WebUserContentControllerProxy> m_userContentController;
RefPtr<WebKit::WebPageGroup> m_pageGroup;
RefPtr<WebKit::WebPreferences> m_preferences;
WebKit::WebPreferencesStore::ValueMap m_preferenceValues;
RefPtr<WebKit::WebPageProxy> m_relatedPage;
RefPtr<WebKit::VisitedLinkStore> m_visitedLinkStore;
RefPtr<WebsiteDataStore> m_websiteDataStore;
WebCore::SessionID m_sessionID;
bool m_treatsSHA1SignedCertificatesAsInsecure = true;
#if PLATFORM(IOS)
bool m_alwaysRunsAtForegroundPriority = false;
#endif
bool m_initialCapitalizationEnabled = true;
bool m_waitsForPaintAfterViewDidMoveToWindow = true;
bool m_controlledByAutomation = false;
std::optional<double> m_cpuLimit;
WTF::String m_overrideContentSecurityPolicy;
};
}
#endif // APIPageConfiguration_h