REGRESSION (r248436): WKWebView doesn’t respect isOpaque setting in NIB.
authortimothy@apple.com <timothy@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 16 Aug 2019 17:23:27 +0000 (17:23 +0000)
committertimothy@apple.com <timothy@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 16 Aug 2019 17:23:27 +0000 (17:23 +0000)
commit02a8cad06181f4af6519117965878a48b7d2663c
tree79dd9906fa2b69c5cc6789ce50804f99f691a584
parent4318e7f3d92e1cb708e5b22bd824f4b2ac9966c0
REGRESSION (r248436): WKWebView doesn’t respect isOpaque setting in NIB.
https://bugs.webkit.org/show_bug.cgi?id=200802
rdar://problem/54357818

Reviewed by Tim Horton.

Source/WebKit:

Tests: WKWebView.IsOpaqueDefault, WKWebView.SetOpaqueYes, WKWebView.SetOpaqueNo, WKWebView.IsOpaqueYesSubclassOverridden,
WKWebView.IsOpaqueNoSubclassOverridden, WKWebView.IsOpaqueYesDecodedFromArchive, WKWebView.IsOpaqueNoDecodedFromArchive,
WKWebView.IsOpaqueDrawsBackgroundYesConfiguration, WKWebView.IsOpaqueDrawsBackgroundNoConfiguration.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]): Call _setOpaqueInternal:NO instead of self.opaque = NO.
(-[WKWebView _setOpaqueInternal:]): Added. Moved code from setOpaque:.
(-[WKWebView setOpaque:]): Call _setOpaqueInternal:.

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added WKWebViewOpaque.mm.
* TestWebKitAPI/Tests/ios/WKWebViewOpaque.mm: Added.
(-[OpaqueTestWKWebView isOpaque]): Added.
(-[NonOpaqueTestWKWebView isOpaque]): Added.
(isOpaque): Added.
(TEST): Added WKWebView.IsOpaqueDefault, WKWebView.SetOpaqueYes, WKWebView.SetOpaqueNo, WKWebView.IsOpaqueYesSubclassOverridden,
WKWebView.IsOpaqueNoSubclassOverridden, WKWebView.IsOpaqueYesDecodedFromArchive, WKWebView.IsOpaqueNoDecodedFromArchive,
WKWebView.IsOpaqueDrawsBackgroundYesConfiguration, WKWebView.IsOpaqueDrawsBackgroundNoConfiguration.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@248776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebKit/ChangeLog
Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
Tools/ChangeLog
Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
Tools/TestWebKitAPI/Tests/ios/WKWebViewOpaque.mm [new file with mode: 0644]