Skip to content

Commit

Permalink
Cherry-pick 1b0e675. rdar://problem/110353926
Browse files Browse the repository at this point in the history
    Revert "[Xcode] Dependencies in preprocessed sandbox profiles not tracked"
    https://bugs.webkit.org/show_bug.cgi?id=257814
    rdar://110353926

    Unreviewed.

    Seems to be causing missing sandbox profiles on some Mac builds. Revert
    all commits landed under the bug:

        Revert "Restore iOS sandbox profile generation in engineering builds"
        This reverts commit c9a65a4.

        Revert "Add quoting for arrays containing whitespace paths in preprocess-sandbox-profile-rule.sh"
        This reverts commit 6f04c95.

        Revert "Fix whitespace-containing path in preprocess-sandbox-profile-rule.sh"
        This reverts commit 5f13e1c.

        Revert "[Xcode] Dependencies in preprocessed sandbox profiles not tracked"
        This reverts commit 40fd93b.

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

Canonical link: https://commits.webkit.org/264854.6@safari-7616.1.17-branch
  • Loading branch information
emw-apple authored and rjepstein committed Jun 7, 2023
1 parent 732cce4 commit 485a2cd
Show file tree
Hide file tree
Showing 7 changed files with 147 additions and 174 deletions.
10 changes: 2 additions & 8 deletions Source/WebKit/Configurations/SandboxProfiles.xcconfig
Original file line number Diff line number Diff line change
@@ -1,15 +1,9 @@
PRODUCT_NAME = SandboxProfiles

INSTALL_PATH = $(INSTALL_PATH_WK_INSTALL_OVERRIDE_SANDBOX_PROFILES_$(WK_INSTALL_OVERRIDE_SANDBOX_PROFILES));
INSTALL_PATH_WK_INSTALL_OVERRIDE_SANDBOX_PROFILES_ = $(INSTALL_PATH_WK_INSTALL_OVERRIDE_SANDBOX_PROFILES_NO);
INSTALL_PATH_WK_INSTALL_OVERRIDE_SANDBOX_PROFILES_NO = /usr/local/share/sandbox/profiles/embedded/builtin;
INSTALL_PATH_WK_INSTALL_OVERRIDE_SANDBOX_PROFILES_YES = /usr/local/share/sandbox;

// To support debug workflows, "install" profiles to BUILT_PRODUCTS_DIR during normal build actions.
WK_BUILT_PRODUCTS_PREFIX = $(WK_BUILT_PRODUCTS_PREFIX_$(DEPLOYMENT_LOCATION));
WK_BUILT_PRODUCTS_PREFIX_NO = $(BUILT_PRODUCTS_DIR);

APPLY_RULES_IN_COPY_FILES = YES;
INSTALLHDRS_SCRIPT_PHASE = YES;
INSTALLHDRS_COPY_PHASE = YES;

HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)$(WK_LIBRARY_HEADERS_FOLDER_PATH) $(SRCROOT);
HEADER_SEARCH_PATHS = $(SRCROOT)
5 changes: 2 additions & 3 deletions Source/WebKit/Configurations/WebKit.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -211,15 +211,13 @@ OTHER_TAPI_FLAGS_SRCROOT_YES = -Xparser -include -Xparser config.h;
SECTORDER_FLAGS = $(SECTORDER_FLAGS_$(CONFIGURATION));
SECTORDER_FLAGS_Production[sdk=macosx*] = -Wl,-order_file,mac/WebKit2.order;

EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_PRODUCT_DEPENDENCY_NAMES) $(EXCLUDED_IOS_RESOURCE_FILE_NAMES) $(EXCLUDED_SANDBOX_PROFILE_NAMES) $(EXCLUDED_MIGRATED_HEADERS_COCOA_TOUCH_$(WK_IS_COCOA_TOUCH));
EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_PRODUCT_DEPENDENCY_NAMES) $(EXCLUDED_IOS_RESOURCE_FILE_NAMES) $(EXCLUDED_MACOS_PLUGIN_FILE_NAMES) $(EXCLUDED_MIGRATED_HEADERS_COCOA_TOUCH_$(WK_IS_COCOA_TOUCH));
// These are only available in internal builds, so they must be explicitly ignored for the open-source build to succeed.
EXCLUDED_PRODUCT_DEPENDENCY_NAMES = libWebKitAdditions.a AuthenticationServicesCore.framework;
EXCLUDED_IOS_RESOURCE_FILE_NAMES = Resources/ios/*;
EXCLUDED_IOS_RESOURCE_FILE_NAMES[sdk=iphone*] = ;
EXCLUDED_MIGRATED_HEADERS_COCOA_TOUCH_YES = WebDynamicScrollBarsView.h WebEventRegion.h WebIconDatabase.h WebJavaScriptTextInputPanel.h WebNSEventExtras.h WebNSPasteboardExtras.h WebNSWindowExtras.h WebPanelAuthenticationHandler.h WebStringTruncator.h;
EXCLUDED_MIGRATED_HEADERS_COCOA_TOUCH_NO = AbstractPasteboard.h DOMHTMLTextAreaElementPrivate.h DOMUIKitExtensions.h KeyEventCodesIOS.h WAKAppKitStubs.h WAKResponder.h WAKView.h WAKWindow.h WebCaretChangeListener.h WebCoreThread.h WebCoreThreadMessage.h WebCoreThreadRun.h WebEvent.h WebEventRegion.h WebFixedPositionContent.h WebFrameIOS.h WebFrameIPhone.h WebGeolocationCoreLocationProvider.h WebGeolocationPrivate.h WebGeolocationProviderIOS.h WebItemProviderPasteboard.h WebMIMETypeRegistry.h WebNSStringExtrasIOS.h WebNSStringExtrasIPhone.h WebPDFViewIOS.h WebPDFViewIPhone.h WebPDFViewPlaceholder.h WebSelectionRect.h WebUIKitDelegate.h WebUIKitSupport.h WebVisiblePosition.h WKContentObservation.h WKGraphics.h WKTypes.h;
// iOS sandbox profiles are installed via a separate "Sandbox Profiles" target.
EXCLUDED_SANDBOX_PROFILE_NAMES[sdk=iphone*] = com.apple.WebKit.NetworkProcess.sb.in com.apple.WebKit.GPUProcess.sb.in com.apple.WebKit.webpushd.mac.sb.in com.apple.WebProcess.sb.in;

INCLUDED_SOURCE_FILE_NAMES = $(INCLUDED_MIGRATED_HEADERS_$(USE_INTERNAL_SDK)_$(WK_COCOA_TOUCH)) $(INCLUDED_MIGRATED_HEADERS_$(ENABLE_IOS_TOUCH_EVENTS));
// WebEventRegion.h is migrated when building for an iOS family target with an internal SDK...
Expand All @@ -233,6 +231,7 @@ WK_MAC_PUBLIC_IOS_PRIVATE_HEADERS_DIR = $(WK_MAC_PUBLIC_IOS_PRIVATE_HEADERS_DIR_
WK_MAC_PUBLIC_IOS_PRIVATE_HEADERS_DIR_ = $(PUBLIC_HEADERS_FOLDER_PATH);
WK_MAC_PUBLIC_IOS_PRIVATE_HEADERS_DIR_cocoatouch = $(PRIVATE_HEADERS_FOLDER_PATH);

EXCLUDED_MACOS_PLUGIN_FILE_NAMES[sdk=iphone*] = SecItemShim.dylib WebProcessShim.dylib *.pdf Resources/mac/* com.apple.WebKit.NetworkProcess.sb com.apple.WebKit.GPUProcess.sb com.apple.WebKit.webpushd.mac.sb com.apple.WebProcess.sb;

INSTALLHDRS_SCRIPT_PHASE = YES;
INSTALLHDRS_COPY_PHASE = YES;
Expand Down
12 changes: 12 additions & 0 deletions Source/WebKit/DerivedSources-input.xcfilelist
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ $(PROJECT_DIR)/GPUProcess/graphics/WebGPU/RemoteSurface.messages.in
$(PROJECT_DIR)/GPUProcess/graphics/WebGPU/RemoteSwapChain.messages.in
$(PROJECT_DIR)/GPUProcess/graphics/WebGPU/RemoteTexture.messages.in
$(PROJECT_DIR)/GPUProcess/graphics/WebGPU/RemoteTextureView.messages.in
$(PROJECT_DIR)/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in
$(PROJECT_DIR)/GPUProcess/media/AudioTrackPrivateRemoteConfiguration.serialization.in
$(PROJECT_DIR)/GPUProcess/media/InitializationSegmentInfo.serialization.in
$(PROJECT_DIR)/GPUProcess/media/MediaDescriptionInfo.serialization.in
Expand Down Expand Up @@ -127,6 +128,7 @@ $(PROJECT_DIR)/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.messa
$(PROJECT_DIR)/NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.messages.in
$(PROJECT_DIR)/NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.messages.in
$(PROJECT_DIR)/NetworkProcess/cache/CacheStorageEngineConnection.messages.in
$(PROJECT_DIR)/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in
$(PROJECT_DIR)/NetworkProcess/storage/NetworkStorageManager.messages.in
$(PROJECT_DIR)/NetworkProcess/webrtc/NetworkMDNSRegister.messages.in
$(PROJECT_DIR)/NetworkProcess/webrtc/NetworkRTCMonitor.messages.in
Expand All @@ -135,6 +137,13 @@ $(PROJECT_DIR)/NetworkProcess/webrtc/RTCDataChannelRemoteManagerProxy.messages.i
$(PROJECT_DIR)/PluginProcess/PluginControllerProxy.messages.in
$(PROJECT_DIR)/PluginProcess/PluginProcess.messages.in
$(PROJECT_DIR)/PluginProcess/WebProcessConnection.messages.in
$(PROJECT_DIR)/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in
$(PROJECT_DIR)/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in
$(PROJECT_DIR)/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in
$(PROJECT_DIR)/Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb.in
$(PROJECT_DIR)/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in
$(PROJECT_DIR)/Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.in
$(PROJECT_DIR)/Resources/SandboxProfiles/ios/com.apple.WebKit.webpushd.sb.in
$(PROJECT_DIR)/Scripts/PreferencesTemplates/WebPageUpdatePreferences.cpp.erb
$(PROJECT_DIR)/Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb
$(PROJECT_DIR)/Scripts/PreferencesTemplates/WebPreferencesFeatures.cpp.erb
Expand Down Expand Up @@ -344,6 +353,7 @@ $(PROJECT_DIR)/UIProcess/ios/WebDeviceOrientationUpdateProviderProxy.messages.in
$(PROJECT_DIR)/UIProcess/mac/SecItemShimProxy.messages.in
$(PROJECT_DIR)/WebAuthnProcess/WebAuthnConnectionToWebProcess.messages.in
$(PROJECT_DIR)/WebAuthnProcess/WebAuthnProcess.messages.in
$(PROJECT_DIR)/WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in
$(PROJECT_DIR)/WebProcess/ApplePay/WebPaymentCoordinator.messages.in
$(PROJECT_DIR)/WebProcess/Automation/WebAutomationSessionProxy.js
$(PROJECT_DIR)/WebProcess/Automation/WebAutomationSessionProxy.messages.in
Expand Down Expand Up @@ -442,6 +452,8 @@ $(PROJECT_DIR)/WebProcess/cocoa/PlaybackSessionManager.messages.in
$(PROJECT_DIR)/WebProcess/cocoa/RemoteCaptureSampleManager.messages.in
$(PROJECT_DIR)/WebProcess/cocoa/UserMediaCaptureManager.messages.in
$(PROJECT_DIR)/WebProcess/cocoa/VideoFullscreenManager.messages.in
$(PROJECT_DIR)/WebProcess/com.apple.WebProcess.sb.in
$(PROJECT_DIR)/webpushd/mac/com.apple.WebKit.webpushd.mac.sb.in
$(WEBCORE_PRIVATE_HEADERS_DIR)/CodeGenerator.pm
$(WEBCORE_PRIVATE_HEADERS_DIR)/IDLParser.pm
$(WEBCORE_PRIVATE_HEADERS_DIR)/generate-bindings.pl
12 changes: 12 additions & 0 deletions Source/WebKit/DerivedSources-output.xcfilelist
Original file line number Diff line number Diff line change
Expand Up @@ -486,4 +486,16 @@ $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/WebUserContentControllerMessageRecei
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/WebUserContentControllerMessages.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/WebUserContentControllerProxyMessageReceiver.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/WebUserContentControllerProxyMessages.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/com.apple.WebKit.GPU.sb
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/com.apple.WebKit.GPUProcess.sb
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/com.apple.WebKit.NetworkProcess.sb
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/com.apple.WebKit.Networking.sb
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/com.apple.WebKit.WebAuthn.sb
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/com.apple.WebKit.WebAuthnProcess.sb
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/com.apple.WebKit.WebContent.sb
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/com.apple.WebKit.adattributiond.sb
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/com.apple.WebKit.plugin-common.sb
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/com.apple.WebKit.webpushd.mac.sb
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/com.apple.WebKit.webpushd.sb
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/com.apple.WebProcess.sb
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/module.private.modulemap
27 changes: 27 additions & 0 deletions Source/WebKit/DerivedSources.make
Original file line number Diff line number Diff line change
Expand Up @@ -362,6 +362,33 @@ all : $(GENERATED_MESSAGES_FILES)
$(GENERATED_MESSAGES_FILES_AS_PATTERNS) : $(MESSAGES_IN_FILES) $(GENERATE_MESSAGE_RECEIVER_SCRIPTS)
$(PYTHON) $(GENERATE_MESSAGE_RECEIVER_SCRIPT) $(WebKit2) $(MESSAGE_RECEIVERS)

TEXT_PREPROCESSOR_FLAGS=-E -P -w

ifeq ($(USE_SYSTEM_CONTENT_PATH),YES)
SANDBOX_DEFINES = -DUSE_SYSTEM_CONTENT_PATH=1 -DSYSTEM_CONTENT_PATH=$(SYSTEM_CONTENT_PATH)
endif

SANDBOX_PROFILES = \
com.apple.WebProcess.sb \
com.apple.WebKit.NetworkProcess.sb \
com.apple.WebKit.GPUProcess.sb \
com.apple.WebKit.webpushd.mac.sb

SANDBOX_PROFILES_IOS = \
com.apple.WebKit.adattributiond.sb \
com.apple.WebKit.webpushd.sb \
com.apple.WebKit.GPU.sb \
com.apple.WebKit.Networking.sb \
com.apple.WebKit.WebContent.sb

sandbox-profiles-ios : $(SANDBOX_PROFILES_IOS)

all : $(SANDBOX_PROFILES) $(SANDBOX_PROFILES_IOS)

%.sb : %.sb.in
@echo Pre-processing $* sandbox profile...
grep -o '^[^;]*' $< | $(CC) $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(SANDBOX_DEFINES) $(TEXT_PREPROCESSOR_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) $(EXTERNAL_FLAGS) -include "wtf/Platform.h" - > $@

AUTOMATION_PROTOCOL_GENERATOR_SCRIPTS = \
$(JavaScriptCore_SCRIPTS_DIR)/cpp_generator_templates.py \
$(JavaScriptCore_SCRIPTS_DIR)/cpp_generator.py \
Expand Down
22 changes: 0 additions & 22 deletions Source/WebKit/Scripts/preprocess-sandbox-profile-rule.sh

This file was deleted.

Loading

0 comments on commit 485a2cd

Please sign in to comment.