[Cocoa] Use the non-Development variants of XPC services for development
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 29 Jan 2016 02:02:46 +0000 (02:02 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 29 Jan 2016 02:02:46 +0000 (02:02 +0000)
https://bugs.webkit.org/show_bug.cgi?id=152545

Reviewed by Darin Adler.

Source/WebKit2:

The purpose of the Development variants of the WebKit XPC services is to allow the service
to link against the development WebKit dylibs rather than the system ones. Instead, we
accomplish this here by including dyld environment load commands in the normal services
when the WebKit dylibs are expected to be relocated. A new build setting,
WK_RELOCATABLE_FRAMEWORKS, controls this.

To make it easy to identify engineering builds of the services at runtime, they can be
given a distinctive suffix. A new build setting, WK_XPC_SERVICE_SUFFIX, controls this.

* Configurations/DebugRelease.xcconfig: Set WK_RELOCATABLE_FRAMEWORKS to YES and
  WK_XPC_SERVICE_SUFFIX to ".Development".

* Configurations/BaseTarget.xcconfig: Make the quoted value of the WK_XPC_SERVICE_SUFFIX
  build setting available as a preprocessor macro.

* Configurations/BaseXPCService.xcconfig:
  - Simplify the definition of INSTALL_PATH now that there are no Development variants.
  - Define WK_RELOCATABLE_FRAMEWORKS_LDFLAGS when building relocatable frameworks to include
    -dyld_env options setting DYLD_FRAMEWORK_PATH to point to the directory containing
    WebKit.framework and DYLD_LIBRARY_PATH to the framework’\80\99s Frameworks subdirectory. When
    not building relocatable frameworks, define WK_RELOCATABLE_FRAMEWORKS_LDFLAGS to include
    a -headerpad option allowing dyld environment load commands to be added after the fact.
  - Add WK_RELOCATABLE_FRAMEWORKS_LDFLAGS to OTHER_LDFLAGS.
  - Define WK_XPC_SERVICE_INSERT_LIBRARIES_DIR when building relocatable frameworks to be
    the path to the Frameworks subdirectory of the WebKit framework containing the service.
    When not building relocatable frameworks, define it to the absolute path of the
    Frameworks subdirectory of the installed WebKit framework.

* Configurations/DatabaseService.xcconfig: Append WK_XPC_SERVICE_SUFFIX to PRODUCT_NAME,
  and remove no-longer-used definition of WK_XPC_SERVICE_VARIANT.
* Configurations/NetworkService.xcconfig: Append WK_XPC_SERVICE_SUFFIX to PRODUCT_NAME, add
  WK_RELOCATABLE_FRAMEWORKS_LDFLAGS to OTHER_LDFLAGS, and remove no-longer-used definition
  of WK_XPC_SERVICE_VARIANT.
* Configurations/PluginService.32.xcconfig: Ditto.
* Configurations/PluginService.64.xcconfig: Ditto.
* Configurations/WebContentService.xcconfig: Ditto.

* Configurations/DatabaseService.Development.xcconfig: Removed.
* Configurations/NetworkService.Development.xcconfig: Removed.
* Configurations/PluginService.32.Development.xcconfig: Removed.
* Configurations/PluginService.64.Development.xcconfig: Removed.
* Configurations/WebContentService.Development.xcconfig: Removed.

* DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development: Removed.
* DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist: Removed.
* DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist: Set
  CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix.

* NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development: Removed.
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-OSX.plist: Removed.
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist: Removed.
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX-10.9-10.10.plist: Set
  CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix. Use
  WK_XPC_SERVICE_INSERT_LIBRARIES_DIR in the value of DYLD_INSERT_LIBRARIES.
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist: Set
  CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix.
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist: Ditto.

* PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64-10.9-10.10.Info.plist: Ditto.
* PluginProcess/EntryPoint/mac/XPCService/PluginService.Development: Removed.
* PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist: Removed.

* WebProcess/EntryPoint/mac/XPCService/WebContentService.Development: Removed.
* WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist: Removed.
* WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist: Removed.
* WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist: Set
  CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix. Use
  WK_XPC_SERVICE_INSERT_LIBRARIES_DIR in the value of DYLD_INSERT_LIBRARIES.
* WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist: Set
  CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix.
* WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist: Ditto.

* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm: Removed.

* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceEventHandler): If stdout and stderr file descriptors are included in the
  bootstrap message, hook them up to the serviceâ\80\99s stdout and stderr, like the Development
  services do.
(main): Moved code from XPCServiceMain.Development.mm to handle the optional
  OverrideLanguages array.

* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::addDYLDEnvironmentAdditions): Addressed a FIXME.
(WebKit::serviceName): Removed forDevelopment argument and .Development service names.
  Added WK_XPC_SERVICE_SUFFIX to the names.
(WebKit::connectToService): Updated for removal of forDevelopment argument. Removed
  "framework-executable-path" key from the bootstrap message, because it was only used in
  the Development variants.
(WebKit::connectToReExecService): Deleted.
(WebKit::createService): Removed call to connectToReExecService. Instead pass forDevelopment
  to connectToService.

* WebKit2.xcodeproj/project.pbxproj: Removed references to removed files. Removed targets
  for Development services. Removed Development services from script build phase that copies
  services into the framework in engineering builds, and made it respect
  WK_XPC_SERVICE_SUFFIX.

Tools:

* Scripts/webkitdirs.pm:
(setUpGuardMallocIfNeeded): Ensure that libgmalloc is loaded into XPC services as well.

* Scripts/webkitpy/port/driver.py:
(Driver._setup_environ_for_driver): Ensure that the DYLD_LIBRARY_PATH and ASAN_OPTIONS are
  set in the XPC services as well.

* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.setup_environ_for_server): Ensure that malloc stack logging for leaks and
  Guard Malloc are enabled in XPC services as well.

* Scripts/webkitpy/port/mac.py:
(MacPort.setup_environ_for_server): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195795 268f45cc-cd09-0410-ab3c-d52691b4dbfc

37 files changed:
Source/WebKit2/ChangeLog
Source/WebKit2/Configurations/BaseTarget.xcconfig
Source/WebKit2/Configurations/BaseXPCService.xcconfig
Source/WebKit2/Configurations/DatabaseService.Development.xcconfig [deleted file]
Source/WebKit2/Configurations/DatabaseService.xcconfig
Source/WebKit2/Configurations/DebugRelease.xcconfig
Source/WebKit2/Configurations/NetworkService.Development.xcconfig [deleted file]
Source/WebKit2/Configurations/NetworkService.xcconfig
Source/WebKit2/Configurations/PluginService.32.Development.xcconfig [deleted file]
Source/WebKit2/Configurations/PluginService.32.xcconfig
Source/WebKit2/Configurations/PluginService.64.Development.xcconfig [deleted file]
Source/WebKit2/Configurations/PluginService.64.xcconfig
Source/WebKit2/Configurations/WebContentService.Development.xcconfig [deleted file]
Source/WebKit2/Configurations/WebContentService.xcconfig
Source/WebKit2/DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist [deleted file]
Source/WebKit2/DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist
Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-OSX.plist [deleted file]
Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist [deleted file]
Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX-10.9-10.10.plist
Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist
Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist
Source/WebKit2/PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64-10.9-10.10.Info.plist
Source/WebKit2/PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist [deleted file]
Source/WebKit2/Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm [deleted file]
Source/WebKit2/Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm
Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm
Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist [deleted file]
Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist [deleted file]
Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist
Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist
Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist
Tools/ChangeLog
Tools/Scripts/webkitdirs.pm
Tools/Scripts/webkitpy/port/driver.py
Tools/Scripts/webkitpy/port/ios.py
Tools/Scripts/webkitpy/port/mac.py

index f8ec89b..961228a 100644 (file)
@@ -1,3 +1,107 @@
+2016-01-28  Dan Bernstein  <mitz@apple.com>
+
+        [Cocoa] Use the non-Development variants of XPC services for development
+        https://bugs.webkit.org/show_bug.cgi?id=152545
+
+        Reviewed by Darin Adler.
+
+        The purpose of the Development variants of the WebKit XPC services is to allow the service
+        to link against the development WebKit dylibs rather than the system ones. Instead, we
+        accomplish this here by including dyld environment load commands in the normal services
+        when the WebKit dylibs are expected to be relocated. A new build setting,
+        WK_RELOCATABLE_FRAMEWORKS, controls this.
+
+        To make it easy to identify engineering builds of the services at runtime, they can be
+        given a distinctive suffix. A new build setting, WK_XPC_SERVICE_SUFFIX, controls this.
+
+        * Configurations/DebugRelease.xcconfig: Set WK_RELOCATABLE_FRAMEWORKS to YES and
+          WK_XPC_SERVICE_SUFFIX to ".Development".
+
+        * Configurations/BaseTarget.xcconfig: Make the quoted value of the WK_XPC_SERVICE_SUFFIX
+          build setting available as a preprocessor macro.
+
+        * Configurations/BaseXPCService.xcconfig:
+          - Simplify the definition of INSTALL_PATH now that there are no Development variants.
+          - Define WK_RELOCATABLE_FRAMEWORKS_LDFLAGS when building relocatable frameworks to include
+            -dyld_env options setting DYLD_FRAMEWORK_PATH to point to the directory containing
+            WebKit.framework and DYLD_LIBRARY_PATH to the framework’\80\99s Frameworks subdirectory. When
+            not building relocatable frameworks, define WK_RELOCATABLE_FRAMEWORKS_LDFLAGS to include
+            a -headerpad option allowing dyld environment load commands to be added after the fact.
+          - Add WK_RELOCATABLE_FRAMEWORKS_LDFLAGS to OTHER_LDFLAGS.
+          - Define WK_XPC_SERVICE_INSERT_LIBRARIES_DIR when building relocatable frameworks to be
+            the path to the Frameworks subdirectory of the WebKit framework containing the service.
+            When not building relocatable frameworks, define it to the absolute path of the
+            Frameworks subdirectory of the installed WebKit framework.
+
+        * Configurations/DatabaseService.xcconfig: Append WK_XPC_SERVICE_SUFFIX to PRODUCT_NAME,
+          and remove no-longer-used definition of WK_XPC_SERVICE_VARIANT.
+        * Configurations/NetworkService.xcconfig: Append WK_XPC_SERVICE_SUFFIX to PRODUCT_NAME, add
+          WK_RELOCATABLE_FRAMEWORKS_LDFLAGS to OTHER_LDFLAGS, and remove no-longer-used definition
+          of WK_XPC_SERVICE_VARIANT.
+        * Configurations/PluginService.32.xcconfig: Ditto.
+        * Configurations/PluginService.64.xcconfig: Ditto.
+        * Configurations/WebContentService.xcconfig: Ditto.
+
+        * Configurations/DatabaseService.Development.xcconfig: Removed.
+        * Configurations/NetworkService.Development.xcconfig: Removed.
+        * Configurations/PluginService.32.Development.xcconfig: Removed.
+        * Configurations/PluginService.64.Development.xcconfig: Removed.
+        * Configurations/WebContentService.Development.xcconfig: Removed.
+
+        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development: Removed.
+        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist: Removed.
+        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist: Set
+          CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix.
+
+        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development: Removed.
+        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-OSX.plist: Removed.
+        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist: Removed.
+        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX-10.9-10.10.plist: Set
+          CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix. Use
+          WK_XPC_SERVICE_INSERT_LIBRARIES_DIR in the value of DYLD_INSERT_LIBRARIES.
+        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist: Set
+          CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix.
+        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist: Ditto.
+
+        * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64-10.9-10.10.Info.plist: Ditto.
+        * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development: Removed.
+        * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist: Removed.
+
+        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development: Removed.
+        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist: Removed.
+        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist: Removed.
+        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist: Set
+          CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix. Use
+          WK_XPC_SERVICE_INSERT_LIBRARIES_DIR in the value of DYLD_INSERT_LIBRARIES.
+        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist: Set
+          CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix.
+        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist: Ditto.
+
+        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm: Removed.
+
+        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
+        (WebKit::XPCServiceEventHandler): If stdout and stderr file descriptors are included in the
+          bootstrap message, hook them up to the serviceâ\80\99s stdout and stderr, like the Development
+          services do.
+        (main): Moved code from XPCServiceMain.Development.mm to handle the optional
+          OverrideLanguages array.
+
+        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+        (WebKit::addDYLDEnvironmentAdditions): Addressed a FIXME.
+        (WebKit::serviceName): Removed forDevelopment argument and .Development service names.
+          Added WK_XPC_SERVICE_SUFFIX to the names.
+        (WebKit::connectToService): Updated for removal of forDevelopment argument. Removed
+          "framework-executable-path" key from the bootstrap message, because it was only used in
+          the Development variants.
+        (WebKit::connectToReExecService): Deleted.
+        (WebKit::createService): Removed call to connectToReExecService. Instead pass forDevelopment
+          to connectToService.
+
+        * WebKit2.xcodeproj/project.pbxproj: Removed references to removed files. Removed targets
+          for Development services. Removed Development services from script build phase that copies
+          services into the framework in engineering builds, and made it respect
+          WK_XPC_SERVICE_SUFFIX.
+
 2016-01-28  Enrica Casucci  <enrica@apple.com>
 
         Should avoid navigation for some data detector urls.
index 86c176b..cc947b9 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2010 Apple Inc. All rights reserved.
+// Copyright (C) 2010, 2012-2016 Apple Inc. All rights reserved.
 //
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions
@@ -29,7 +29,7 @@ FRAMEWORK_SEARCH_PATHS[sdk=iphone*] = $(FRAMEWORK_SEARCH_PATHS_base) $(SDKROOT)$
 FRAMEWORK_SEARCH_PATHS = $(FRAMEWORK_SEARCH_PATHS_base);
 
 GCC_PREFIX_HEADER = WebKit2Prefix.h;
-GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) $(FEATURE_DEFINES) $(WK_MANUAL_SANDBOXING_DEFINES) FRAMEWORK_NAME=WebKit
+GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) $(FEATURE_DEFINES) $(WK_MANUAL_SANDBOXING_DEFINES) WK_XPC_SERVICE_SUFFIX=\"$(WK_XPC_SERVICE_SUFFIX)\" FRAMEWORK_NAME=WebKit;
 WEBKITADDITIONS_HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include/WebKitAdditions $(SDKROOT)/usr/local/include/WebKitAdditions;
 HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include "$(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders" "$(WEBCORE_PRIVATE_HEADERS_DIR)/icu" $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2 $(WEBKITADDITIONS_HEADER_SEARCH_PATHS) $(HEADER_SEARCH_PATHS);
 
index 8cfb0ae..e53ca77 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2012, 2013 Apple Inc. All rights reserved.
+// Copyright (C) 2012-2016 Apple Inc. All rights reserved.
 //
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions
 
 #include "BaseTarget.xcconfig"
 
-INSTALL_PATH = $(INSTALL_PATH_$(WK_XPC_SERVICE_VARIANT));
-
-INSTALL_PATH_Normal[sdk=iphone*] = $(WEBKIT_FRAMEWORKS_DIR)/WebKit.framework/XPCServices;
-INSTALL_PATH_Normal[sdk=macosx*] = $(WEBKIT_FRAMEWORKS_DIR)/WebKit.framework/Versions/A/XPCServices;
-
-INSTALL_PATH_Development = $(APPLE_INTERNAL_DIR)/WebKit/XPCServicesForDevelopment;
+INSTALL_PATH[sdk=iphone*] = $(WEBKIT_FRAMEWORKS_DIR)/WebKit.framework/XPCServices;
+INSTALL_PATH[sdk=macosx*] = $(WEBKIT_FRAMEWORKS_DIR)/WebKit.framework/Versions/A/XPCServices;
 
 APP_ICON = $(APP_ICON_$(CONFIGURATION));
 APP_ICON_Debug = WebKit.icns;
