Skip to content

Commit

Permalink
Migrate more ivars from WKWebViewConfiguration to API::PageConfiguration
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=270990
rdar://124627697

Reviewed by Charlie Wolfe.

This is another step towards moving the PageConfiguration creation to
platform-independent code in WebPageProxy::createNewPage.

* Source/WebKit/UIProcess/API/APIPageConfiguration.h:
(API::PageConfiguration::incrementalRenderingSuppressionTimeout const):
(API::PageConfiguration::setIncrementalRenderingSuppressionTimeout):
(API::PageConfiguration::allowsJavaScriptMarkup const):
(API::PageConfiguration::setAllowsJavaScriptMarkup):
(API::PageConfiguration::convertsPositionStyleOnCopy const):
(API::PageConfiguration::setConvertsPositionStyleOnCopy):
(API::PageConfiguration::allowsMetaRefresh const):
(API::PageConfiguration::setAllowsMetaRefresh):
(API::PageConfiguration::allowUniversalAccessFromFileURLs const):
(API::PageConfiguration::setAllowUniversalAccessFromFileURLs):
(API::PageConfiguration::allowTopNavigationToDataURLs const):
(API::PageConfiguration::setAllowTopNavigationToDataURLs):
(API::PageConfiguration::needsStorageAccessFromFileURLsQuirk const):
(API::PageConfiguration::setNeedsStorageAccessFromFileURLsQuirk):
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _incrementalRenderingSuppressionTimeout]):
(-[WKWebViewConfiguration _setIncrementalRenderingSuppressionTimeout:]):
(-[WKWebViewConfiguration _allowsJavaScriptMarkup]):
(-[WKWebViewConfiguration _setAllowsJavaScriptMarkup:]):
(-[WKWebViewConfiguration _allowUniversalAccessFromFileURLs]):
(-[WKWebViewConfiguration _setAllowUniversalAccessFromFileURLs:]):
(-[WKWebViewConfiguration _allowTopNavigationToDataURLs]):
(-[WKWebViewConfiguration _setAllowTopNavigationToDataURLs:]):
(-[WKWebViewConfiguration _convertsPositionStyleOnCopy]):
(-[WKWebViewConfiguration _setConvertsPositionStyleOnCopy:]):
(-[WKWebViewConfiguration _allowsMetaRefresh]):
(-[WKWebViewConfiguration _setAllowsMetaRefresh:]):
(-[WKWebViewConfiguration _needsStorageAccessFromFileURLsQuirk]):
(-[WKWebViewConfiguration _setNeedsStorageAccessFromFileURLsQuirk:]):

Canonical link: https://commits.webkit.org/276117@main
  • Loading branch information
