Bug 191148 - Build error with deprecated init function in MockLocalConnection.mm when unified sources rotate
Summary: Build error with deprecated init function in MockLocalConnection.mm when unif...
Status: RESOLVED WORKSFORME
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on: 189279
Blocks:
  Show dependency treegraph
 
Reported: 2018-11-01 05:46 PDT by Frédéric Wang (:fredw)
Modified: 2018-11-23 02:21 PST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Frédéric Wang (:fredw) 2018-11-01 05:46:09 PDT
When UIProcess/WebAuthentication/Mock/MockLocalConnection.mm is moved from the unified group

UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm
UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm
UIProcess/RemoteLayerTree/ios/ScrollingTreeOverflowScrollingNodeIOS.mm
UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm
UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm
UIProcess/WebAuthentication/Cocoa/LocalConnection.mm
UIProcess/WebAuthentication/Cocoa/LocalService.mm

to

UIProcess/WebStorage/ios/LocalStorageDatabaseTrackerIOS.mm
UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm
UIProcess/ios/DragDropInteractionState.mm
UIProcess/ios/InputViewUpdateDeferrer.mm
UIProcess/ios/LayerRepresentation.mm
UIProcess/ios/PageClientImplIOS.mm
UIProcess/ios/ProcessAssertionIOS.mm

we obtain the following build error/warning on macOS:

/Users/fred/WebKit/Source/WebKit/UIProcess/WebAuthentication/Mock/MockLocalConnection.mm:66:70: error: 
      'init' is deprecated: first deprecated in macOS 10.12 - Use
      initWithActivityType: with a specific activity type string
      [-Werror,-Wdeprecated-declarations]
        callback(UserConsent::Yes, adoptNS([allocLAContextInstance() ini...
                                                                     ^
In file included from /Users/fred/WebKit/WebKitBuild/Debug/DerivedSources/WebKit2/unified-sources/UnifiedSource30-mm.mm:1:
In file included from /Users/fred/WebKit/Source/WebKit/WebKit2Prefix.h:49:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:127:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSUserActivity.h:28:1: note: 
      'init' has been explicitly marked deprecated here
- (instancetype)init API_DEPRECATED("Use initWithActivityType: with a sp...
^
1 error generated.

Or on iOS:

In file included from /Users/fred/WebKit/WebKitBuild/Debug-iphonesimulator/DerivedSources/WebKit2/unified-sources/UnifiedSource30-mm.mm:1:
/Users/fred/WebKit/Source/WebKit/UIProcess/WebAuthentication/Mock/MockLocalConnection.mm:66:70: error: 
      'init' is deprecated: first deprecated in iOS 12.0 - Use
      -initRequiringSecureCoding: instead [-Werror,-Wdeprecated-declarations]
        callback(UserConsent::Yes, adoptNS([allocLAContextInstance() ini...
                                                                     ^
In file included from /Users/fred/WebKit/WebKitBuild/Debug-iphonesimulator/DerivedSources/WebKit2/unified-sources/UnifiedSource30-mm.mm:1:
In file included from /Users/fred/WebKit/Source/WebKit/WebKit2Prefix.h:49:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:48:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSKeyedArchiver.h:63:1: note: 
      'init' has been explicitly marked deprecated here
- (instancetype)init API_DEPRECATED("Use -initRequiringSecureCoding: ins...
^
1 error generated.
Comment 1 Jiewen Tan 2018-11-22 15:12:52 PST
(In reply to Frédéric Wang (:fredw) from comment #0)
> When UIProcess/WebAuthentication/Mock/MockLocalConnection.mm is moved from
> the unified group
> 
> UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm
> UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm
> UIProcess/RemoteLayerTree/ios/ScrollingTreeOverflowScrollingNodeIOS.mm
> UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm
> UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm
> UIProcess/WebAuthentication/Cocoa/LocalConnection.mm
> UIProcess/WebAuthentication/Cocoa/LocalService.mm
> 
> to
> 
> UIProcess/WebStorage/ios/LocalStorageDatabaseTrackerIOS.mm
> UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm
> UIProcess/ios/DragDropInteractionState.mm
> UIProcess/ios/InputViewUpdateDeferrer.mm
> UIProcess/ios/LayerRepresentation.mm
> UIProcess/ios/PageClientImplIOS.mm
> UIProcess/ios/ProcessAssertionIOS.mm
> 
> we obtain the following build error/warning on macOS:
> 
> /Users/fred/WebKit/Source/WebKit/UIProcess/WebAuthentication/Mock/
> MockLocalConnection.mm:66:70: error: 
>       'init' is deprecated: first deprecated in macOS 10.12 - Use
>       initWithActivityType: with a specific activity type string
>       [-Werror,-Wdeprecated-declarations]
>         callback(UserConsent::Yes, adoptNS([allocLAContextInstance() ini...
>                                                                      ^
> In file included from
> /Users/fred/WebKit/WebKitBuild/Debug/DerivedSources/WebKit2/unified-sources/
> UnifiedSource30-mm.mm:1:
> In file included from /Users/fred/WebKit/Source/WebKit/WebKit2Prefix.h:49:
> In file included from
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/
> Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Foundation.
> framework/Headers/Foundation.h:127:
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/
> Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Foundation.
> framework/Headers/NSUserActivity.h:28:1: note: 
>       'init' has been explicitly marked deprecated here
> - (instancetype)init API_DEPRECATED("Use initWithActivityType: with a sp...
> ^
> 1 error generated.
> 
> Or on iOS:
> 
> In file included from
> /Users/fred/WebKit/WebKitBuild/Debug-iphonesimulator/DerivedSources/WebKit2/
> unified-sources/UnifiedSource30-mm.mm:1:
> /Users/fred/WebKit/Source/WebKit/UIProcess/WebAuthentication/Mock/
> MockLocalConnection.mm:66:70: error: 
>       'init' is deprecated: first deprecated in iOS 12.0 - Use
>       -initRequiringSecureCoding: instead [-Werror,-Wdeprecated-declarations]
>         callback(UserConsent::Yes, adoptNS([allocLAContextInstance() ini...
>                                                                      ^
> In file included from
> /Users/fred/WebKit/WebKitBuild/Debug-iphonesimulator/DerivedSources/WebKit2/
> unified-sources/UnifiedSource30-mm.mm:1:
> In file included from /Users/fred/WebKit/Source/WebKit/WebKit2Prefix.h:49:
> In file included from
> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
> platform/Developer/SDKs/iPhoneSimulator12.1.sdk/System/Library/Frameworks/
> Foundation.framework/Headers/Foundation.h:48:
> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
> platform/Developer/SDKs/iPhoneSimulator12.1.sdk/System/Library/Frameworks/
> Foundation.framework/Headers/NSKeyedArchiver.h:63:1: note: 
>       'init' has been explicitly marked deprecated here
> - (instancetype)init API_DEPRECATED("Use -initRequiringSecureCoding: ins...
> ^
> 1 error generated.

Please retry it once again on ToT. This should be fixed by r238166.
Comment 2 Frédéric Wang (:fredw) 2018-11-23 02:21:25 PST
(In reply to Jiewen Tan from comment #1)
> Please retry it once again on ToT. This should be fixed by r238166.

OK, it's not obvious how that could fix it to me, but I've not been able to reproduce the issue with the patch I was relying on so I guess we can close this.