@@ -43,7 +39,16 @@ EXCLUDED_SOURCE_FILE_NAMES[sdk=iphone*] = $(EXCLUDED_SOURCE_FILE_NAMES_$(CONFIGU
 WRAPPER_EXTENSION = xpc;
 MACH_O_TYPE = mh_execute;
 
-OTHER_LDFLAGS = $(inherited) $(OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH);
+OTHER_LDFLAGS = $(inherited) $(OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH) $(WK_RELOCATABLE_FRAMEWORKS_LDFLAGS);
+
+WK_RELOCATABLE_FRAMEWORKS_LDFLAGS = $(WK_RELOCATABLE_FRAMEWORKS_LDFLAGS_$(WK_RELOCATABLE_FRAMEWORKS));
+WK_RELOCATABLE_FRAMEWORKS_LDFLAGS_ = $(WK_RELOCATABLE_FRAMEWORKS_LDFLAGS_NO);
+WK_RELOCATABLE_FRAMEWORKS_LDFLAGS_NO = -Wl,-headerpad,0xC0; // Leave room for adding the dyld environment commands to a service that wasn't built for relocatable frameworks.
+WK_RELOCATABLE_FRAMEWORKS_LDFLAGS_YES = -Wl,-dyld_env,DYLD_FRAMEWORK_PATH=@executable_path/$(WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORK)/..,-dyld_env,DYLD_LIBRARY_PATH=@executable_path/$(WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORK)/Frameworks;
+
+WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORK = $(WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORK_SHALLOW_BUNDLE_$(SHALLOW_BUNDLE));
+WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORK_SHALLOW_BUNDLE_NO = ../../../../../..;
+WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORK_SHALLOW_BUNDLE_YES = ../..;
 
 CODE_SIGN_ENTITLEMENTS[sdk=iphone*] = $(CODE_SIGN_ENTITLEMENTS_IOS_SKIP_INSTALL_$(SKIP_INSTALL));
 
@@ -57,3 +62,8 @@ CODE_SIGN_ENTITLEMENTS_IOS_MANUAL_SANDBOXING_YES = $(BUILT_PRODUCTS_DIR)/Derived
 
 WK_XPC_SERVICE_INFOPLIST_SUFFIX[sdk=macosx*] = $(WK_XPC_SERVICE_INFOPLIST_SUFFIX_$(TARGET_MAC_OS_X_VERSION_MAJOR));
 WK_XPC_SERVICE_INFOPLIST_SUFFIX_101000 = -10.9-10.10;
+
+WK_XPC_SERVICE_INSERT_LIBRARIES_DIR = $(WK_XPC_SERVICE_INSERT_LIBRARIES_DIR_$(WK_RELOCATABLE_FRAMEWORKS));
+WK_XPC_SERVICE_INSERT_LIBRARIES_DIR_ = $(WK_XPC_SERVICE_INSERT_LIBRARIES_DIR_NO);
+WK_XPC_SERVICE_INSERT_LIBRARIES_DIR_NO = $(WEBKIT_FRAMEWORKS_DIR)/WebKit.framework/Frameworks;
+WK_XPC_SERVICE_INSERT_LIBRARIES_DIR_YES = @executable_path/$(WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORK)/Frameworks;
diff --git a/Source/WebKit2/Configurations/DatabaseService.Development.xcconfig b/Source/WebKit2/Configurations/DatabaseService.Development.xcconfig
deleted file mode 100644 (file)
index ac996e4..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (C) 2013 Apple Inc. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-//    notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-//    notice, this list of conditions and the following disclaimer in the
-//    documentation and/or other materials provided with the distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
-// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-// PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
-// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#include "BaseXPCService.xcconfig"
-
-WK_XPC_SERVICE_VARIANT = Development;
-WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE = Databases-iOS;
-
-PRODUCT_NAME = com.apple.WebKit.Databases.Development;
-INFOPLIST_FILE = DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist;
index c42425f..af453cd 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2013 Apple Inc. All rights reserved.
+// Copyright (C) 2013-2016 Apple Inc. All rights reserved.
 //
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions
@@ -23,8 +23,7 @@
 
 #include "BaseXPCService.xcconfig"
 
-WK_XPC_SERVICE_VARIANT = Normal;
 WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE = Databases-iOS;
 
-PRODUCT_NAME = com.apple.WebKit.Databases;
+PRODUCT_NAME = com.apple.WebKit.Databases$(WK_XPC_SERVICE_SUFFIX);
 INFOPLIST_FILE = DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist;
index b543e1b..5d40c29 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2009, 2013, 2014 Apple Inc. All rights reserved.
+// Copyright (C) 2009, 2013-2016 Apple Inc. All rights reserved.
 //
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions
@@ -48,3 +48,6 @@ SDKROOT_macosx_ = macosx;
 SDKROOT_macosx_YES = macosx.internal;
 
 WK_MANUAL_SANDBOXING_ENABLED[sdk=iphoneos*] = YES;
+
+WK_RELOCATABLE_FRAMEWORKS = YES;
+WK_XPC_SERVICE_SUFFIX = .Development;
diff --git a/Source/WebKit2/Configurations/NetworkService.Development.xcconfig b/Source/WebKit2/Configurations/NetworkService.Development.xcconfig
deleted file mode 100644 (file)
index 57b31be..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (C) 2013 Apple Inc. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-//    notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-//    notice, this list of conditions and the following disclaimer in the
-//    documentation and/or other materials provided with the distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
-// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-// PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
-// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
-
-#include "BaseXPCService.xcconfig"
-
-WK_XPC_SERVICE_VARIANT = Development;
-WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE = Network-iOS;
-
-PRODUCT_NAME = com.apple.WebKit.Networking.Development;
-INFOPLIST_FILE[sdk=iphone*] = NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist;
-INFOPLIST_FILE[sdk=macosx*] = NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-OSX.plist;
index d56e7da..6524229 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2012, 2013 Apple Inc. All rights reserved.
+// Copyright (C) 2012-2016 Apple Inc. All rights reserved.
 //
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions
 
 #include "BaseXPCService.xcconfig"
 
-WK_XPC_SERVICE_VARIANT = Normal;
 WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE = Network-iOS;
 
-PRODUCT_NAME = com.apple.WebKit.Networking;
+PRODUCT_NAME = com.apple.WebKit.Networking$(WK_XPC_SERVICE_SUFFIX);
 INFOPLIST_FILE[sdk=iphone*] = NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist;
 INFOPLIST_FILE[sdk=macosx*] = NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX$(WK_XPC_SERVICE_INFOPLIST_SUFFIX).plist;
 
-OTHER_LDFLAGS = $(inherited) $(OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH) $(OTHER_LDFLAGS_SHIM_$(WK_LINK_SHIM));
+OTHER_LDFLAGS = $(inherited) $(OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH) $(OTHER_LDFLAGS_SHIM_$(WK_LINK_SHIM)) $(WK_RELOCATABLE_FRAMEWORKS_LDFLAGS);
 OTHER_LDFLAGS_SHIM_YES = $(BUILT_PRODUCTS_DIR)/SecItemShim.dylib;
diff --git a/Source/WebKit2/Configurations/PluginService.32.Development.xcconfig b/Source/WebKit2/Configurations/PluginService.32.Development.xcconfig
deleted file mode 100644 (file)
index 58671d4..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright (C) 2013 Apple Inc. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-//    notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-//    notice, this list of conditions and the following disclaimer in the
-//    documentation and/or other materials provided with the distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
-// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-// PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
-// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
-
-#include "BaseXPCService.xcconfig"
-
-WK_XPC_SERVICE_VARIANT = Development;
-
-VALID_ARCHS[sdk=macosx*] = $(VALID_ARCHS_macosx_$(ONLY_ACTIVE_ARCH));
-VALID_ARCHS_macosx_YES = $(VALID_ARCHS);
-VALID_ARCHS_macosx_NO = i386;
-
-PRODUCT_NAME = com.apple.WebKit.Plugin.32.Development;
-INFOPLIST_FILE = PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist;
-
-CODE_SIGN_ENTITLEMENTS = Configurations/PluginService.entitlements;
-
-SKIP_INSTALL[sdk=iphone*] = YES;
-
-OTHER_LDFLAGS = $(inherited) $(OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH) $(OTHER_LDFLAGS_PLATFORM);
-OTHER_LDFLAGS_PLATFORM[sdk=macosx*] = -framework AppKit;
index f93dd84..0a96b64 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2013 Apple Inc. All rights reserved.
+// Copyright (C) 2013-2016 Apple Inc. All rights reserved.
 //
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions
 
 #include "BaseXPCService.xcconfig"
 
-WK_XPC_SERVICE_VARIANT = Normal;
-
 VALID_ARCHS[sdk=macosx*] = $(VALID_ARCHS_macosx_$(ONLY_ACTIVE_ARCH));
 VALID_ARCHS_macosx_YES = $(VALID_ARCHS);
 VALID_ARCHS_macosx_NO = i386;
 
-PRODUCT_NAME = com.apple.WebKit.Plugin.32;
+PRODUCT_NAME = com.apple.WebKit.Plugin.32$(WK_XPC_SERVICE_SUFFIX);
 INFOPLIST_FILE = PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64$(WK_XPC_SERVICE_INFOPLIST_SUFFIX).Info.plist;
 
-OTHER_LDFLAGS = $(OTHER_LDFLAGS) $(OTHER_LDFLAGS_PLATFORM) $(OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH);
+OTHER_LDFLAGS = $(OTHER_LDFLAGS) $(OTHER_LDFLAGS_PLATFORM) $(OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH) $(WK_RELOCATABLE_FRAMEWORKS_LDFLAGS);
 OTHER_LDFLAGS_PLATFORM[sdk=macosx*] = -framework AppKit $(OTHER_LDFLAGS_SHIM_$(WK_LINK_SHIM));
 OTHER_LDFLAGS_SHIM_YES = $(BUILT_PRODUCTS_DIR)/PluginProcessShim.dylib;
 
diff --git a/Source/WebKit2/Configurations/PluginService.64.Development.xcconfig b/Source/WebKit2/Configurations/PluginService.64.Development.xcconfig
deleted file mode 100644 (file)
index 98b3283..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright (C) 2013 Apple Inc. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-//    notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-//    notice, this list of conditions and the following disclaimer in the
-//    documentation and/or other materials provided with the distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
-// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-// PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
-// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
-
-#include "BaseXPCService.xcconfig"
-
-WK_XPC_SERVICE_VARIANT = Development;
-
-VALID_ARCHS[sdk=macosx*] = $(VALID_ARCHS_macosx_$(ONLY_ACTIVE_ARCH));
-VALID_ARCHS_macosx_YES = $(VALID_ARCHS);
-VALID_ARCHS_macosx_NO = x86_64;
-
-PRODUCT_NAME = com.apple.WebKit.Plugin.64.Development;
-INFOPLIST_FILE = PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist;
-
-CODE_SIGN_ENTITLEMENTS = Configurations/PluginService.entitlements;
-
-SKIP_INSTALL[sdk=iphone*] = YES;
-
-OTHER_LDFLAGS = $(inherited) $(OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH) $(OTHER_LDFLAGS_PLATFORM);
-OTHER_LDFLAGS_PLATFORM[sdk=macosx*] = -framework AppKit;
index 42134bd..5157f05 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2013 Apple Inc. All rights reserved.
+// Copyright (C) 2013-2016 Apple Inc. All rights reserved.
 //
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions
 
 #include "BaseXPCService.xcconfig"
 
-WK_XPC_SERVICE_VARIANT = Normal;
-
 VALID_ARCHS[sdk=macosx*] = $(VALID_ARCHS_macosx_$(ONLY_ACTIVE_ARCH));
 VALID_ARCHS_macosx_YES = $(VALID_ARCHS);
 VALID_ARCHS_macosx_NO = x86_64;
 
-PRODUCT_NAME = com.apple.WebKit.Plugin.64;
+PRODUCT_NAME = com.apple.WebKit.Plugin.64$(WK_XPC_SERVICE_SUFFIX);
 INFOPLIST_FILE = PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64$(WK_XPC_SERVICE_INFOPLIST_SUFFIX).Info.plist;
 
-OTHER_LDFLAGS = $(OTHER_LDFLAGS) $(OTHER_LDFLAGS_PLATFORM) $(OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH);
+OTHER_LDFLAGS = $(OTHER_LDFLAGS) $(OTHER_LDFLAGS_PLATFORM) $(OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH) $(WK_RELOCATABLE_FRAMEWORKS_LDFLAGS);
 OTHER_LDFLAGS_PLATFORM[sdk=macosx*] = -framework AppKit $(OTHER_LDFLAGS_SHIM_$(WK_LINK_SHIM));
 OTHER_LDFLAGS_SHIM_YES = $(BUILT_PRODUCTS_DIR)/PluginProcessShim.dylib;
 
diff --git a/Source/WebKit2/Configurations/WebContentService.Development.xcconfig b/Source/WebKit2/Configurations/WebContentService.Development.xcconfig
deleted file mode 100644 (file)
index 929d47c..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright (C) 2012-2014 Apple Inc. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-//    notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-//    notice, this list of conditions and the following disclaimer in the
-//    documentation and/or other materials provided with the distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
-// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-// PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
-// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
-
-#include "BaseXPCService.xcconfig"
-
-WK_XPC_SERVICE_VARIANT = Development;
-WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE = WebContent-iOS;
-
-PRODUCT_NAME = com.apple.WebKit.WebContent.Development;
-INFOPLIST_FILE[sdk=iphone*] = WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist;
-INFOPLIST_FILE[sdk=macosx*] = WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist;
-
-OTHER_LDFLAGS = $(inherited) $(OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH) $(OTHER_LDFLAGS_PLATFORM);
-OTHER_LDFLAGS_PLATFORM[sdk=macosx*] = -framework AppKit;
index dca00cf..cdf2fb5 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2014 Apple Inc. All rights reserved.
+// Copyright (C) 2012-2016 Apple Inc. All rights reserved.
 //
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions
 
 #include "BaseXPCService.xcconfig"
 
-WK_XPC_SERVICE_VARIANT = Normal;
 WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE = WebContent-iOS;
 
-PRODUCT_NAME = com.apple.WebKit.WebContent;
+PRODUCT_NAME = com.apple.WebKit.WebContent$(WK_XPC_SERVICE_SUFFIX);
 INFOPLIST_FILE[sdk=iphone*] = WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist;
 INFOPLIST_FILE[sdk=macosx*] = WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX$(WK_XPC_SERVICE_INFOPLIST_SUFFIX).plist;
 
-OTHER_LDFLAGS = $(inherited) $(OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH) $(OTHER_LDFLAGS_PLATFORM);
+OTHER_LDFLAGS = $(inherited) $(OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH) $(OTHER_LDFLAGS_PLATFORM) $(WK_RELOCATABLE_FRAMEWORKS_LDFLAGS);
 OTHER_LDFLAGS_PLATFORM[sdk=macosx*] = -framework AppKit $(OTHER_LDFLAGS_SHIM_$(WK_LINK_SHIM));
 OTHER_LDFLAGS_SHIM_YES = $(BUILT_PRODUCTS_DIR)/WebProcessShim.dylib;
diff --git a/Source/WebKit2/DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist b/Source/WebKit2/DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist
deleted file mode 100644 (file)
index d81dfc8..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>${EXECUTABLE_NAME}</string>
-       <key>CFBundleGetInfoString</key>
-       <string>${BUNDLE_VERSION}, Copyright 2003-2016 Apple Inc.</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.apple.WebKit.Databases.Development</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundleName</key>
-       <string>${PRODUCT_NAME}</string>
-       <key>CFBundlePackageType</key>
-       <string>XPC!</string>
-       <key>CFBundleShortVersionString</key>
-       <string>${SHORT_VERSION_STRING}</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>${BUNDLE_VERSION}</string>
-       <key>LSFileQuarantineEnabled</key>
-       <true/>
-       <key>LSUIElement</key>
-       <true/>
-       <key>WebKitEntryPoint</key>
-       <string>DatabaseServiceInitializer</string>
-       <key>XPCService</key>
-       <dict>
-               <key>RunLoopType</key>
-               <string>NSRunLoop</string>
-               <key>ServiceType</key>
-               <string>Application</string>
-               <key>_MultipleInstances</key>
-               <true/>
-       </dict>
-</dict>
-</plist>
index 1eac163..c3e2213 100644 (file)
@@ -9,7 +9,7 @@
        <key>CFBundleExecutable</key>
        <string>${EXECUTABLE_NAME}</string>
        <key>CFBundleIdentifier</key>
-       <string>com.apple.WebKit.Databases</string>
+       <string>${PRODUCT_NAME}</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundleName</key>
diff --git a/Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-OSX.plist b/Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-OSX.plist
deleted file mode 100644 (file)
index 2f25a98..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleGetInfoString</key>
-       <string>${BUNDLE_VERSION}, Copyright 2003-2016 Apple Inc.</string>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>${EXECUTABLE_NAME}</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.apple.WebKit.Networking.Development</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundleName</key>
-       <string>${PRODUCT_NAME}</string>
-       <key>CFBundlePackageType</key>
-       <string>XPC!</string>
-       <key>CFBundleShortVersionString</key>
-       <string>${SHORT_VERSION_STRING}</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>${BUNDLE_VERSION}</string>
-       <key>LSFileQuarantineEnabled</key>
-       <true/>
-       <key>NSPrincipalClass</key>
-       <string>NSApplication</string>
-       <key>WebKitEntryPoint</key>
-       <string>NetworkServiceInitializer</string>
-       <key>LSUIElement</key>
-       <true/>
-       <key>XPCService</key>
-       <dict>
-               <key>ServiceType</key>
-               <string>Application</string>
-               <key>JoinExistingSession</key>
-               <true/>
-               <key>RunLoopType</key>
-               <string>NSRunLoop</string>
-               <key>_MultipleInstances</key>
-               <true/>
-       </dict>
-</dict>
-</plist>
diff --git a/Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist b/Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist
deleted file mode 100644 (file)
index 4c8a8e3..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleGetInfoString</key>
-       <string>${BUNDLE_VERSION}, Copyright 2003-2016 Apple Inc.</string>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>${EXECUTABLE_NAME}</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.apple.WebKit.Networking.Development</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundleName</key>
-       <string>${PRODUCT_NAME}</string>
-       <key>CFBundlePackageType</key>
-       <string>XPC!</string>
-       <key>CFBundleShortVersionString</key>
-       <string>${SHORT_VERSION_STRING}</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>${BUNDLE_VERSION}</string>
-       <key>LSFileQuarantineEnabled</key>
-       <true/>
-       <key>NSPrincipalClass</key>
-       <string>NSApplication</string>
-       <key>WebKitEntryPoint</key>
-       <string>NetworkServiceInitializer</string>
-       <key>LSUIElement</key>
-       <true/>
-       <key>XPCService</key>
-       <dict>
-               <key>ServiceType</key>
-               <string>Application</string>
-               <key>RunLoopType</key>
-               <string>NSRunLoop</string>
-               <key>_MultipleInstances</key>
-               <true/>
-       </dict>
-</dict>
-</plist>
index 30083f5..630f1b8 100644 (file)
@@ -9,7 +9,7 @@
        <key>CFBundleExecutable</key>
        <string>${EXECUTABLE_NAME}</string>
        <key>CFBundleIdentifier</key>
-       <string>com.apple.WebKit.Networking</string>
+       <string>${PRODUCT_NAME}</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundleName</key>
@@ -43,7 +43,7 @@
                <key>EnvironmentVariables</key>
                <dict>
                        <key>DYLD_INSERT_LIBRARIES</key>
-                       <string>$(WEBKIT_FRAMEWORKS_DIR)/WebKit.framework/Frameworks/SecItemShim.dylib</string>
+                       <string>$(WK_XPC_SERVICE_INSERT_LIBRARIES_DIR)/SecItemShim.dylib</string>
                </dict>
        </dict>
 </dict>
index a09b63f..e96093d 100644 (file)
@@ -9,7 +9,7 @@
        <key>CFBundleExecutable</key>
        <string>${EXECUTABLE_NAME}</string>
        <key>CFBundleIdentifier</key>
-       <string>com.apple.WebKit.Networking</string>
+       <string>${PRODUCT_NAME}</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundleName</key>
index b1f8527..3379392 100644 (file)
@@ -9,7 +9,7 @@
        <key>CFBundleExecutable</key>
        <string>${EXECUTABLE_NAME}</string>
        <key>CFBundleIdentifier</key>
-       <string>com.apple.WebKit.Networking</string>
+       <string>${PRODUCT_NAME}</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundleName</key>
index 1f81981..fcb1e41 100644 (file)
@@ -49,7 +49,7 @@
                <key>EnvironmentVariables</key>
                <dict>
                        <key>DYLD_INSERT_LIBRARIES</key>
-                       <string>$(WEBKIT_FRAMEWORKS_DIR)/WebKit.framework/Frameworks/PluginProcessShim.dylib</string>
+                       <string>$(WK_XPC_SERVICE_INSERT_LIBRARIES_DIR)/PluginProcessShim.dylib</string>
                        <key>NSStringDisableTagged</key>
                        <string>YES</string>
                </dict>
diff --git a/Source/WebKit2/PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist b/Source/WebKit2/PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist
deleted file mode 100644 (file)
index 6f50031..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleGetInfoString</key>
-       <string>${BUNDLE_VERSION}, Copyright 2003-2016 Apple Inc.</string>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>${EXECUTABLE_NAME}</string>
-       <key>CFBundleIdentifier</key>
-       <string>${PRODUCT_NAME}</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundleName</key>
-       <string>${PRODUCT_NAME}</string>
-       <key>CFBundlePackageType</key>
-       <string>XPC!</string>
-       <key>CFBundleShortVersionString</key>
-       <string>${SHORT_VERSION_STRING}</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>${BUNDLE_VERSION}</string>
-       <key>LSFileQuarantineEnabled</key>
-       <true/>
-       <key>NSPrincipalClass</key>
-       <string>NSApplication</string>
-       <key>WebKitEntryPoint</key>
-       <string>PluginServiceInitializer</string>
-       <key>LSUIElement</key>
-       <true/>
-       <key>NSSupportsAutomaticGraphicsSwitching</key>
-       <true/>
-       <key>NSSupportsAppNap</key>
-       <true/>
-       <key>XPCService</key>
-       <dict>
-               <key>ServiceType</key>
-               <string>Application</string>
-               <key>RunLoopType</key>
-               <string>_NSApplicationMain</string>
-               <key>JoinExistingSession</key>
-               <true/>
-               <key>_MultipleInstances</key>
-               <true/>
-               <key>_AbandonCoalition</key>
-               <true/>
-       </dict>
-</dict>
-</plist>
diff --git a/Source/WebKit2/Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm b/Source/WebKit2/Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm
deleted file mode 100644 (file)
index 7b3c025..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "config.h"
-
-#import <crt_externs.h>
-#import <dlfcn.h>
-#import <mach-o/dyld.h>
-#import <spawn.h> 
-#import <stdio.h>
-#import <stdlib.h>
-#import <wtf/OSObjectPtr.h>
-#import <wtf/RetainPtr.h>
-#import <wtf/spi/darwin/XPCSPI.h>
-
-namespace WebKit {
-
-struct ReexecInfo {
-    bool executableHeap;
-    char** environment;
-};
-
-static NO_RETURN void reexec(ReexecInfo *info)
-{
-    posix_spawnattr_t attr;
-    posix_spawnattr_init(&attr);
-
-    short flags = 0;
-
-    // We just want to set the process state, not actually launch a new process,
-    // so we are going to use the darwin extension to posix_spawn POSIX_SPAWN_SETEXEC
-    // to act like a more full featured exec.
-    flags |= POSIX_SPAWN_SETEXEC;
-
-    sigset_t signalMaskSet;
-    sigemptyset(&signalMaskSet);
-    posix_spawnattr_setsigmask(&attr, &signalMaskSet);
-    flags |= POSIX_SPAWN_SETSIGMASK;
-
-    static const int allowExecutableHeapFlag = 0x2000;
-    if (info->executableHeap)
-        flags |= allowExecutableHeapFlag;
-
-    posix_spawnattr_setflags(&attr, flags);
-
-    char path[4 * PATH_MAX];
-    uint32_t pathLength = sizeof(path);
-    _NSGetExecutablePath(path, &pathLength);
-
-    char** argv = *_NSGetArgv();
-    const char* programName = argv[0];
-    const char* args[] = { programName, 0 };
-
-    pid_t processIdentifier = 0;
-    posix_spawn(&processIdentifier, path, 0, &attr, const_cast<char**>(args), info->environment);
-
-    posix_spawnattr_destroy(&attr);
-
-    NSLog(@"Unable to re-exec for path: %s", path);
-    exit(EXIT_FAILURE);
-}
-
-static NO_RETURN void reexecCallBack(CFRunLoopTimerRef timer, void *info)
-{
-    reexec(static_cast<ReexecInfo *>(info));
-}
-
-static void XPCServiceEventHandler(xpc_connection_t peer)
-{
-    xpc_connection_set_target_queue(peer, dispatch_get_main_queue());
-    xpc_connection_set_event_handler(peer, ^(xpc_object_t event) {
-        xpc_type_t type = xpc_get_type(event);
-        if (type == XPC_TYPE_ERROR) {
-            if (event == XPC_ERROR_CONNECTION_INVALID || event == XPC_ERROR_TERMINATION_IMMINENT) {
-                // FIXME: Handle this case more gracefully.
-                exit(EXIT_FAILURE);
-            }
-        } else {
-            assert(type == XPC_TYPE_DICTIONARY);
-
-            if (!strcmp(xpc_dictionary_get_string(event, "message-name"), "re-exec")) {
-                ReexecInfo *info = static_cast<ReexecInfo *>(malloc(sizeof(ReexecInfo)));
-
-                info->executableHeap = xpc_dictionary_get_bool(event, "executable-heap");
-
-                xpc_object_t environmentArray = xpc_dictionary_get_value(event, "environment");
-                size_t numberOfEnvironmentVariables = xpc_array_get_count(environmentArray);
-                char** environment = static_cast<char **>(malloc((numberOfEnvironmentVariables + 1) * sizeof(char*)));
-                for (size_t i = 0; i < numberOfEnvironmentVariables; ++i)
-                    environment[i] = strdup(xpc_array_get_string(environmentArray, i));
-                environment[numberOfEnvironmentVariables] = 0;
-                info->environment = environment;
-
-                CFRunLoopTimerContext context = { 0, info, NULL, NULL, NULL };
-                CFRunLoopTimerRef timer = CFRunLoopTimerCreate(NULL, CFAbsoluteTimeGetCurrent(), 0, 0, 0, reexecCallBack, &context);
-                CFRunLoopAddTimer(CFRunLoopGetCurrent(), timer, kCFRunLoopCommonModes);
-            }
-
-            if (!strcmp(xpc_dictionary_get_string(event, "message-name"), "bootstrap")) {
-                static void* frameworkLibrary = dlopen(xpc_dictionary_get_string(event, "framework-executable-path"), RTLD_NOW);
-                if (!frameworkLibrary) {
-                    NSLog(@"Unable to load WebKit.framework at path: %s (Error: %s)", xpc_dictionary_get_string(event, "framework-executable-path"), dlerror());
-                    exit(EXIT_FAILURE);
-                }
-
-                CFBundleRef webKitBundle = CFBundleGetBundleWithIdentifier(CFSTR("com.apple.WebKit"));
-                CFStringRef entryPointFunctionName = (CFStringRef)CFBundleGetValueForInfoDictionaryKey(CFBundleGetMainBundle(), CFSTR("WebKitEntryPoint"));
-
-                typedef void (*InitializerFunction)(xpc_connection_t, xpc_object_t);
-                InitializerFunction initializerFunctionPtr = reinterpret_cast<InitializerFunction>(CFBundleGetFunctionPointerForName(webKitBundle, entryPointFunctionName));
-                if (!initializerFunctionPtr) {
-                    NSLog(@"Unable to find entry point in WebKit.framework with name: %@", (NSString *)entryPointFunctionName);
-                    exit(EXIT_FAILURE);
-                }
-
-                auto reply = adoptOSObject(xpc_dictionary_create_reply(event));
-                xpc_dictionary_set_string(reply.get(), "message-name", "process-finished-launching");
-                xpc_connection_send_message(xpc_dictionary_get_remote_connection(event), reply.get());
-
-                dup2(xpc_dictionary_dup_fd(event, "stdout"), STDOUT_FILENO);
-                dup2(xpc_dictionary_dup_fd(event, "stderr"), STDERR_FILENO);
-
-                initializerFunctionPtr(peer, event);
-            }
-
-            // Leak a boost onto the NetworkProcess.
-            if (!strcmp(xpc_dictionary_get_string(event, "message-name"), "pre-bootstrap"))
-                xpc_retain(event);
-        }
-    });
-
-    xpc_connection_resume(peer);
-}
-
-} // namespace WebKit;
-
-using namespace WebKit;
-
-int main(int argc, char** argv)
-{
-    if (auto bootstrap = adoptOSObject(xpc_copy_bootstrap())) {
-        if (xpc_object_t languages = xpc_dictionary_get_value(bootstrap.get(), "OverrideLanguages")) {
-            NSDictionary *existingArguments = [[NSUserDefaults standardUserDefaults] volatileDomainForName:NSArgumentDomain];
-            NSMutableDictionary *newArguments = [existingArguments mutableCopy];
-            RetainPtr<NSMutableArray *> newLanguages = adoptNS([[NSMutableArray alloc] init]);
-            xpc_array_apply(languages, ^(size_t index, xpc_object_t value) {
-                [newLanguages addObject:[NSString stringWithCString:xpc_string_get_string_ptr(value) encoding:NSUTF8StringEncoding]];
-                return true;
-            });
-            [newArguments setValue:newLanguages.get() forKey:@"AppleLanguages"];
-            [[NSUserDefaults standardUserDefaults] setVolatileDomain:newArguments forName:NSArgumentDomain];
-        }
-    }
-
-#if PLATFORM(MAC)
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
-    // Workaround for <rdar://problem/20653234>, make XPC transactions work after re-exec.
-    xpc_track_activity();
-#pragma clang diagnostic pop
-#endif
-
-    xpc_main(XPCServiceEventHandler);
-    return 0;
-}
index 876be79..30aa6f8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2013, 2015, 2016 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -27,6 +27,7 @@
 
 #import <CoreFoundation/CoreFoundation.h>
 #import <wtf/OSObjectPtr.h>
+#import <wtf/RetainPtr.h>
 #import <wtf/spi/darwin/XPCSPI.h>
 
 namespace WebKit {
@@ -59,6 +60,14 @@ static void XPCServiceEventHandler(xpc_connection_t peer)
                 xpc_dictionary_set_string(reply.get(), "message-name", "process-finished-launching");
                 xpc_connection_send_message(xpc_dictionary_get_remote_connection(event), reply.get());
 
+                int fd = xpc_dictionary_dup_fd(event, "stdout");
+                if (fd != -1)
+                    dup2(fd, STDOUT_FILENO);
+
+                fd = xpc_dictionary_dup_fd(event, "stderr");
+                if (fd != -1)
+                    dup2(fd, STDERR_FILENO);
+
                 initializerFunctionPtr(peer, event);
             }
 
@@ -77,8 +86,8 @@ using namespace WebKit;
 
 int main(int argc, char** argv)
 {
-#if PLATFORM(IOS)
     auto bootstrap = adoptOSObject(xpc_copy_bootstrap());
+#if PLATFORM(IOS)
     auto containerEnvironmentVariables = xpc_dictionary_get_value(bootstrap.get(), "ContainerEnvironmentVariables");
     xpc_dictionary_apply(containerEnvironmentVariables, ^(const char *key, xpc_object_t value) {
         setenv(key, xpc_string_get_string_ptr(value), 1);
@@ -86,6 +95,22 @@ int main(int argc, char** argv)
     });
 #endif
 
+    if (bootstrap) {
+        if (xpc_object_t languages = xpc_dictionary_get_value(bootstrap.get(), "OverrideLanguages")) {
+            @autoreleasepool {
+                NSDictionary *existingArguments = [[NSUserDefaults standardUserDefaults] volatileDomainForName:NSArgumentDomain];
+                NSMutableDictionary *newArguments = [existingArguments mutableCopy];
+                RetainPtr<NSMutableArray *> newLanguages = adoptNS([[NSMutableArray alloc] init]);
+                xpc_array_apply(languages, ^(size_t index, xpc_object_t value) {
+                    [newLanguages addObject:[NSString stringWithCString:xpc_string_get_string_ptr(value) encoding:NSUTF8StringEncoding]];
+                    return true;
+                });
+                [newArguments setValue:newLanguages.get() forKey:@"AppleLanguages"];
+                [[NSUserDefaults standardUserDefaults] setVolatileDomain:newArguments forName:NSArgumentDomain];
+            }
+        }
+    }
+
     xpc_main(XPCServiceEventHandler);
     return 0;
 }
index a8a4c84..2b4b808 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010-2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2010-2016 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -93,7 +93,7 @@ static const char* copyASanDynamicLibraryPath()
 }
 #endif
 
-#if PLATFORM(MAC)
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101100
 static RetainPtr<NSString> computeProcessShimPath(const ProcessLauncher::LaunchOptions& launchOptions, NSBundle *webKitBundle)
 {
 #if ENABLE(NETSCAPE_PLUGIN_API)
@@ -135,8 +135,7 @@ static void addDYLDEnvironmentAdditions(const ProcessLauncher::LaunchOptions& la
         environmentVariables.appendValue("DYLD_INSERT_LIBRARIES", asanLibraryPath, ':');
 #endif
 
-#if PLATFORM(MAC)
-    // FIXME: In El Capitan and later, do this only for development builds, because in production, the executables link directly against the shims.
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101100
     if (auto shimPath = computeProcessShimPath(launchOptions, webKitBundle)) {
         // Make sure that the shim library file exists and insert it.
         const char* processShimPath = [shimPath fileSystemRepresentation];
@@ -149,37 +148,24 @@ static void addDYLDEnvironmentAdditions(const ProcessLauncher::LaunchOptions& la
 
 typedef void (ProcessLauncher::*DidFinishLaunchingProcessFunction)(PlatformProcessIdentifier, IPC::Connection::Identifier);
 
-static const char* serviceName(const ProcessLauncher::LaunchOptions& launchOptions, bool forDevelopment)
+static const char* serviceName(const ProcessLauncher::LaunchOptions& launchOptions)
 {
     switch (launchOptions.processType) {
     case ProcessLauncher::WebProcess:
-        if (forDevelopment)
-            return "com.apple.WebKit.WebContent.Development";
-        return "com.apple.WebKit.WebContent";
+        return "com.apple.WebKit.WebContent" WK_XPC_SERVICE_SUFFIX;
     case ProcessLauncher::NetworkProcess:
-        if (forDevelopment)
-            return "com.apple.WebKit.Networking.Development";
-        return "com.apple.WebKit.Networking";
+        return "com.apple.WebKit.Networking" WK_XPC_SERVICE_SUFFIX;
 #if ENABLE(DATABASE_PROCESS)
     case ProcessLauncher::DatabaseProcess:
-        if (forDevelopment)
-            return "com.apple.WebKit.Databases.Development";
-        return "com.apple.WebKit.Databases";
+        return "com.apple.WebKit.Databases" WK_XPC_SERVICE_SUFFIX;
 #endif
 #if ENABLE(NETSCAPE_PLUGIN_API)
     case ProcessLauncher::PluginProcess:
         // FIXME: Support plugins that require an executable heap.
-        if (forDevelopment) {
-            if (launchOptions.architecture == CPU_TYPE_X86)
-                return "com.apple.WebKit.Plugin.32.Development";
-            if (launchOptions.architecture == CPU_TYPE_X86_64)
-                return "com.apple.WebKit.Plugin.64.Development";
-        } else {
-            if (launchOptions.architecture == CPU_TYPE_X86)
-                return "com.apple.WebKit.Plugin.32";
-            if (launchOptions.architecture == CPU_TYPE_X86_64)
-                return "com.apple.WebKit.Plugin.64";
-        }
+        if (launchOptions.architecture == CPU_TYPE_X86)
+            return "com.apple.WebKit.Plugin.32" WK_XPC_SERVICE_SUFFIX;
+        if (launchOptions.architecture == CPU_TYPE_X86_64)
+            return "com.apple.WebKit.Plugin.64" WK_XPC_SERVICE_SUFFIX;
 
         ASSERT_NOT_REACHED();
         return 0;
@@ -202,7 +188,7 @@ static bool shouldLeakBoost(const ProcessLauncher::LaunchOptions& launchOptions)
 static void connectToService(const ProcessLauncher::LaunchOptions& launchOptions, bool forDevelopment, ProcessLauncher* that, DidFinishLaunchingProcessFunction didFinishLaunchingProcessFunction, UUIDHolder* instanceUUID)
 {
     // Create a connection to the WebKit XPC service.
-    auto connection = adoptOSObject(xpc_connection_create(serviceName(launchOptions, forDevelopment), 0));
+    auto connection = adoptOSObject(xpc_connection_create(serviceName(launchOptions), 0));
     xpc_connection_set_oneshot_instance(connection.get(), instanceUUID->uuid);
 
     // Inherit UI process localization. It can be different from child process default localization:
@@ -258,7 +244,6 @@ static void connectToService(const ProcessLauncher::LaunchOptions& launchOptions
     // FIXME: Switch to xpc_connection_set_bootstrap once it's available everywhere we need.
     auto bootstrapMessage = adoptOSObject(xpc_dictionary_create(nullptr, nullptr, 0));
     xpc_dictionary_set_string(bootstrapMessage.get(), "message-name", "bootstrap");
-    xpc_dictionary_set_string(bootstrapMessage.get(), "framework-executable-path", [[[NSBundle bundleWithIdentifier:@"com.apple.WebKit"] executablePath] fileSystemRepresentation]);
 
     xpc_dictionary_set_mach_send(bootstrapMessage.get(), "server-port", listeningPort);
     mach_port_deallocate(mach_task_self(), listeningPort);
@@ -311,77 +296,12 @@ static void connectToService(const ProcessLauncher::LaunchOptions& launchOptions
     });
 }
 
-static void connectToReExecService(const ProcessLauncher::LaunchOptions& launchOptions, ProcessLauncher* that, DidFinishLaunchingProcessFunction didFinishLaunchingProcessFunction)
-{
-    EnvironmentVariables environmentVariables;
-    addDYLDEnvironmentAdditions(launchOptions, true, environmentVariables);
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-    if (launchOptions.processType == ProcessLauncher::PluginProcess) {
-        // Tagged pointers break video in Flash, see bug 135354.
-        environmentVariables.set("NSStringDisableTagged", "YES");
-    }
-#endif
-
-    // FIXME: This UUID should be stored on the ChildProcessProxy.
-    RefPtr<UUIDHolder> instanceUUID = UUIDHolder::create();
-
-    // FIXME: It would be nice if we could use OSObjectPtr for this connection as well, but we'd have to be careful
-    // not to introduce any retain cycles in the call to xpc_connection_set_event_handler below.
-    xpc_connection_t reExecConnection = xpc_connection_create(serviceName(launchOptions, true), 0);
-    xpc_connection_set_oneshot_instance(reExecConnection, instanceUUID->uuid);
-
-    // Keep the ProcessLauncher alive while we do the re-execing (balanced in event handler).
-    that->ref();
-
-    // We wait for the connection to tear itself down (indicated via an error event)
-    // to indicate that the service instance re-execed itself, and is now ready to be
-    // connected to.
-    xpc_connection_set_event_handler(reExecConnection, ^(xpc_object_t event) {
-        ASSERT(xpc_get_type(event) == XPC_TYPE_ERROR);
-
-        connectToService(launchOptions, true, that, didFinishLaunchingProcessFunction, instanceUUID.get());
-
-        // Release the connection.
-        xpc_release(reExecConnection);
-
-        // Other end of ref called before we setup the event handler.
-        that->deref();
-    });
-    xpc_connection_resume(reExecConnection);
-
-    xpc_object_t reExecMessage = xpc_dictionary_create(0, 0, 0);
-    xpc_dictionary_set_string(reExecMessage, "message-name", "re-exec");
-
-    xpc_object_t environment = xpc_array_create(0, 0);
-    char** environmentPointer = environmentVariables.environmentPointer();
-    Vector<CString> temps;
-    for (size_t i = 0; environmentPointer[i]; ++i) {
-        CString temp(environmentPointer[i], strlen(environmentPointer[i]));
-        temps.append(temp);
-
-        xpc_array_set_string(environment, XPC_ARRAY_APPEND, temp.data());
-    }
-    xpc_dictionary_set_value(reExecMessage, "environment", environment);
-    xpc_release(environment);
-
-    xpc_dictionary_set_bool(reExecMessage, "executable-heap", launchOptions.executableHeap);
-
-    xpc_connection_send_message(reExecConnection, reExecMessage);
-    xpc_release(reExecMessage);
-}
-
 static void createService(const ProcessLauncher::LaunchOptions& launchOptions, bool forDevelopment, ProcessLauncher* that, DidFinishLaunchingProcessFunction didFinishLaunchingProcessFunction)
 {
-    if (forDevelopment) {
-        connectToReExecService(launchOptions, that, didFinishLaunchingProcessFunction);
-        return;
-    }
-
     // Generate the uuid for the service instance we are about to create.
     // FIXME: This UUID should be stored on the ChildProcessProxy.
     RefPtr<UUIDHolder> instanceUUID = UUIDHolder::create();
-    connectToService(launchOptions, false, that, didFinishLaunchingProcessFunction, instanceUUID.get());
+    connectToService(launchOptions, forDevelopment, that, didFinishLaunchingProcessFunction, instanceUUID.get());
 }
 
 static bool tryPreexistingProcess(const ProcessLauncher::LaunchOptions& launchOptions, ProcessLauncher* that, DidFinishLaunchingProcessFunction didFinishLaunchingProcessFunction)
index f91617d..7a6c7c3 100644 (file)
                                510CC8481613C85300D03ED3 /* PBXTargetDependency */,
                                BCDE0AC113272712001259FB /* PBXTargetDependency */,
                                BCA8D46815BCE0D6009DC1F1 /* PBXTargetDependency */,
-                               BCAE9DFD160C0AB000A33217 /* PBXTargetDependency */,
                                51A60B2E180CCF1700F3BF50 /* PBXTargetDependency */,
-                               51A60B30180CCF1700F3BF50 /* PBXTargetDependency */,
                                BC77F95616D0459100F8F78A /* PBXTargetDependency */,
                                BC82844616B4FF6600A278FE /* PBXTargetDependency */,
-                               BC82844816B4FF6F00A278FE /* PBXTargetDependency */,
-                               E1B1B19C1A7AD133007B0965 /* PBXTargetDependency */,
                                BC8283D516B4C01F00A278FE /* PBXTargetDependency */,
-                               BC8283D716B4C02200A278FE /* PBXTargetDependency */,
                        );
                        name = All;
                        productName = WebKit2;
                517DD5BE180DA7D30081660B /* DatabaseProcessProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 517DD5BC180DA7D30081660B /* DatabaseProcessProxy.cpp */; };
                517DD5BF180DA7D30081660B /* DatabaseProcessProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 517DD5BD180DA7D30081660B /* DatabaseProcessProxy.h */; };
                517DD5C5180DC3E10081660B /* DatabaseProcessProxyMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 517DD5C4180DC3E10081660B /* DatabaseProcessProxyMac.mm */; };
-               5180C715180CCA3100FDA612 /* XPCServiceMain.Development.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC82839716B480F600A278FE /* XPCServiceMain.Development.mm */; };
-               5180C717180CCA3100FDA612 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC3DE46815A91763008D26FC /* Foundation.framework */; };
                51834592134532E90092B696 /* WebIconDatabaseClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51834590134532E80092B696 /* WebIconDatabaseClient.cpp */; };
                51834593134532E90092B696 /* WebIconDatabaseClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 51834591134532E80092B696 /* WebIconDatabaseClient.h */; };
                518353DA1885BF8C00D9FE44 /* IDBSerialization.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 518353D81885BF8C00D9FE44 /* IDBSerialization.cpp */; };
                BC5D24A116CC3B9E007D5461 /* ChildProcessMain.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC5D249F16CC3B9E007D5461 /* ChildProcessMain.mm */; };
                BC5D24A216CC3B9E007D5461 /* ChildProcessMain.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC5D249F16CC3B9E007D5461 /* ChildProcessMain.mm */; };
                BC5D24A316CC3B9E007D5461 /* ChildProcessMain.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC5D249F16CC3B9E007D5461 /* ChildProcessMain.mm */; };