achristensen07 committed Mar 14, 2024
1 parent 5b49cc7 commit e7bb5f0
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 37 deletions.
29 changes: 29 additions & 0 deletions Source/WebKit/UIProcess/API/APIPageConfiguration.h
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,27 @@ class PageConfiguration : public ObjectImpl<Object::Type::PageConfiguration> {
void setContextMenuQRCodeDetectionEnabled(bool enabled) { m_data.contextMenuQRCodeDetectionEnabled = enabled; }
#endif

double incrementalRenderingSuppressionTimeout() const { return m_data.incrementalRenderingSuppressionTimeout; }
void setIncrementalRenderingSuppressionTimeout(double timeout) { m_data.incrementalRenderingSuppressionTimeout = timeout; }

bool allowsJavaScriptMarkup() const { return m_data.allowsJavaScriptMarkup; }
void setAllowsJavaScriptMarkup(bool allows) { m_data.allowsJavaScriptMarkup = allows; }

bool convertsPositionStyleOnCopy() const { return m_data.convertsPositionStyleOnCopy; }
void setConvertsPositionStyleOnCopy(bool converts) { m_data.convertsPositionStyleOnCopy = converts; }

bool allowsMetaRefresh() const { return m_data.allowsMetaRefresh; }
void setAllowsMetaRefresh(bool allows) { m_data.allowsMetaRefresh = allows; }

bool allowUniversalAccessFromFileURLs() const { return m_data.allowUniversalAccessFromFileURLs; }
void setAllowUniversalAccessFromFileURLs(bool allow) { m_data.allowUniversalAccessFromFileURLs = allow; }

bool allowTopNavigationToDataURLs() const { return m_data.allowTopNavigationToDataURLs; }
void setAllowTopNavigationToDataURLs(bool allow) { m_data.allowTopNavigationToDataURLs = allow; }

bool needsStorageAccessFromFileURLsQuirk() const { return m_data.needsStorageAccessFromFileURLsQuirk; }
void setNeedsStorageAccessFromFileURLsQuirk(bool needs) { m_data.needsStorageAccessFromFileURLsQuirk = needs; }

void setShouldRelaxThirdPartyCookieBlocking(WebCore::ShouldRelaxThirdPartyCookieBlocking value) { m_data.shouldRelaxThirdPartyCookieBlocking = value; }
WebCore::ShouldRelaxThirdPartyCookieBlocking shouldRelaxThirdPartyCookieBlocking() const { return m_data.shouldRelaxThirdPartyCookieBlocking; }

Expand Down Expand Up @@ -320,6 +341,14 @@ class PageConfiguration : public ObjectImpl<Object::Type::PageConfiguration> {
bool contextMenuQRCodeDetectionEnabled { false };
#endif

double incrementalRenderingSuppressionTimeout { 5 };
bool allowsJavaScriptMarkup { true };
bool convertsPositionStyleOnCopy { false };
bool allowsMetaRefresh { true };
bool allowUniversalAccessFromFileURLs { false };
bool allowTopNavigationToDataURLs { false };
bool needsStorageAccessFromFileURLsQuirk { true };

WebCore::ShouldRelaxThirdPartyCookieBlocking shouldRelaxThirdPartyCookieBlocking { WebCore::ShouldRelaxThirdPartyCookieBlocking::No };
WTF::String attributedBundleIdentifier { };

Expand Down
51 changes: 14 additions & 37 deletions Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm
Original file line number Diff line number Diff line change
Expand Up @@ -133,12 +133,6 @@ @implementation WKWebViewConfiguration {
WeakObjCPtr<WKWebView> _alternateWebViewForNavigationGestures;
RetainPtr<NSString> _groupIdentifier;
std::optional<RetainPtr<NSString>> _applicationNameForUserAgent;
NSTimeInterval _incrementalRenderingSuppressionTimeout;
BOOL _allowsJavaScriptMarkup;
BOOL _convertsPositionStyleOnCopy;
BOOL _allowsMetaRefresh;
BOOL _allowUniversalAccessFromFileURLs;
BOOL _allowTopNavigationToDataURLs;

#if PLATFORM(IOS_FAMILY)
LazyInitialized<RetainPtr<WKWebViewContentProviderRegistry>> _contentProviderRegistry;
Expand All @@ -165,7 +159,6 @@ @implementation WKWebViewConfiguration {
#if ENABLE(APPLE_PAY)
BOOL _applePayEnabled;
#endif
BOOL _needsStorageAccessFromFileURLsQuirk;
BOOL _legacyEncryptedMediaAPIEnabled;
BOOL _allowMediaContentTypesRequiringHardwareSupportAsFallback;
BOOL _colorFilterEnabled;
Expand Down Expand Up @@ -226,14 +219,6 @@ - (instancetype)init
_allowsAirPlayForMediaPlayback = YES;
#endif

_incrementalRenderingSuppressionTimeout = 5;
_allowsJavaScriptMarkup = YES;
_convertsPositionStyleOnCopy = NO;
_allowsMetaRefresh = YES;
_allowUniversalAccessFromFileURLs = NO;
_allowTopNavigationToDataURLs = NO;
_needsStorageAccessFromFileURLsQuirk = YES;

#if PLATFORM(IOS_FAMILY)
_selectionGranularity = WKSelectionGranularityDynamic;
_dragLiftDelay = toDragLiftDelay([[NSUserDefaults standardUserDefaults] integerForKey:@"WebKitDebugDragLiftDelay"]);
Expand Down Expand Up @@ -396,13 +381,6 @@ - (id)copyWithZone:(NSZone *)zone
configuration->_suppressesIncrementalRendering = self->_suppressesIncrementalRendering;
configuration->_applicationNameForUserAgent = self->_applicationNameForUserAgent;

configuration->_incrementalRenderingSuppressionTimeout = self->_incrementalRenderingSuppressionTimeout;
configuration->_allowsJavaScriptMarkup = self->_allowsJavaScriptMarkup;
configuration->_convertsPositionStyleOnCopy = self->_convertsPositionStyleOnCopy;
configuration->_allowsMetaRefresh = self->_allowsMetaRefresh;
configuration->_allowUniversalAccessFromFileURLs = self->_allowUniversalAccessFromFileURLs;
configuration->_allowTopNavigationToDataURLs = self->_allowTopNavigationToDataURLs;

configuration->_invisibleAutoplayNotPermitted = self->_invisibleAutoplayNotPermitted;
configuration->_mediaDataLoadsAutomatically = self->_mediaDataLoadsAutomatically;
configuration->_attachmentElementEnabled = self->_attachmentElementEnabled;
Expand Down Expand Up @@ -435,7 +413,6 @@ - (id)copyWithZone:(NSZone *)zone
#if ENABLE(APPLE_PAY)
configuration->_applePayEnabled = self->_applePayEnabled;
#endif
configuration->_needsStorageAccessFromFileURLsQuirk = self->_needsStorageAccessFromFileURLsQuirk;

configuration->_mediaContentTypesRequiringHardwareSupport = adoptNS([self._mediaContentTypesRequiringHardwareSupport copyWithZone:zone]);
configuration->_additionalSupportedImageTypes = adoptNS([self->_additionalSupportedImageTypes copyWithZone:zone]);
Expand Down Expand Up @@ -735,62 +712,62 @@ - (void)_setPrintsBackgrounds:(BOOL)printsBackgrounds

- (NSTimeInterval)_incrementalRenderingSuppressionTimeout
{
return _incrementalRenderingSuppressionTimeout;
return _pageConfiguration->incrementalRenderingSuppressionTimeout();
}

- (void)_setIncrementalRenderingSuppressionTimeout:(NSTimeInterval)incrementalRenderingSuppressionTimeout
{
_incrementalRenderingSuppressionTimeout = incrementalRenderingSuppressionTimeout;
_pageConfiguration->setIncrementalRenderingSuppressionTimeout(incrementalRenderingSuppressionTimeout);
}

- (BOOL)_allowsJavaScriptMarkup
{
return _allowsJavaScriptMarkup;
return _pageConfiguration->allowsJavaScriptMarkup();
}

- (void)_setAllowsJavaScriptMarkup:(BOOL)allowsJavaScriptMarkup
{
_allowsJavaScriptMarkup = allowsJavaScriptMarkup;
_pageConfiguration->setAllowsJavaScriptMarkup(allowsJavaScriptMarkup);
}

- (BOOL)_allowUniversalAccessFromFileURLs
{
return _allowUniversalAccessFromFileURLs;
return _pageConfiguration->allowUniversalAccessFromFileURLs();
}

- (void)_setAllowUniversalAccessFromFileURLs:(BOOL)allowUniversalAccessFromFileURLs
{
_allowUniversalAccessFromFileURLs = allowUniversalAccessFromFileURLs;
_pageConfiguration->setAllowUniversalAccessFromFileURLs(allowUniversalAccessFromFileURLs);
}

- (BOOL)_allowTopNavigationToDataURLs
{
return _allowTopNavigationToDataURLs;
return _pageConfiguration->allowTopNavigationToDataURLs();
}

- (void)_setAllowTopNavigationToDataURLs:(BOOL)allowTopNavigationToDataURLs
{
_allowTopNavigationToDataURLs = allowTopNavigationToDataURLs;
_pageConfiguration->setAllowTopNavigationToDataURLs(allowTopNavigationToDataURLs);
}

- (BOOL)_convertsPositionStyleOnCopy
{
return _convertsPositionStyleOnCopy;
return _pageConfiguration->convertsPositionStyleOnCopy();
}

- (void)_setConvertsPositionStyleOnCopy:(BOOL)convertsPositionStyleOnCopy
{
_convertsPositionStyleOnCopy = convertsPositionStyleOnCopy;
_pageConfiguration->setConvertsPositionStyleOnCopy(convertsPositionStyleOnCopy);
}

- (BOOL)_allowsMetaRefresh
{
return _allowsMetaRefresh;
return _pageConfiguration->allowsMetaRefresh();
}

- (void)_setAllowsMetaRefresh:(BOOL)allowsMetaRefresh
{
_allowsMetaRefresh = allowsMetaRefresh;
_pageConfiguration->setAllowsMetaRefresh(allowsMetaRefresh);
}

- (BOOL)_clientNavigationsRunAtForegroundPriority
Expand Down Expand Up @@ -1307,12 +1284,12 @@ - (void)_setApplePayEnabled:(BOOL)applePayEnabled

- (BOOL)_needsStorageAccessFromFileURLsQuirk
{
return _needsStorageAccessFromFileURLsQuirk;
return _pageConfiguration->needsStorageAccessFromFileURLsQuirk();
}

- (void)_setNeedsStorageAccessFromFileURLsQuirk:(BOOL)needsLocalStorageQuirk
{
_needsStorageAccessFromFileURLsQuirk = needsLocalStorageQuirk;
_pageConfiguration->setNeedsStorageAccessFromFileURLsQuirk(needsLocalStorageQuirk);
}

- (NSString *)_overrideContentSecurityPolicy
Expand Down

0 comments on commit e7bb5f0

Please sign in to comment.