[webkit-changes] [WebKit/WebKit] ecce65: API::PageConfiguration::copy() is error-prone

Chris Dumez noreply at github.com
Tue May 30 11:46:43 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ecce6504d149b63d13a78cda3b352b240d2569c4
      https://github.com/WebKit/WebKit/commit/ecce6504d149b63d13a78cda3b352b240d2569c4
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M Source/WebKit/UIProcess/API/APIPageConfiguration.cpp
    M Source/WebKit/UIProcess/API/APIPageConfiguration.h

  Log Message:
  -----------
  API::PageConfiguration::copy() is error-prone
https://bugs.webkit.org/show_bug.cgi?id=257402

Reviewed by Sihui Liu.

API::PageConfiguration::copy() is error-prone as it is too easy to add a data
member and forget to copy it in this function (Like in 264609 at main).

Refactor the class so that API::PageConfiguration::copy() no longer needs
updating when adding new data members.

* Source/WebKit/UIProcess/API/APIPageConfiguration.cpp:
(API::PageConfiguration::copy const):
(API::PageConfiguration::processPool):
(API::PageConfiguration::setProcessPool):
(API::PageConfiguration::userContentController):
(API::PageConfiguration::setUserContentController):
(API::PageConfiguration::webExtensionController):
(API::PageConfiguration::setWebExtensionController):
(API::PageConfiguration::weakWebExtensionController):
(API::PageConfiguration::setWeakWebExtensionController):
(API::PageConfiguration::pageGroup):
(API::PageConfiguration::setPageGroup):
(API::PageConfiguration::preferences):
(API::PageConfiguration::setPreferences):
(API::PageConfiguration::relatedPage const):
(API::PageConfiguration::setRelatedPage):
(API::PageConfiguration::pageToCloneSessionStorageFrom const):
(API::PageConfiguration::setPageToCloneSessionStorageFrom):
(API::PageConfiguration::visitedLinkStore):
(API::PageConfiguration::setVisitedLinkStore):
(API::PageConfiguration::websiteDataStore):
(API::PageConfiguration::setWebsiteDataStore):
(API::PageConfiguration::defaultWebsitePolicies const):
(API::PageConfiguration::setDefaultWebsitePolicies):
(API::PageConfiguration::urlSchemeHandlerForURLScheme):
(API::PageConfiguration::setURLSchemeHandlerForURLScheme):
(API::PageConfiguration::lockdownModeEnabled const):
(API::PageConfiguration::setDelaysWebProcessLaunchUntilFirstLoad):
(API::PageConfiguration::delaysWebProcessLaunchUntilFirstLoad const):
(API::PageConfiguration::isLockdownModeExplicitlySet const):
(API::PageConfiguration::applicationManifest const):
(API::PageConfiguration::setApplicationManifest):
(API::PageConfiguration::PageConfiguration): Deleted.
* Source/WebKit/UIProcess/API/APIPageConfiguration.h:
(API::PageConfiguration::clientNavigationsRunAtForegroundPriority const):
(API::PageConfiguration::setClientNavigationsRunAtForegroundPriority):
(API::PageConfiguration::canShowWhileLocked const):
(API::PageConfiguration::setCanShowWhileLocked):
(API::PageConfiguration::clickInteractionDriverForTesting const):
(API::PageConfiguration::setClickInteractionDriverForTesting):
(API::PageConfiguration::initialCapitalizationEnabled):
(API::PageConfiguration::setInitialCapitalizationEnabled):
(API::PageConfiguration::cpuLimit const):
(API::PageConfiguration::setCPULimit):
(API::PageConfiguration::waitsForPaintAfterViewDidMoveToWindow const):
(API::PageConfiguration::setWaitsForPaintAfterViewDidMoveToWindow):
(API::PageConfiguration::drawsBackground const):
(API::PageConfiguration::setDrawsBackground):
(API::PageConfiguration::isControlledByAutomation const):
(API::PageConfiguration::setControlledByAutomation):
(API::PageConfiguration::overrideContentSecurityPolicy const):
(API::PageConfiguration::setOverrideContentSecurityPolicy):
(API::PageConfiguration::additionalSupportedImageTypes const):
(API::PageConfiguration::setAdditionalSupportedImageTypes):
(API::PageConfiguration::urlSchemeHandlers):
(API::PageConfiguration::corsDisablingPatterns const):
(API::PageConfiguration::setCORSDisablingPatterns):
(API::PageConfiguration::maskedURLSchemes const):
(API::PageConfiguration::setMaskedURLSchemes):
(API::PageConfiguration::userScriptsShouldWaitUntilNotification const):
(API::PageConfiguration::setUserScriptsShouldWaitUntilNotification):
(API::PageConfiguration::crossOriginAccessControlCheckEnabled const):
(API::PageConfiguration::setCrossOriginAccessControlCheckEnabled):
(API::PageConfiguration::processDisplayName const):
(API::PageConfiguration::setProcessDisplayName):
(API::PageConfiguration::loadsSubresources const):
(API::PageConfiguration::setLoadsSubresources):
(API::PageConfiguration::allowedNetworkHosts const):
(API::PageConfiguration::setAllowedNetworkHosts):
(API::PageConfiguration::ignoresAppBoundDomains const):
(API::PageConfiguration::setIgnoresAppBoundDomains):
(API::PageConfiguration::limitsNavigationsToAppBoundDomains const):
(API::PageConfiguration::setLimitsNavigationsToAppBoundDomains):
(API::PageConfiguration::setMediaCaptureEnabled):
(API::PageConfiguration::mediaCaptureEnabled const):
(API::PageConfiguration::setHTTPSUpgradeEnabled):
(API::PageConfiguration::httpsUpgradeEnabled const):
(API::PageConfiguration::setShouldRelaxThirdPartyCookieBlocking):
(API::PageConfiguration::shouldRelaxThirdPartyCookieBlocking const):
(API::PageConfiguration::setAttributedBundleIdentifier):
(API::PageConfiguration::attributedBundleIdentifier const):
(API::PageConfiguration::appInitiatedOverrideValueForTesting const):
(API::PageConfiguration::setAppInitiatedOverrideValueForTesting):
(API::PageConfiguration::requiresUserActionForEditingControlsManager const):
(API::PageConfiguration::setRequiresUserActionForEditingControlsManager):
(API::PageConfiguration::setAllowTestOnlyIPC):
(API::PageConfiguration::allowTestOnlyIPC const):
(API::PageConfiguration::setContentSecurityPolicyModeForExtension):
(API::PageConfiguration::contentSecurityPolicyModeForExtension const):

Canonical link: https://commits.webkit.org/264689@main




More information about the webkit-changes mailing list