-               BC5D24A716CC3D5D007D5461 /* XPCServiceMain.Development.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC82839716B480F600A278FE /* XPCServiceMain.Development.mm */; };
-               BC5D24A816CC3D5E007D5461 /* XPCServiceMain.Development.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC82839716B480F600A278FE /* XPCServiceMain.Development.mm */; };
-               BC5D24AA16CC3D5F007D5461 /* XPCServiceMain.Development.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC82839716B480F600A278FE /* XPCServiceMain.Development.mm */; };
                BC5D24AB16CC3D62007D5461 /* XPCServiceMain.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC82839616B47EC400A278FE /* XPCServiceMain.mm */; };
                BC5D24AC16CC3D63007D5461 /* XPCServiceMain.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC82839616B47EC400A278FE /* XPCServiceMain.mm */; };
                BC5D24AE16CC3D65007D5461 /* XPCServiceMain.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC82839616B47EC400A278FE /* XPCServiceMain.mm */; };
                BCA8C6AF11E3C08700812FB7 /* InjectedBundlePageUIClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCA8C6AD11E3C08700812FB7 /* InjectedBundlePageUIClient.cpp */; };
                BCA8C6B011E3C08700812FB7 /* InjectedBundlePageUIClient.h in Headers */ = {isa = PBXBuildFile; fileRef = BCA8C6AE11E3C08700812FB7 /* InjectedBundlePageUIClient.h */; };
                BCAE9E08160C1C0700A33217 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* WebKit.framework */; };
-               BCAE9E09160C233B00A33217 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC3DE46815A91763008D26FC /* Foundation.framework */; };
-               BCAF361F16CA28CD00D4E9FC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC3DE46815A91763008D26FC /* Foundation.framework */; };
                BCAF362016CA28D600D4E9FC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC3DE46815A91763008D26FC /* Foundation.framework */; };
-               BCAF362216CA292B00D4E9FC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC3DE46815A91763008D26FC /* Foundation.framework */; };
                BCB63478116BF10600603215 /* WebKit2_C.h in Headers */ = {isa = PBXBuildFile; fileRef = BCB63477116BF10600603215 /* WebKit2_C.h */; settings = {ATTRIBUTES = (Private, ); }; };
                BCB9E24B1120E15C00A137E0 /* WKContext.h in Headers */ = {isa = PBXBuildFile; fileRef = BCB9E2491120E15C00A137E0 /* WKContext.h */; settings = {ATTRIBUTES = (Private, ); }; };
                BCB9E24C1120E15C00A137E0 /* WKContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCB9E24A1120E15C00A137E0 /* WKContext.cpp */; };
                E1A9A852169E2025002D7176 /* WebKit.icns in Resources */ = {isa = PBXBuildFile; fileRef = E133FD891423DD7F00FC7BFB /* WebKit.icns */; };
                E1AEA22F14687BDB00804569 /* WKFullKeyboardAccessWatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = E1AEA22D14687BDB00804569 /* WKFullKeyboardAccessWatcher.h */; };
                E1AEA23014687BDB00804569 /* WKFullKeyboardAccessWatcher.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1AEA22E14687BDB00804569 /* WKFullKeyboardAccessWatcher.mm */; };
-               E1B1B1901A7AC1F5007B0965 /* XPCServiceMain.Development.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC82839716B480F600A278FE /* XPCServiceMain.Development.mm */; };
-               E1B1B1921A7AC1F5007B0965 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC3DE46815A91763008D26FC /* Foundation.framework */; };
                E1B78471163F24690007B692 /* RemoteNetworkingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = E1B78470163F24690007B692 /* RemoteNetworkingContext.h */; };
                E1B78473163F253E0007B692 /* RemoteNetworkingContext.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1B78472163F253E0007B692 /* RemoteNetworkingContext.mm */; };
                E1CC1B9012D7EADF00625838 /* PrintInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = E1CC1B8E12D7EADF00625838 /* PrintInfo.h */; };
                E1CC1B9112D7EADF00625838 /* PrintInfoMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1CC1B8F12D7EADF00625838 /* PrintInfoMac.mm */; };
                E1D26A51175964D70095BFD1 /* WebContentProcess.xib in Resources */ = {isa = PBXBuildFile; fileRef = E1D26A4C1759634E0095BFD1 /* WebContentProcess.xib */; };
-               E1D26A52175964D90095BFD1 /* WebContentProcess.xib in Resources */ = {isa = PBXBuildFile; fileRef = E1D26A4C1759634E0095BFD1 /* WebContentProcess.xib */; };
                E1D26A53175964D90095BFD1 /* WebContentProcess.xib in Resources */ = {isa = PBXBuildFile; fileRef = E1D26A4C1759634E0095BFD1 /* WebContentProcess.xib */; };
                E1E552C416AE065F004ED653 /* SandboxInitialiationParametersMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1E552C216AE065E004ED653 /* SandboxInitialiationParametersMac.mm */; };
                E1E552C516AE065F004ED653 /* SandboxInitializationParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = E1E552C316AE065E004ED653 /* SandboxInitializationParameters.h */; };
                        remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
                        remoteInfo = WebKit;
                };
-               375E0636191EA9A7004E3CAF /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
-                       remoteInfo = WebKit;
-               };
-               375E0638191EA9AD004E3CAF /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
-                       remoteInfo = WebKit;
-               };
-               375E063A191EA9BA004E3CAF /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
-                       remoteInfo = WebKit;
-               };
-               375E063C191EA9C1004E3CAF /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
-                       remoteInfo = WebKit;
-               };
                375E063E191EAA33004E3CAF /* PBXContainerItemProxy */ = {
                        isa = PBXContainerItemProxy;
                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
                        remoteGlobalIDString = 51F7DC3F180CC93600212CA3;
                        remoteInfo = Databases;
                };
-               51A60B2F180CCF1700F3BF50 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 5180C713180CCA3100FDA612;
-                       remoteInfo = Databases.Development;
-               };
                51FA1E1B180CCADE00C44BE9 /* PBXContainerItemProxy */ = {
                        isa = PBXContainerItemProxy;
                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
                        remoteGlobalIDString = BC8283B016B4BF7700A278FE;
                        remoteInfo = Networking;
                };
-               BC8283D616B4C02200A278FE /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = BC8283C416B4BFA800A278FE;
-                       remoteInfo = Networking.Development;
-               };
                BC82844516B4FF6600A278FE /* PBXContainerItemProxy */ = {
                        isa = PBXContainerItemProxy;
                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
                        remoteGlobalIDString = BC82841E16B4FDF600A278FE;
                        remoteInfo = Plugin.64;
                };
-               BC82844716B4FF6F00A278FE /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = BC82843116B4FE1300A278FE;
-                       remoteInfo = Plugin.64.Development;
-               };
                BCA8D46715BCE0D6009DC1F1 /* PBXContainerItemProxy */ = {
                        isa = PBXContainerItemProxy;
                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
                        remoteGlobalIDString = BC3DE46515A91763008D26FC;
                        remoteInfo = WebKit2Service;
                };
-               BCAE9DFC160C0AB000A33217 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = BCAE9DE8160C097400A33217;
-                       remoteInfo = WebProcessServiceForWebKitDevelopment;
-               };
                BCDE093713272496001259FB /* PBXContainerItemProxy */ = {
                        isa = PBXContainerItemProxy;
                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
                        remoteGlobalIDString = BCDE093313272496001259FB;
                        remoteInfo = "Plugin Process";
                };
-               E1B1B18E1A7AC1F5007B0965 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
-                       remoteInfo = WebKit;
-               };
-               E1B1B19B1A7AD133007B0965 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = E1B1B18C1A7AC1F5007B0965;
-                       remoteInfo = Plugin.64.Development;
-               };
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXCopyFilesBuildPhase section */
                2D6B371A18A967AD0042AE80 /* _WKThumbnailView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = _WKThumbnailView.mm; sourceTree = "<group>"; };
                2D6CD117189058A500E5A4A0 /* ViewSnapshotStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewSnapshotStore.h; sourceTree = "<group>"; };
                2D6CD118189058A500E5A4A0 /* ViewSnapshotStore.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ViewSnapshotStore.mm; sourceTree = "<group>"; };
-               2D70AB1318A1D51A00026D6E /* Info-iOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-iOS.plist"; sourceTree = "<group>"; };
-               2D70AB1418A1D57C00026D6E /* Info-iOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-iOS.plist"; sourceTree = "<group>"; };
                2D7303781A7C2B7500F8F487 /* WKPageNavigationClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKPageNavigationClient.h; sourceTree = "<group>"; };
                2D790A9C1AD7050D00AB90B3 /* _WKLayoutMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKLayoutMode.h; sourceTree = "<group>"; };
                2D790A9E1AD7164900AB90B3 /* WKLayoutMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKLayoutMode.h; sourceTree = "<group>"; };
                517DD5BC180DA7D30081660B /* DatabaseProcessProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DatabaseProcessProxy.cpp; path = Databases/DatabaseProcessProxy.cpp; sourceTree = "<group>"; };
                517DD5BD180DA7D30081660B /* DatabaseProcessProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DatabaseProcessProxy.h; path = Databases/DatabaseProcessProxy.h; sourceTree = "<group>"; };
                517DD5C4180DC3E10081660B /* DatabaseProcessProxyMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = DatabaseProcessProxyMac.mm; path = Databases/mac/DatabaseProcessProxyMac.mm; sourceTree = "<group>"; };
-               5180C71D180CCA3100FDA612 /* com.apple.WebKit.Databases.Development.xpc */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = com.apple.WebKit.Databases.Development.xpc; sourceTree = BUILT_PRODUCTS_DIR; };
                51834590134532E80092B696 /* WebIconDatabaseClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebIconDatabaseClient.cpp; sourceTree = "<group>"; };
                51834591134532E80092B696 /* WebIconDatabaseClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIconDatabaseClient.h; sourceTree = "<group>"; };
                518353D81885BF8C00D9FE44 /* IDBSerialization.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBSerialization.cpp; sourceTree = "<group>"; };
                51A555F4128C6C47009ABCEC /* WKContextMenuItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKContextMenuItem.h; sourceTree = "<group>"; };
                51A55600128C6D92009ABCEC /* WKContextMenuItemTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKContextMenuItemTypes.h; sourceTree = "<group>"; };
                51A60B27180CCD9000F3BF50 /* DatabaseProcess.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DatabaseProcess.xcconfig; sourceTree = "<group>"; };
-               51A60B28180CCD9000F3BF50 /* DatabaseService.Development.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DatabaseService.Development.xcconfig; sourceTree = "<group>"; };
                51A60B29180CCD9000F3BF50 /* DatabaseService.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DatabaseService.xcconfig; sourceTree = "<group>"; };
                51A728DC1B1BAD2D00102EEE /* WKBundleNavigationActionPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKBundleNavigationActionPrivate.h; sourceTree = "<group>"; };
                51A7F2F2125BF820008AEB1D /* Logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Logging.h; sourceTree = "<group>"; };
                51E35201180F5D1E00E53BE9 /* DatabaseProcessMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DatabaseProcessMac.mm; sourceTree = "<group>"; };
                51E35203180F5D4B00E53BE9 /* DatabaseProcessMain.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = DatabaseProcessMain.mm; sourceTree = "<group>"; };
                51E35204180F5D4B00E53BE9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-               51E35206180F5D5900E53BE9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
                51E35207180F5D6100E53BE9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
                51E35208180F5D6B00E53BE9 /* DatabaseServiceEntryPoint.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DatabaseServiceEntryPoint.mm; sourceTree = "<group>"; };
                51E3B67E16F266B3009968DC /* NetworkResourceLoaderMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = NetworkResourceLoaderMac.mm; sourceTree = "<group>"; };
                51F060DD1654317500F3281B /* WebResourceLoaderMessageReceiver.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebResourceLoaderMessageReceiver.cpp; sourceTree = "<group>"; };
                51F060DE1654317500F3281B /* WebResourceLoaderMessages.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebResourceLoaderMessages.h; sourceTree = "<group>"; };
-               51F7DC4A180CC93600212CA3 /* com.apple.WebKit.Databases.xpc */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = com.apple.WebKit.Databases.xpc; sourceTree = BUILT_PRODUCTS_DIR; };
+               51F7DC4A180CC93600212CA3 /* com.apple.WebKit.Databases.Development.xpc */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = com.apple.WebKit.Databases.Development.xpc; sourceTree = BUILT_PRODUCTS_DIR; };
                51FA1E28180CCADE00C44BE9 /* DatabaseProcess.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DatabaseProcess.app; sourceTree = BUILT_PRODUCTS_DIR; };
                51FA2D541521118600C1BA0B /* WKBundleDOMWindowExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKBundleDOMWindowExtension.h; sourceTree = "<group>"; };
                51FA2D5A15211A1E00C1BA0B /* InjectedBundleDOMWindowExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedBundleDOMWindowExtension.h; sourceTree = "<group>"; };
                BC33E0D012408E8600360F3F /* InjectedBundleRangeHandle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedBundleRangeHandle.cpp; sourceTree = "<group>"; };
                BC39C4331626366F008BC689 /* WKDOMRange.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKDOMRange.mm; sourceTree = "<group>"; };
                BC39C4341626366F008BC689 /* WKDOMRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDOMRange.h; sourceTree = "<group>"; };
-               BC3DE46615A91763008D26FC /* com.apple.WebKit.WebContent.xpc */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = com.apple.WebKit.WebContent.xpc; sourceTree = BUILT_PRODUCTS_DIR; };
+               BC3DE46615A91763008D26FC /* com.apple.WebKit.WebContent.Development.xpc */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = com.apple.WebKit.WebContent.Development.xpc; sourceTree = BUILT_PRODUCTS_DIR; };
                BC3DE46815A91763008D26FC /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
                BC4075D7124FF0270068F20A /* WKArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKArray.cpp; sourceTree = "<group>"; };
                BC4075D8124FF0270068F20A /* WKArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKArray.h; sourceTree = "<group>"; };
                BC82838A16B45EF200A278FE /* PluginProcessMain.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = PluginProcessMain.mm; sourceTree = "<group>"; };
                BC82838D16B45FA600A278FE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
                BC82839616B47EC400A278FE /* XPCServiceMain.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = XPCServiceMain.mm; sourceTree = "<group>"; };
-               BC82839716B480F600A278FE /* XPCServiceMain.Development.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = XPCServiceMain.Development.mm; sourceTree = "<group>"; };
                BC82839816B48DC000A278FE /* WebContentServiceEntryPoint.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebContentServiceEntryPoint.mm; sourceTree = "<group>"; };
                BC8283A316B4BD9100A278FE /* Info-OSX.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-OSX.plist"; sourceTree = "<group>"; };
-               BC8283A616B4BD9100A278FE /* Info-OSX.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-OSX.plist"; sourceTree = "<group>"; };
                BC8283A816B4BD9100A278FE /* NetworkServiceEntryPoint.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = NetworkServiceEntryPoint.mm; sourceTree = "<group>"; };
-               BC8283AA16B4BEAD00A278FE /* NetworkService.Development.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = NetworkService.Development.xcconfig; sourceTree = "<group>"; };
                BC8283AB16B4BEAD00A278FE /* NetworkService.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = NetworkService.xcconfig; sourceTree = "<group>"; };
-               BC8283B116B4BF7700A278FE /* com.apple.WebKit.Networking.xpc */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = com.apple.WebKit.Networking.xpc; sourceTree = BUILT_PRODUCTS_DIR; };
-               BC8283C516B4BFA800A278FE /* com.apple.WebKit.Networking.Development.xpc */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = com.apple.WebKit.Networking.Development.xpc; sourceTree = BUILT_PRODUCTS_DIR; };
+               BC8283B116B4BF7700A278FE /* com.apple.WebKit.Networking.Development.xpc */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = com.apple.WebKit.Networking.Development.xpc; sourceTree = BUILT_PRODUCTS_DIR; };
                BC8283EF16B4F8E200A278FE /* PluginServiceEntryPoint.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = PluginServiceEntryPoint.mm; sourceTree = "<group>"; };
                BC8283F216B4FC5300A278FE /* PluginService.32.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = PluginService.32.xcconfig; sourceTree = "<group>"; };
                BC8283F416B4FC5300A278FE /* PluginService.64.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = PluginService.64.xcconfig; sourceTree = "<group>"; };
-               BC8283F916B4FDDE00A278FE /* com.apple.WebKit.Plugin.32.xpc */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = com.apple.WebKit.Plugin.32.xpc; sourceTree = BUILT_PRODUCTS_DIR; };
-               BC82841F16B4FDF600A278FE /* com.apple.WebKit.Plugin.64.xpc */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = com.apple.WebKit.Plugin.64.xpc; sourceTree = BUILT_PRODUCTS_DIR; };
-               BC82843216B4FE1300A278FE /* com.apple.WebKit.Plugin.32.Development.xpc */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = com.apple.WebKit.Plugin.32.Development.xpc; sourceTree = BUILT_PRODUCTS_DIR; };
+               BC8283F916B4FDDE00A278FE /* com.apple.WebKit.Plugin.32.Development.xpc */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = com.apple.WebKit.Plugin.32.Development.xpc; sourceTree = BUILT_PRODUCTS_DIR; };
+               BC82841F16B4FDF600A278FE /* com.apple.WebKit.Plugin.64.Development.xpc */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = com.apple.WebKit.Plugin.64.Development.xpc; sourceTree = BUILT_PRODUCTS_DIR; };
                BC8452A51162C80900CAB9B5 /* DrawingArea.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DrawingArea.cpp; sourceTree = "<group>"; };
                BC8452A61162C80900CAB9B5 /* DrawingArea.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawingArea.h; sourceTree = "<group>"; };
                BC84EB1712A7100C0083F2DA /* WebPreferencesMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebPreferencesMac.mm; sourceTree = "<group>"; };
                BCA8C6AE11E3C08700812FB7 /* InjectedBundlePageUIClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedBundlePageUIClient.h; sourceTree = "<group>"; };
                BCACC40D16B0B7BE00B6E092 /* BaseXPCService.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = BaseXPCService.xcconfig; sourceTree = "<group>"; };
                BCACC40E16B0B8A800B6E092 /* WebContentService.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = WebContentService.xcconfig; sourceTree = "<group>"; };
-               BCACC40F16B0B8A800B6E092 /* WebContentService.Development.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = WebContentService.Development.xcconfig; sourceTree = "<group>"; };
                BCACC44016B24CAA00B6E092 /* Info-OSX.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-OSX.plist"; sourceTree = "<group>"; };
-               BCACC44316B24CAA00B6E092 /* Info-OSX.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-OSX.plist"; sourceTree = "<group>"; };
-               BCAE9DE9160C097400A33217 /* com.apple.WebKit.WebContent.Development.xpc */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = com.apple.WebKit.WebContent.Development.xpc; sourceTree = BUILT_PRODUCTS_DIR; };
                BCB63477116BF10600603215 /* WebKit2_C.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKit2_C.h; sourceTree = "<group>"; };
                BCB86F4B116AAACD00CE20B7 /* WebKit.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = WebKit.xcconfig; sourceTree = "<group>"; };
                BCB9E2491120E15C00A137E0 /* WKContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKContext.h; sourceTree = "<group>"; };
                BCBD38FA125BAB9A00D2C29F /* WebPageProxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebPageProxy.messages.in; sourceTree = "<group>"; };
                BCBD3912125BB1A800D2C29F /* WebPageProxyMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebPageProxyMessageReceiver.cpp; sourceTree = "<group>"; };
                BCBD3913125BB1A800D2C29F /* WebPageProxyMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPageProxyMessages.h; sourceTree = "<group>"; };
-               BCBECDC016B5CE0D00047A1A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-               BCBECDC216B5CE2A00047A1A /* PluginService.64.Development.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = PluginService.64.Development.xcconfig; sourceTree = "<group>"; };
                BCBECDE516B6416700047A1A /* XPCServiceEntryPoint.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = XPCServiceEntryPoint.mm; sourceTree = "<group>"; };
                BCBECDE616B6416700047A1A /* XPCServiceEntryPoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPCServiceEntryPoint.h; sourceTree = "<group>"; };
                BCC43AB8127B95DC00317F16 /* PlatformPopupMenuData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PlatformPopupMenuData.cpp; sourceTree = "<group>"; };
                E1A31734134CEA80007C9A4F /* AttributedString.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AttributedString.mm; sourceTree = "<group>"; };
                E1AEA22D14687BDB00804569 /* WKFullKeyboardAccessWatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKFullKeyboardAccessWatcher.h; sourceTree = "<group>"; };
                E1AEA22E14687BDB00804569 /* WKFullKeyboardAccessWatcher.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKFullKeyboardAccessWatcher.mm; sourceTree = "<group>"; };
-               E1B1B1981A7AC1F5007B0965 /* com.apple.WebKit.Plugin.64.Development.xpc */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = com.apple.WebKit.Plugin.64.Development.xpc; sourceTree = BUILT_PRODUCTS_DIR; };
-               E1B1B19A1A7AC287007B0965 /* PluginService.32.Development.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = PluginService.32.Development.xcconfig; sourceTree = "<group>"; };
                E1B78470163F24690007B692 /* RemoteNetworkingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RemoteNetworkingContext.h; path = NetworkProcess/RemoteNetworkingContext.h; sourceTree = "<group>"; };
                E1B78472163F253E0007B692 /* RemoteNetworkingContext.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RemoteNetworkingContext.mm; sourceTree = "<group>"; };
                E1CC1B8E12D7EADF00625838 /* PrintInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrintInfo.h; sourceTree = "<group>"; };
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
-               5180C716180CCA3100FDA612 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               5180C717180CCA3100FDA612 /* Foundation.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
                51F7DC42180CC93600212CA3 /* Frameworks */ = {
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
-               BC8283C216B4BFA800A278FE /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               BCAF361F16CA28CD00D4E9FC /* Foundation.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
                BC8283F616B4FDDE00A278FE /* Frameworks */ = {
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
-               BC82842F16B4FE1300A278FE /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               BCAF362216CA292B00D4E9FC /* Foundation.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               BCAE9DE6160C097400A33217 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               BCAE9E09160C233B00A33217 /* Foundation.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
                BCDC308D15FDB99A006B6695 /* Frameworks */ = {
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
-               E1B1B1911A7AC1F5007B0965 /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               E1B1B1921A7AC1F5007B0965 /* Foundation.framework in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
                034768DFFF38A50411DB9C8B /* Products */ = {
                        isa = PBXGroup;
                        children = (
-                               5180C71D180CCA3100FDA612 /* com.apple.WebKit.Databases.Development.xpc */,
-                               51F7DC4A180CC93600212CA3 /* com.apple.WebKit.Databases.xpc */,
-                               BC8283C516B4BFA800A278FE /* com.apple.WebKit.Networking.Development.xpc */,
-                               BC8283B116B4BF7700A278FE /* com.apple.WebKit.Networking.xpc */,
-                               BC82843216B4FE1300A278FE /* com.apple.WebKit.Plugin.32.Development.xpc */,
-                               BC8283F916B4FDDE00A278FE /* com.apple.WebKit.Plugin.32.xpc */,
-                               E1B1B1981A7AC1F5007B0965 /* com.apple.WebKit.Plugin.64.Development.xpc */,
-                               BC82841F16B4FDF600A278FE /* com.apple.WebKit.Plugin.64.xpc */,
-                               BCAE9DE9160C097400A33217 /* com.apple.WebKit.WebContent.Development.xpc */,
-                               BC3DE46615A91763008D26FC /* com.apple.WebKit.WebContent.xpc */,
+                               51F7DC4A180CC93600212CA3 /* com.apple.WebKit.Databases.Development.xpc */,
+                               BC8283B116B4BF7700A278FE /* com.apple.WebKit.Networking.Development.xpc */,
+                               BC8283F916B4FDDE00A278FE /* com.apple.WebKit.Plugin.32.Development.xpc */,
+                               BC82841F16B4FDF600A278FE /* com.apple.WebKit.Plugin.64.Development.xpc */,
+                               BC3DE46615A91763008D26FC /* com.apple.WebKit.WebContent.Development.xpc */,
                                51FA1E28180CCADE00C44BE9 /* DatabaseProcess.app */,
                                510CC80E1613C79900D03ED3 /* NetworkProcess.app */,
                                BCDE094213272496001259FB /* PluginProcess.app */,
                                BCACC40D16B0B7BE00B6E092 /* BaseXPCService.xcconfig */,
                                51A60B27180CCD9000F3BF50 /* DatabaseProcess.xcconfig */,
                                A7BD9863194653D400D35698 /* Databases-iOS.entitlements */,
-                               51A60B28180CCD9000F3BF50 /* DatabaseService.Development.xcconfig */,
                                51A60B29180CCD9000F3BF50 /* DatabaseService.xcconfig */,
                                1A4F976B100E7B6600637A18 /* DebugRelease.xcconfig */,
                                1A4F976C100E7B6600637A18 /* FeatureDefines.xcconfig */,
                                7C0BB9A918DCDF5A0006C086 /* Network-iOS.entitlements */,
                                510CC8461613C7C600D03ED3 /* NetworkProcess.xcconfig */,
-                               BC8283AA16B4BEAD00A278FE /* NetworkService.Development.xcconfig */,
                                BC8283AB16B4BEAD00A278FE /* NetworkService.xcconfig */,
                                BC122FA3132707F300F7EAC1 /* PluginProcess.xcconfig */,
                                A1EDD2DB1884B96400BBFE98 /* PluginProcessShim.xcconfig */,
-                               E1B1B19A1A7AC287007B0965 /* PluginService.32.Development.xcconfig */,
                                BC8283F216B4FC5300A278FE /* PluginService.32.xcconfig */,
-                               BCBECDC216B5CE2A00047A1A /* PluginService.64.Development.xcconfig */,
                                BC8283F416B4FC5300A278FE /* PluginService.64.xcconfig */,
                                5D442A5516D5856700AC3331 /* PluginService.entitlements */,
                                37E83D401B37D27B002079EE /* SandboxProfiles.xcconfig */,
                                1A4F976E100E7B6600637A18 /* Version.xcconfig */,
                                7C0BB9A818DCDE890006C086 /* WebContent-iOS.entitlements */,
                                5DAD7294116FF70B00EE5396 /* WebContentProcess.xcconfig */,
-                               BCACC40F16B0B8A800B6E092 /* WebContentService.Development.xcconfig */,
                                BCACC40E16B0B8A800B6E092 /* WebContentService.xcconfig */,
                                BCB86F4B116AAACD00CE20B7 /* WebKit.xcconfig */,
                                A1EDD2DD1884B9E300BBFE98 /* WebProcessShim.xcconfig */,
                        isa = PBXGroup;
                        children = (
                                51F7DC0D180CC43800212CA3 /* DatabaseService */,
-                               51F7DC0F180CC46F00212CA3 /* DatabaseService.Development */,
                                51E35208180F5D6B00E53BE9 /* DatabaseServiceEntryPoint.mm */,
                        );
                        name = XPCService;
                        path = DatabaseService;
                        sourceTree = "<group>";
                };
-               51F7DC0F180CC46F00212CA3 /* DatabaseService.Development */ = {
-                       isa = PBXGroup;
-                       children = (
-                               51E35206180F5D5900E53BE9 /* Info.plist */,
-                       );
-                       path = DatabaseService.Development;
-                       sourceTree = "<group>";
-               };
                51FBB9C1132E079200F327B4 /* IconDatabase */ = {
                        isa = PBXGroup;
                        children = (
                        children = (
                                BCBECDE616B6416700047A1A /* XPCServiceEntryPoint.h */,
                                BCBECDE516B6416700047A1A /* XPCServiceEntryPoint.mm */,
-                               BC82839716B480F600A278FE /* XPCServiceMain.Development.mm */,
                                BC82839616B47EC400A278FE /* XPCServiceMain.mm */,
                        );
                        name = XPCService;
                        isa = PBXGroup;
                        children = (
                                BC8283A216B4BD9100A278FE /* NetworkService */,
-                               BC8283A516B4BD9100A278FE /* NetworkService.Development */,
                                BC8283A816B4BD9100A278FE /* NetworkServiceEntryPoint.mm */,
                        );
                        name = XPCService;
                        path = NetworkService;
                        sourceTree = "<group>";
                };
-               BC8283A516B4BD9100A278FE /* NetworkService.Development */ = {
-                       isa = PBXGroup;
-                       children = (
-                               2D70AB1318A1D51A00026D6E /* Info-iOS.plist */,
-                               BC8283A616B4BD9100A278FE /* Info-OSX.plist */,
-                       );
-                       path = NetworkService.Development;
-                       sourceTree = "<group>";
-               };
                BC8283E216B4F8E200A278FE /* XPCService */ = {
                        isa = PBXGroup;
                        children = (
                                BC8283E916B4F8E200A278FE /* PluginService */,
-                               BCBECDBF16B5CE0D00047A1A /* PluginService.Development */,
                                BC8283EF16B4F8E200A278FE /* PluginServiceEntryPoint.mm */,
                        );
                        name = XPCService;
                        isa = PBXGroup;
                        children = (
                                BCACC43F16B24CAA00B6E092 /* WebContentService */,
-                               BCACC44216B24CAA00B6E092 /* WebContentService.Development */,
                                BC82839816B48DC000A278FE /* WebContentServiceEntryPoint.mm */,
                        );
                        name = XPCService;
                        path = WebContentService;
                        sourceTree = "<group>";
                };
-               BCACC44216B24CAA00B6E092 /* WebContentService.Development */ = {
-                       isa = PBXGroup;
-                       children = (
-                               2D70AB1418A1D57C00026D6E /* Info-iOS.plist */,
-                               BCACC44316B24CAA00B6E092 /* Info-OSX.plist */,
-                       );
-                       path = WebContentService.Development;
-                       sourceTree = "<group>";
-               };
-               BCBECDBF16B5CE0D00047A1A /* PluginService.Development */ = {
-                       isa = PBXGroup;
-                       children = (
-                               BCBECDC016B5CE0D00047A1A /* Info.plist */,
-                       );
-                       path = PluginService.Development;
-                       sourceTree = "<group>";
-               };
                BCC56F751159955E001CCAF9 /* mac */ = {
                        isa = PBXGroup;
                        children = (
                        productReference = 510CC80E1613C79900D03ED3 /* NetworkProcess.app */;
                        productType = "com.apple.product-type.application";
                };
-               5180C713180CCA3100FDA612 /* Databases.Development */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 5180C719180CCA3100FDA612 /* Build configuration list for PBXNativeTarget "Databases.Development" */;
-                       buildPhases = (
-                               5180C714180CCA3100FDA612 /* Sources */,
-                               5180C716180CCA3100FDA612 /* Frameworks */,
-                               5180C718180CCA3100FDA612 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               375E0637191EA9A7004E3CAF /* PBXTargetDependency */,
-                       );
-                       name = Databases.Development;
-                       productName = Networking.Development;
-                       productReference = 5180C71D180CCA3100FDA612 /* com.apple.WebKit.Databases.Development.xpc */;
-                       productType = "com.apple.product-type.bundle";
-               };
                51F7DC3F180CC93600212CA3 /* Databases */ = {
                        isa = PBXNativeTarget;
                        buildConfigurationList = 51F7DC46180CC93600212CA3 /* Build configuration list for PBXNativeTarget "Databases" */;
                        );
                        name = Databases;
                        productName = Networking;
-                       productReference = 51F7DC4A180CC93600212CA3 /* com.apple.WebKit.Databases.xpc */;
+                       productReference = 51F7DC4A180CC93600212CA3 /* com.apple.WebKit.Databases.Development.xpc */;
                        productType = "com.apple.product-type.bundle";
                };
                51FA1E17180CCADE00C44BE9 /* DatabaseProcess */ = {
                        );
                        name = WebContent;
                        productName = WebKit2Service;
-                       productReference = BC3DE46615A91763008D26FC /* com.apple.WebKit.WebContent.xpc */;
+                       productReference = BC3DE46615A91763008D26FC /* com.apple.WebKit.WebContent.Development.xpc */;
                        productType = "com.apple.product-type.bundle";
                };
                BC8283B016B4BF7700A278FE /* Networking */ = {
                        );
                        name = Networking;
                        productName = Networking;
-                       productReference = BC8283B116B4BF7700A278FE /* com.apple.WebKit.Networking.xpc */;
-                       productType = "com.apple.product-type.bundle";
-               };
-               BC8283C416B4BFA800A278FE /* Networking.Development */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = BC8283D016B4BFA800A278FE /* Build configuration list for PBXNativeTarget "Networking.Development" */;
-                       buildPhases = (
-                               BC8283C116B4BFA800A278FE /* Sources */,
-                               BC8283C216B4BFA800A278FE /* Frameworks */,
-                               BC8283C316B4BFA800A278FE /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               375E063B191EA9BA004E3CAF /* PBXTargetDependency */,
-                       );
-                       name = Networking.Development;
-                       productName = Networking.Development;
-                       productReference = BC8283C516B4BFA800A278FE /* com.apple.WebKit.Networking.Development.xpc */;
+                       productReference = BC8283B116B4BF7700A278FE /* com.apple.WebKit.Networking.Development.xpc */;
                        productType = "com.apple.product-type.bundle";
                };
                BC8283F816B4FDDE00A278FE /* Plugin.32 */ = {
                        );
                        name = Plugin.32;
                        productName = Plugin.32;
-                       productReference = BC8283F916B4FDDE00A278FE /* com.apple.WebKit.Plugin.32.xpc */;
+                       productReference = BC8283F916B4FDDE00A278FE /* com.apple.WebKit.Plugin.32.Development.xpc */;
                        productType = "com.apple.product-type.bundle";
                };
                BC82841E16B4FDF600A278FE /* Plugin.64 */ = {
                        );
                        name = Plugin.64;
                        productName = Plugin.64;
-                       productReference = BC82841F16B4FDF600A278FE /* com.apple.WebKit.Plugin.64.xpc */;
-                       productType = "com.apple.product-type.bundle";
-               };
-               BC82843116B4FE1300A278FE /* Plugin.32.Development */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = BC82843D16B4FE1400A278FE /* Build configuration list for PBXNativeTarget "Plugin.32.Development" */;
-                       buildPhases = (
-                               BC82842E16B4FE1300A278FE /* Sources */,
-                               BC82842F16B4FE1300A278FE /* Frameworks */,
-                               BC82843016B4FE1300A278FE /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               375E0639191EA9AD004E3CAF /* PBXTargetDependency */,
-                       );
-                       name = Plugin.32.Development;
-                       productName = Plugin.64.Development;
-                       productReference = BC82843216B4FE1300A278FE /* com.apple.WebKit.Plugin.32.Development.xpc */;
-                       productType = "com.apple.product-type.bundle";
-               };
-               BCAE9DE8160C097400A33217 /* WebContent.Development */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = BCAE9DF6160C097500A33217 /* Build configuration list for PBXNativeTarget "WebContent.Development" */;
-                       buildPhases = (
-                               BCAE9DE5160C097400A33217 /* Sources */,
-                               BCAE9DE6160C097400A33217 /* Frameworks */,
-                               BCAE9DE7160C097400A33217 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               375E063D191EA9C1004E3CAF /* PBXTargetDependency */,
-                       );
-                       name = WebContent.Development;
-                       productName = WebProcessServiceForWebKitDevelopment;
-                       productReference = BCAE9DE9160C097400A33217 /* com.apple.WebKit.WebContent.Development.xpc */;
+                       productReference = BC82841F16B4FDF600A278FE /* com.apple.WebKit.Plugin.64.Development.xpc */;
                        productType = "com.apple.product-type.bundle";
                };
                BCDE093313272496001259FB /* PluginProcess */ = {
                        productReference = CDC3830617211799008A2FC3 /* WebProcessShim.dylib */;
                        productType = "com.apple.product-type.library.dynamic";
                };
-               E1B1B18C1A7AC1F5007B0965 /* Plugin.64.Development */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = E1B1B1941A7AC1F5007B0965 /* Build configuration list for PBXNativeTarget "Plugin.64.Development" */;
-                       buildPhases = (
-                               E1B1B18F1A7AC1F5007B0965 /* Sources */,
-                               E1B1B1911A7AC1F5007B0965 /* Frameworks */,
-                               E1B1B1931A7AC1F5007B0965 /* Resources */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               E1B1B18D1A7AC1F5007B0965 /* PBXTargetDependency */,
-                       );
-                       name = Plugin.64.Development;
-                       productName = Plugin.64.Development;
-                       productReference = E1B1B1981A7AC1F5007B0965 /* com.apple.WebKit.Plugin.64.Development.xpc */;
-                       productType = "com.apple.product-type.bundle";
-               };
 /* End PBXNativeTarget section */
 
 /* Begin PBXProject section */
                                510031EA1379CACB00C8DFE4 /* SecItemShim */,
                                CDC382FB17211799008A2FC3 /* WebProcessShim */,
                                BC3DE46515A91763008D26FC /* WebContent */,
-                               BCAE9DE8160C097400A33217 /* WebContent.Development */,
                                BC8283B016B4BF7700A278FE /* Networking */,
-                               BC8283C416B4BFA800A278FE /* Networking.Development */,
                                BC8283F816B4FDDE00A278FE /* Plugin.32 */,
                                BC82841E16B4FDF600A278FE /* Plugin.64 */,
-                               BC82843116B4FE1300A278FE /* Plugin.32.Development */,
-                               E1B1B18C1A7AC1F5007B0965 /* Plugin.64.Development */,
                                51F7DC3F180CC93600212CA3 /* Databases */,
-                               5180C713180CCA3100FDA612 /* Databases.Development */,
                                A7AADA1019395CA9003EA1C7 /* Sandbox Profiles */,
                        );
                };
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
-               5180C718180CCA3100FDA612 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
                51F7DC45180CC93600212CA3 /* Resources */ = {
                        isa = PBXResourcesBuildPhase;
                        buildActionMask = 2147483647;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
-               BC8283C316B4BFA800A278FE /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
                BC8283F716B4FDDE00A278FE /* Resources */ = {
                        isa = PBXResourcesBuildPhase;
                        buildActionMask = 2147483647;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
-               BC82843016B4FE1300A278FE /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               BCAE9DE7160C097400A33217 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               E1D26A52175964D90095BFD1 /* WebContentProcess.xib in Resources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
                BCDE093813272496001259FB /* Resources */ = {
                        isa = PBXResourcesBuildPhase;
                        buildActionMask = 2147483647;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
-               E1B1B1931A7AC1F5007B0965 /* Resources */ = {
-                       isa = PBXResourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXShellScriptBuildPhase section */
                        files = (
                        );
                        inputPaths = (
-                               "$(BUILT_PRODUCTS_DIR)/com.apple.WebKit.WebContent.xpc",
-                               "$(BUILT_PRODUCTS_DIR)/com.apple.WebKit.WebContent.Development.xpc",
-                               "$(BUILT_PRODUCTS_DIR)/com.apple.WebKit.Networking.xpc",
-                               "$(BUILT_PRODUCTS_DIR)/com.apple.WebKit.Networking.Development.xpc",
-                               "$(BUILT_PRODUCTS_DIR)/com.apple.WebKit.Plugin.32.xpc",
-                               "$(BUILT_PRODUCTS_DIR)/com.apple.WebKit.Plugin.64.xpc",
-                               "$(BUILT_PRODUCTS_DIR)/com.apple.WebKit.Plugin.32.Development.xpc",
-                               "$(BUILT_PRODUCTS_DIR)/com.apple.WebKit.Plugin.64.Development.xpc",
-                               "$(BUILT_PRODUCTS_DIR)/com.apple.WebKit.Databases.xpc",
-                               "$(BUILT_PRODUCTS_DIR)/com.apple.WebKit.Databases.Development.xpc",
+                               "$(BUILT_PRODUCTS_DIR)/com.apple.WebKit.WebContent$(WK_XPC_SERVICE_SUFFIX).xpc",
+                               "$(BUILT_PRODUCTS_DIR)/com.apple.WebKit.Networking$(WK_XPC_SERVICE_SUFFIX).xpc",
+                               "$(BUILT_PRODUCTS_DIR)/com.apple.WebKit.Plugin.32$(WK_XPC_SERVICE_SUFFIX).xpc",
+                               "$(BUILT_PRODUCTS_DIR)/com.apple.WebKit.Plugin.64$(WK_XPC_SERVICE_SUFFIX).xpc",
+                               "$(BUILT_PRODUCTS_DIR)/com.apple.WebKit.Databases$(WK_XPC_SERVICE_SUFFIX).xpc",
                        );
                        name = "Copy XPC services for engineering builds";
                        outputPaths = (
-                               "$(BUILT_PRODUCTS_DIR)/WebKit.framework/XPCServices/com.apple.WebKit.WebContent.xpc",
-                               "$(BUILT_PRODUCTS_DIR)/WebKit.framework/XPCServices/com.apple.WebKit.WebContent.Development.xpc",
-                               "$(BUILT_PRODUCTS_DIR)/WebKit.framework/XPCServices/com.apple.WebKit.Networking.xpc",
-                               "$(BUILT_PRODUCTS_DIR)/WebKit.framework/XPCServices/com.apple.WebKit.Networking.Development.xpc",
-                               "$(BUILT_PRODUCTS_DIR)/WebKit.framework/XPCServices/com.apple.WebKit.Plugin.32.xpc",
-                               "$(BUILT_PRODUCTS_DIR)/WebKit.framework/XPCServices/com.apple.WebKit.Plugin.64.xpc",
-                               "$(BUILT_PRODUCTS_DIR)/WebKit.framework/XPCServices/com.apple.WebKit.Plugin.32.Development.xpc",
-                               "$(BUILT_PRODUCTS_DIR)/WebKit.framework/XPCServices/com.apple.WebKit.Plugin.64.Development.xpc",
-                               "$(BUILT_PRODUCTS_DIR)/WebKit.framework/XPCServices/com.apple.WebKit.Databases.xpc",
-                               "$(BUILT_PRODUCTS_DIR)/WebKit.framework/XPCServices/com.apple.WebKit.Databases.Development.xpc",
+                               "$(BUILT_PRODUCTS_DIR)/WebKit.framework/XPCServices/com.apple.WebKit.WebContent$(WK_XPC_SERVICE_SUFFIX).xpc",
+                               "$(BUILT_PRODUCTS_DIR)/WebKit.framework/XPCServices/com.apple.WebKit.Networking$(WK_XPC_SERVICE_SUFFIX).xpc",
+                               "$(BUILT_PRODUCTS_DIR)/WebKit.framework/XPCServices/com.apple.WebKit.Plugin.32$(WK_XPC_SERVICE_SUFFIX).xpc",
+                               "$(BUILT_PRODUCTS_DIR)/WebKit.framework/XPCServices/com.apple.WebKit.Plugin.64$(WK_XPC_SERVICE_SUFFIX).xpc",
+                               "$(BUILT_PRODUCTS_DIR)/WebKit.framework/XPCServices/com.apple.WebKit.Databases$(WK_XPC_SERVICE_SUFFIX).xpc",
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
-                       shellScript = "if [[ \"${CONFIGURATION}\" == \"Production\" ]]; then\n    exit\nfi\n\nif [[ ${PLATFORM_NAME} != \"macosx\" ]]; then\n    XPC_SERVICES_PATH=\"${BUILT_PRODUCTS_DIR}/WebKit.framework/XPCServices\"\nelse\n    XPC_SERVICES_PATH=\"${BUILT_PRODUCTS_DIR}/WebKit.framework/Versions/A/XPCServices\"\nfi\n\nmkdir -p \"${XPC_SERVICES_PATH}\"\nditto \"${BUILT_PRODUCTS_DIR}/com.apple.WebKit.WebContent.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.WebContent.xpc\"\nditto \"${BUILT_PRODUCTS_DIR}/com.apple.WebKit.WebContent.Development.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.WebContent.Development.xpc\"\nditto \"${BUILT_PRODUCTS_DIR}/com.apple.WebKit.Networking.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.Networking.xpc\"\nditto \"${BUILT_PRODUCTS_DIR}/com.apple.WebKit.Networking.Development.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.Networking.Development.xpc\"\nditto \"${BUILT_PRODUCTS_DIR}/com.apple.WebKit.Databases.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.Databases.xpc\"\nditto \"${BUILT_PRODUCTS_DIR}/com.apple.WebKit.Databases.Development.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.Databases.Development.xpc\"\n\nif [[ ${PLATFORM_NAME} == macosx ]]; then\n    ditto \"${BUILT_PRODUCTS_DIR}/com.apple.WebKit.Plugin.32.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.Plugin.32.xpc\"\n    ditto \"${BUILT_PRODUCTS_DIR}/com.apple.WebKit.Plugin.64.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.Plugin.64.xpc\"\n    ditto \"${BUILT_PRODUCTS_DIR}/com.apple.WebKit.Plugin.32.Development.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.Plugin.32.Development.xpc\"\n    ditto \"${BUILT_PRODUCTS_DIR}/com.apple.WebKit.Plugin.64.Development.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.Plugin.64.Development.xpc\"\nfi\n";
+                       shellScript = "if [[ \"${CONFIGURATION}\" == \"Production\" ]]; then\n    exit\nfi\n\nif [[ ${PLATFORM_NAME} != \"macosx\" ]]; then\n    XPC_SERVICES_PATH=\"${BUILT_PRODUCTS_DIR}/WebKit.framework/XPCServices\"\nelse\n    XPC_SERVICES_PATH=\"${BUILT_PRODUCTS_DIR}/WebKit.framework/Versions/A/XPCServices\"\nfi\n\nmkdir -p \"${XPC_SERVICES_PATH}\"\nditto \"${BUILT_PRODUCTS_DIR}/com.apple.WebKit.WebContent${WK_XPC_SERVICE_SUFFIX}.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.WebContent${WK_XPC_SERVICE_SUFFIX}.xpc\"\nditto \"${BUILT_PRODUCTS_DIR}/com.apple.WebKit.Networking${WK_XPC_SERVICE_SUFFIX}.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.Networking${WK_XPC_SERVICE_SUFFIX}.xpc\"\nditto \"${BUILT_PRODUCTS_DIR}/com.apple.WebKit.Databases${WK_XPC_SERVICE_SUFFIX}.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.Databases${WK_XPC_SERVICE_SUFFIX}.xpc\"\n\nif [[ ${PLATFORM_NAME} == macosx ]]; then\n    ditto \"${BUILT_PRODUCTS_DIR}/com.apple.WebKit.Plugin.32${WK_XPC_SERVICE_SUFFIX}.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.Plugin.32${WK_XPC_SERVICE_SUFFIX}.xpc\"\n    ditto \"${BUILT_PRODUCTS_DIR}/com.apple.WebKit.Plugin.64${WK_XPC_SERVICE_SUFFIX}.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.Plugin.64${WK_XPC_SERVICE_SUFFIX}.xpc\"\nfi\n";
                };
                C0CE72841247E66800BC0EC4 /* Generate Derived Sources */ = {
                        isa = PBXShellScriptBuildPhase;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
-               5180C714180CCA3100FDA612 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               5180C715180CCA3100FDA612 /* XPCServiceMain.Development.mm in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
                51F7DC40180CC93600212CA3 /* Sources */ = {
                        isa = PBXSourcesBuildPhase;
                        buildActionMask = 2147483647;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
-               BC8283C116B4BFA800A278FE /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               BC5D24A816CC3D5E007D5461 /* XPCServiceMain.Development.mm in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
                BC8283F516B4FDDE00A278FE /* Sources */ = {
                        isa = PBXSourcesBuildPhase;
                        buildActionMask = 2147483647;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
-               BC82842E16B4FE1300A278FE /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               BC5D24AA16CC3D5F007D5461 /* XPCServiceMain.Development.mm in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-               BCAE9DE5160C097400A33217 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               BC5D24A716CC3D5D007D5461 /* XPCServiceMain.Development.mm in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
                BCDE093A13272496001259FB /* Sources */ = {
                        isa = PBXSourcesBuildPhase;
                        buildActionMask = 2147483647;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
-               E1B1B18F1A7AC1F5007B0965 /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               E1B1B1901A7AC1F5007B0965 /* XPCServiceMain.Development.mm in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
 /* End PBXSourcesBuildPhase section */
 
 /* Begin PBXTargetDependency section */
                        target = 8DC2EF4F0486A6940098B216 /* WebKit */;
                        targetProxy = 375E0632191EA909004E3CAF /* PBXContainerItemProxy */;
                };
-               375E0637191EA9A7004E3CAF /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       target = 8DC2EF4F0486A6940098B216 /* WebKit */;
-                       targetProxy = 375E0636191EA9A7004E3CAF /* PBXContainerItemProxy */;
-               };
-               375E0639191EA9AD004E3CAF /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       target = 8DC2EF4F0486A6940098B216 /* WebKit */;
-                       targetProxy = 375E0638191EA9AD004E3CAF /* PBXContainerItemProxy */;
-               };
-               375E063B191EA9BA004E3CAF /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       target = 8DC2EF4F0486A6940098B216 /* WebKit */;
-                       targetProxy = 375E063A191EA9BA004E3CAF /* PBXContainerItemProxy */;
-               };
-               375E063D191EA9C1004E3CAF /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       target = 8DC2EF4F0486A6940098B216 /* WebKit */;
-                       targetProxy = 375E063C191EA9C1004E3CAF /* PBXContainerItemProxy */;
-               };
                375E063F191EAA33004E3CAF /* PBXTargetDependency */ = {
                        isa = PBXTargetDependency;
                        target = 8DC2EF4F0486A6940098B216 /* WebKit */;
                        target = 51F7DC3F180CC93600212CA3 /* Databases */;
                        targetProxy = 51A60B2D180CCF1700F3BF50 /* PBXContainerItemProxy */;
                };
-               51A60B30180CCF1700F3BF50 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       target = 5180C713180CCA3100FDA612 /* Databases.Development */;
-                       targetProxy = 51A60B2F180CCF1700F3BF50 /* PBXContainerItemProxy */;
-               };
                51FA1E1A180CCADE00C44BE9 /* PBXTargetDependency */ = {
                        isa = PBXTargetDependency;
                        target = 8DC2EF4F0486A6940098B216 /* WebKit */;
                        target = BC8283B016B4BF7700A278FE /* Networking */;
                        targetProxy = BC8283D416B4C01F00A278FE /* PBXContainerItemProxy */;
                };
-               BC8283D716B4C02200A278FE /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       target = BC8283C416B4BFA800A278FE /* Networking.Development */;
-                       targetProxy = BC8283D616B4C02200A278FE /* PBXContainerItemProxy */;
-               };
                BC82844616B4FF6600A278FE /* PBXTargetDependency */ = {
                        isa = PBXTargetDependency;
                        target = BC82841E16B4FDF600A278FE /* Plugin.64 */;
                        targetProxy = BC82844516B4FF6600A278FE /* PBXContainerItemProxy */;
                };
-               BC82844816B4FF6F00A278FE /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       target = BC82843116B4FE1300A278FE /* Plugin.32.Development */;
-                       targetProxy = BC82844716B4FF6F00A278FE /* PBXContainerItemProxy */;
-               };
                BCA8D46815BCE0D6009DC1F1 /* PBXTargetDependency */ = {
                        isa = PBXTargetDependency;
                        target = BC3DE46515A91763008D26FC /* WebContent */;
                        targetProxy = BCA8D46715BCE0D6009DC1F1 /* PBXContainerItemProxy */;
                };
-               BCAE9DFD160C0AB000A33217 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       target = BCAE9DE8160C097400A33217 /* WebContent.Development */;
-                       targetProxy = BCAE9DFC160C0AB000A33217 /* PBXContainerItemProxy */;
-               };
                BCDE093613272496001259FB /* PBXTargetDependency */ = {
                        isa = PBXTargetDependency;
                        target = 8DC2EF4F0486A6940098B216 /* WebKit */;
                        target = BCDE093313272496001259FB /* PluginProcess */;
                        targetProxy = BCDE0AC013272712001259FB /* PBXContainerItemProxy */;
                };
-               E1B1B18D1A7AC1F5007B0965 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       target = 8DC2EF4F0486A6940098B216 /* WebKit */;
-                       targetProxy = E1B1B18E1A7AC1F5007B0965 /* PBXContainerItemProxy */;
-               };
-               E1B1B19C1A7AD133007B0965 /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       target = E1B1B18C1A7AC1F5007B0965 /* Plugin.64.Development */;
-                       targetProxy = E1B1B19B1A7AD133007B0965 /* PBXContainerItemProxy */;
-               };
 /* End PBXTargetDependency section */
 
 /* Begin PBXVariantGroup section */
                        };
                        name = Production;
                };
-               5180C71A180CCA3100FDA612 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 51A60B28180CCD9000F3BF50 /* DatabaseService.Development.xcconfig */;
-                       buildSettings = {
-                       };
-                       name = Debug;
-               };
-               5180C71B180CCA3100FDA612 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 51A60B28180CCD9000F3BF50 /* DatabaseService.Development.xcconfig */;
-                       buildSettings = {
-                       };
-                       name = Release;
-               };
-               5180C71C180CCA3100FDA612 /* Production */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = 51A60B28180CCD9000F3BF50 /* DatabaseService.Development.xcconfig */;
-                       buildSettings = {
-                       };
-                       name = Production;
-               };
                51F7DC47180CC93600212CA3 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        baseConfigurationReference = 51A60B29180CCD9000F3BF50 /* DatabaseService.xcconfig */;
                        };
                        name = Production;
                };
-               BC8283D116B4BFA800A278FE /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = BC8283AA16B4BEAD00A278FE /* NetworkService.Development.xcconfig */;
-                       buildSettings = {
-                       };
-                       name = Debug;
-               };
-               BC8283D216B4BFA800A278FE /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = BC8283AA16B4BEAD00A278FE /* NetworkService.Development.xcconfig */;
-                       buildSettings = {
-                       };
-                       name = Release;
-               };
-               BC8283D316B4BFA800A278FE /* Production */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = BC8283AA16B4BEAD00A278FE /* NetworkService.Development.xcconfig */;
-                       buildSettings = {
-                       };
-                       name = Production;
-               };
                BC82840516B4FDDE00A278FE /* Debug */ = {
                        isa = XCBuildConfiguration;
                        baseConfigurationReference = BC8283F216B4FC5300A278FE /* PluginService.32.xcconfig */;
                        };
                        name = Production;
                };
-               BC82843E16B4FE1400A278FE /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = E1B1B19A1A7AC287007B0965 /* PluginService.32.Development.xcconfig */;
-                       buildSettings = {
-                       };
-                       name = Debug;
-               };
-               BC82843F16B4FE1400A278FE /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = E1B1B19A1A7AC287007B0965 /* PluginService.32.Development.xcconfig */;
-                       buildSettings = {
-                       };
-                       name = Release;
-               };
-               BC82844016B4FE1400A278FE /* Production */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = E1B1B19A1A7AC287007B0965 /* PluginService.32.Development.xcconfig */;
-                       buildSettings = {
-                       };
-                       name = Production;
-               };
-               BCAE9DF7160C097500A33217 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = BCACC40F16B0B8A800B6E092 /* WebContentService.Development.xcconfig */;
-                       buildSettings = {
-                       };
-                       name = Debug;
-               };
-               BCAE9DF8160C097500A33217 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = BCACC40F16B0B8A800B6E092 /* WebContentService.Development.xcconfig */;
-                       buildSettings = {
-                       };
-                       name = Release;
-               };
-               BCAE9DF9160C097500A33217 /* Production */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = BCACC40F16B0B8A800B6E092 /* WebContentService.Development.xcconfig */;
-                       buildSettings = {
-                       };
-                       name = Production;
-               };
                BCDE093F13272496001259FB /* Debug */ = {
                        isa = XCBuildConfiguration;
                        baseConfigurationReference = BC122FA3132707F300F7EAC1 /* PluginProcess.xcconfig */;
                        };
                        name = Production;
                };
-               E1B1B1951A7AC1F5007B0965 /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = BCBECDC216B5CE2A00047A1A /* PluginService.64.Development.xcconfig */;
-                       buildSettings = {
-                       };
-                       name = Debug;
-               };
-               E1B1B1961A7AC1F5007B0965 /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = BCBECDC216B5CE2A00047A1A /* PluginService.64.Development.xcconfig */;
-                       buildSettings = {
-                       };
-                       name = Release;
-               };
-               E1B1B1971A7AC1F5007B0965 /* Production */ = {
-                       isa = XCBuildConfiguration;
-                       baseConfigurationReference = BCBECDC216B5CE2A00047A1A /* PluginService.64.Development.xcconfig */;
-                       buildSettings = {
-                       };
-                       name = Production;
-               };
 /* End XCBuildConfiguration section */
 
 /* Begin XCConfigurationList section */
                        defaultConfigurationIsVisible = 0;
                        defaultConfigurationName = Production;
                };
-               5180C719180CCA3100FDA612 /* Build configuration list for PBXNativeTarget "Databases.Development" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               5180C71A180CCA3100FDA612 /* Debug */,
-                               5180C71B180CCA3100FDA612 /* Release */,
-                               5180C71C180CCA3100FDA612 /* Production */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Production;
-               };
                51F7DC46180CC93600212CA3 /* Build configuration list for PBXNativeTarget "Databases" */ = {
                        isa = XCConfigurationList;
                        buildConfigurations = (
                        defaultConfigurationIsVisible = 0;
                        defaultConfigurationName = Production;
                };
-               BC8283D016B4BFA800A278FE /* Build configuration list for PBXNativeTarget "Networking.Development" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               BC8283D116B4BFA800A278FE /* Debug */,
-                               BC8283D216B4BFA800A278FE /* Release */,
-                               BC8283D316B4BFA800A278FE /* Production */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Production;
-               };
                BC82840416B4FDDE00A278FE /* Build configuration list for PBXNativeTarget "Plugin.32" */ = {
                        isa = XCConfigurationList;
                        buildConfigurations = (
                        defaultConfigurationIsVisible = 0;
                        defaultConfigurationName = Production;
                };
-               BC82843D16B4FE1400A278FE /* Build configuration list for PBXNativeTarget "Plugin.32.Development" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               BC82843E16B4FE1400A278FE /* Debug */,
-                               BC82843F16B4FE1400A278FE /* Release */,
-                               BC82844016B4FE1400A278FE /* Production */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Production;
-               };
-               BCAE9DF6160C097500A33217 /* Build configuration list for PBXNativeTarget "WebContent.Development" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               BCAE9DF7160C097500A33217 /* Debug */,
-                               BCAE9DF8160C097500A33217 /* Release */,
-                               BCAE9DF9160C097500A33217 /* Production */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Production;
-               };
                BCDE093E13272496001259FB /* Build configuration list for PBXNativeTarget "PluginProcess" */ = {
                        isa = XCConfigurationList;
                        buildConfigurations = (
                        defaultConfigurationIsVisible = 0;
                        defaultConfigurationName = Production;
                };
-               E1B1B1941A7AC1F5007B0965 /* Build configuration list for PBXNativeTarget "Plugin.64.Development" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               E1B1B1951A7AC1F5007B0965 /* Debug */,
-                               E1B1B1961A7AC1F5007B0965 /* Release */,
-                               E1B1B1971A7AC1F5007B0965 /* Production */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Production;
-               };
 /* End XCConfigurationList section */
        };
        rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
diff --git a/Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist b/Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist
deleted file mode 100644 (file)
index 7e8bd41..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleFollowParentLocalization</key>
-       <true/>
-       <key>CFBundleGetInfoString</key>
-       <string>${BUNDLE_VERSION}, Copyright 2003-2016 Apple Inc.</string>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>${EXECUTABLE_NAME}</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.apple.WebKit.WebContent.Development</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundleName</key>
-       <string>${PRODUCT_NAME}</string>
-       <key>CFBundlePackageType</key>
-       <string>XPC!</string>
-       <key>CFBundleShortVersionString</key>
-       <string>${SHORT_VERSION_STRING}</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>${BUNDLE_VERSION}</string>
-       <key>LSFileQuarantineEnabled</key>
-       <true/>
-       <key>NSPrincipalClass</key>
-       <string>NSApplication</string>
-       <key>WebKitEntryPoint</key>
-       <string>WebContentServiceInitializer</string>
-       <key>LSUIElement</key>
-       <true/>
-       <key>NSSupportsAutomaticGraphicsSwitching</key>
-       <true/>
-       <key>NSSupportsAppNap</key>
-       <true/>
-       <key>NSMainNibFile</key>
-       <string>WebContentProcess</string>
-       <key>XPCService</key>
-       <dict>
-               <key>JoinExistingSession</key>
-               <true/>
-               <key>ServiceType</key>
-               <string>Application</string>
-               <key>RunLoopType</key>
-               <string>_NSApplicationMain</string>
-               <key>_MultipleInstances</key>
-               <true/>
-       </dict>
-</dict>
-</plist>
diff --git a/Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist b/Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist
deleted file mode 100644 (file)
index 633ed56..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleFollowParentLocalization</key>
-       <true/>
-       <key>CFBundleGetInfoString</key>
-       <string>${BUNDLE_VERSION}, Copyright 2003-2016 Apple Inc.</string>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>${EXECUTABLE_NAME}</string>
-       <key>CFBundleIdentifier</key>
-       <string>com.apple.WebKit.WebContent.Development</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundleName</key>
-       <string>${PRODUCT_NAME}</string>
-       <key>CFBundlePackageType</key>
-       <string>XPC!</string>
-       <key>CFBundleShortVersionString</key>
-       <string>${SHORT_VERSION_STRING}</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>${BUNDLE_VERSION}</string>
-       <key>LSFileQuarantineEnabled</key>
-       <true/>
-       <key>WebKitEntryPoint</key>
-       <string>WebContentServiceInitializer</string>
-       <key>XPCService</key>
-       <dict>
-               <key>ServiceType</key>
-               <string>Application</string>
-               <key>RunLoopType</key>
-               <string>NSRunLoop</string>
-               <key>_MultipleInstances</key>
-               <true/>
-       </dict>
-       <key>UIBackgroundModes</key>
-       <array>
-               <string>audio</string>
-       </array>
-</dict>
-</plist>
index 853e0d5..d7d67e6 100644 (file)
@@ -11,7 +11,7 @@
        <key>CFBundleExecutable</key>
        <string>${EXECUTABLE_NAME}</string>
        <key>CFBundleIdentifier</key>
-       <string>com.apple.WebKit.WebContent</string>
+       <string>${PRODUCT_NAME}</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundleName</key>
@@ -51,7 +51,7 @@
                <key>EnvironmentVariables</key>
                <dict>
                        <key>DYLD_INSERT_LIBRARIES</key>
-                       <string>$(WEBKIT_FRAMEWORKS_DIR)/WebKit.framework/Frameworks/WebProcessShim.dylib</string>
+                       <string>$(WK_XPC_SERVICE_INSERT_LIBRARIES_DIR)/WebProcessShim.dylib</string>
                </dict>
        </dict>
 </dict>
index ce2fc37..75cc4cd 100644 (file)
@@ -11,7 +11,7 @@
        <key>CFBundleExecutable</key>
        <string>${EXECUTABLE_NAME}</string>
        <key>CFBundleIdentifier</key>
-       <string>com.apple.WebKit.WebContent</string>
+       <string>${PRODUCT_NAME}</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundleName</key>
index fe35d39..eae4c89 100644 (file)
@@ -11,7 +11,7 @@
        <key>CFBundleExecutable</key>
        <string>${EXECUTABLE_NAME}</string>
        <key>CFBundleIdentifier</key>
-       <string>com.apple.WebKit.WebContent</string>
+       <string>${PRODUCT_NAME}</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundleName</key>
index af479bc..51c702c 100644 (file)
@@ -1,3 +1,24 @@
+2016-01-28  Dan Bernstein  <mitz@apple.com>
+
+        [Cocoa] Use the non-Development variants of XPC services for development
+        https://bugs.webkit.org/show_bug.cgi?id=152545
+
+        Reviewed by Darin Adler.
+
+        * Scripts/webkitdirs.pm:
+        (setUpGuardMallocIfNeeded): Ensure that libgmalloc is loaded into XPC services as well.
+
+        * Scripts/webkitpy/port/driver.py:
+        (Driver._setup_environ_for_driver): Ensure that the DYLD_LIBRARY_PATH and ASAN_OPTIONS are
+          set in the XPC services as well.
+
+        * Scripts/webkitpy/port/ios.py:
+        (IOSSimulatorPort.setup_environ_for_server): Ensure that malloc stack logging for leaks and
+          Guard Malloc are enabled in XPC services as well.
+
+        * Scripts/webkitpy/port/mac.py:
+        (MacPort.setup_environ_for_server): Ditto.
+
 2016-01-28  Csaba Osztrogonác  <ossy@webkit.org>
 
         Unreviewed buildfix after r195743.
index d4a29d7..da537ec 100755 (executable)
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2007, 2010-2015 Apple Inc. All rights reserved.
+# Copyright (C) 2005-2007, 2010-2016 Apple Inc. All rights reserved.
 # Copyright (C) 2009 Google Inc. All rights reserved.
 # Copyright (C) 2011 Research In Motion Limited. All rights reserved.
 # Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies).
@@ -1447,6 +1447,7 @@ sub setUpGuardMallocIfNeeded
 
     if ($shouldUseGuardMalloc) {
         appendToEnvironmentVariableList("DYLD_INSERT_LIBRARIES", "/usr/lib/libgmalloc.dylib");
+        appendToEnvironmentVariableList("__XPC_DYLD_INSERT_LIBRARIES", "/usr/lib/libgmalloc.dylib");
     }
 }
 
index 54df9e7..44a745e 100644 (file)
@@ -1,5 +1,5 @@
 # Copyright (C) 2011 Google Inc. All rights reserved.
-# Copyright (c) 2015, Apple Inc. All rights reserved.
+# Copyright (c) 2015, 2016 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
@@ -313,6 +313,7 @@ class Driver(object):
 
     def _setup_environ_for_driver(self, environment):
         environment['DYLD_LIBRARY_PATH'] = str(self._port._build_path())
+        environment['__XPC_DYLD_LIBRARY_PATH'] = environment['DYLD_LIBRARY_PATH']
         environment['DYLD_FRAMEWORK_PATH'] = str(self._port._build_path())
         # Use an isolated temp directory that can be deleted after testing (especially important on Mac, as
         # CoreMedia disk cache is in the temp directory).
@@ -322,6 +323,7 @@ class Driver(object):
         environment['DUMPRENDERTREE_TEMP'] = str(self._driver_tempdir)
         environment['LOCAL_RESOURCE_ROOT'] = str(self._port.layout_tests_dir())
         environment['ASAN_OPTIONS'] = "allocator_may_return_null=1"
+        environment['__XPC_ASAN_OPTIONS'] = environment['ASAN_OPTIONS']
         if 'WEBKIT_OUTPUTDIR' in os.environ:
             environment['WEBKIT_OUTPUTDIR'] = os.environ['WEBKIT_OUTPUTDIR']
         if self._profiler:
index 81af15c..d33bb2c 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2014, 2015 Apple Inc. All rights reserved.
+# Copyright (C) 2014-2016 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions
@@ -266,8 +266,10 @@ class IOSSimulatorPort(Port):
         if server_name == self.driver_name():
             if self.get_option('leaks'):
                 env['MallocStackLogging'] = '1'
+                env['__XPC_MallocStackLogging'] = '1'
             if self.get_option('guard_malloc'):
                 self._append_value_colon_separated(env, 'DYLD_INSERT_LIBRARIES', '/usr/lib/libgmalloc.dylib')
+                self._append_value_colon_separated(env, '__XPC_DYLD_INSERT_LIBRARIES', '/usr/lib/libgmalloc.dylib')
             self._append_value_colon_separated(env, 'DYLD_INSERT_LIBRARIES', self._build_path("libWebCoreTestShim.dylib"))
         env['XML_CATALOG_FILES'] = ''  # work around missing /etc/catalog <rdar://problem/4292995>
         return env
index 88b0e99..f5bb9d7 100644 (file)
@@ -1,5 +1,5 @@
 # Copyright (C) 2011 Google Inc. All rights reserved.
-# Copyright (C) 2012, 2013 Apple Inc. All rights reserved.
+# Copyright (C) 2012, 2013, 2016 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
@@ -101,8 +101,10 @@ class MacPort(ApplePort):
         if server_name == self.driver_name():
             if self.get_option('leaks'):
                 env['MallocStackLogging'] = '1'
+                env['__XPC_MallocStackLogging'] = '1'
             if self.get_option('guard_malloc'):
                 self._append_value_colon_separated(env, 'DYLD_INSERT_LIBRARIES', '/usr/lib/libgmalloc.dylib')
+                self._append_value_colon_separated(env, '__XPC_DYLD_INSERT_LIBRARIES', '/usr/lib/libgmalloc.dylib')
             self._append_value_colon_separated(env, 'DYLD_INSERT_LIBRARIES', self._build_path("libWebCoreTestShim.dylib"))
         env['XML_CATALOG_FILES'] = ''  # work around missing /etc/catalog <rdar://problem/4292995>
         return env