Title: [248839] branches/safari-608-branch
Revision
248839
Author
bshaf...@apple.com
Date
2019-08-18 23:03:30 -0700 (Sun, 18 Aug 2019)

Log Message

Cherry-pick r248776. rdar://problem/54455007

    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

Modified Paths

Added Paths

Diff

Modified: branches/safari-608-branch/Source/WebKit/ChangeLog (248838 => 248839)


--- branches/safari-608-branch/Source/WebKit/ChangeLog	2019-08-19 06:03:27 UTC (rev 248838)
+++ branches/safari-608-branch/Source/WebKit/ChangeLog	2019-08-19 06:03:30 UTC (rev 248839)
@@ -1,5 +1,57 @@
 2019-08-18  Babak Shafiei  <bshaf...@apple.com>
 
+        Cherry-pick r248776. rdar://problem/54455007
+
+    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
+
+    2019-08-16  Timothy Hatcher  <timo...@apple.com>
+
+            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.
+
+            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:.
+
+2019-08-18  Babak Shafiei  <bshaf...@apple.com>
+
         Cherry-pick r248733. rdar://problem/54454989
 
     Occasional hang under -[UIKeyboardTaskQueue lockWhenReadyForMainThread] when long-pressing non-editable text

Modified: branches/safari-608-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (248838 => 248839)


--- branches/safari-608-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2019-08-19 06:03:27 UTC (rev 248838)
+++ branches/safari-608-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2019-08-19 06:03:30 UTC (rev 248839)
@@ -712,7 +712,7 @@
     [self _dispatchSetDeviceOrientation:deviceOrientation()];
 
     if (!self.opaque || !pageConfiguration->drawsBackground())
-        self.opaque = NO;
+        [self _setOpaqueInternal:NO];
 
     [_contentView layer].anchorPoint = CGPointZero;
     [_contentView setFrame:bounds];
@@ -2577,16 +2577,12 @@
     _page->webViewDidMoveToWindow();
 }
 
-- (void)setOpaque:(BOOL)opaque
+- (void)_setOpaqueInternal:(BOOL)opaque
 {
-    BOOL oldOpaque = self.opaque;
+    [super setOpaque:opaque];
 
-    [super setOpaque:opaque];
     [_contentView setOpaque:opaque];
 
-    if (oldOpaque == opaque)
-        return;
-
     if (!_page)
         return;
 
@@ -2594,9 +2590,18 @@
     if (!opaque)
         backgroundColor = WebCore::Color(WebCore::Color::transparent);
     _page->setBackgroundColor(backgroundColor);
+
     [self _updateScrollViewBackground];
 }
 
+- (void)setOpaque:(BOOL)opaque
+{
+    if (opaque == self.opaque)
+        return;
+
+    [self _setOpaqueInternal:opaque];
+}
+
 - (void)setBackgroundColor:(UIColor *)backgroundColor
 {
     [super setBackgroundColor:backgroundColor];

Modified: branches/safari-608-branch/Tools/ChangeLog (248838 => 248839)


--- branches/safari-608-branch/Tools/ChangeLog	2019-08-19 06:03:27 UTC (rev 248838)
+++ branches/safari-608-branch/Tools/ChangeLog	2019-08-19 06:03:30 UTC (rev 248839)
@@ -1,3 +1,55 @@
+2019-08-18  Babak Shafiei  <bshaf...@apple.com>
+
+        Cherry-pick r248776. rdar://problem/54455007
+
+    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
+
+    2019-08-16  Timothy Hatcher  <timo...@apple.com>
+
+            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.
+
+            * 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.
+
 2019-08-15  Alan Coon  <alanc...@apple.com>
 
         Cherry-pick r248717. rdar://problem/54360854

Modified: branches/safari-608-branch/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj (248838 => 248839)


--- branches/safari-608-branch/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj	2019-08-19 06:03:27 UTC (rev 248838)
+++ branches/safari-608-branch/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj	2019-08-19 06:03:30 UTC (rev 248839)
@@ -89,6 +89,7 @@
 		1C734B5320788C4800F430EA /* SystemColors.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C734B5220788C4800F430EA /* SystemColors.mm */; };
 		1C7FEB20207C0F2E00D23278 /* BackgroundColor.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C7FEB1F207C0F2D00D23278 /* BackgroundColor.mm */; };
 		1C9EB8411E380DA1005C6442 /* ComplexTextController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C9EB8401E380DA1005C6442 /* ComplexTextController.cpp */; };
+		1CACADA1230620AE0007D54C /* WKWebViewOpaque.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1CACADA0230620AD0007D54C /* WKWebViewOpaque.mm */; };
 		1CAD1F861E5CE7DA00AF2C2C /* FontCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1CAD1F851E5CE7DA00AF2C2C /* FontCache.cpp */; };
 		1CF59AE221E68925006E37EC /* ForceLightAppearanceInBundle_Bundle.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1CF59AE021E68925006E37EC /* ForceLightAppearanceInBundle_Bundle.mm */; };
 		1CF59AE321E68932006E37EC /* ForceLightAppearanceInBundle.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1CF59ADF21E68925006E37EC /* ForceLightAppearanceInBundle.mm */; };
@@ -1487,6 +1488,7 @@
 		1C734B5220788C4800F430EA /* SystemColors.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SystemColors.mm; sourceTree = "<group>"; };
 		1C7FEB1F207C0F2D00D23278 /* BackgroundColor.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = BackgroundColor.mm; sourceTree = "<group>"; };
 		1C9EB8401E380DA1005C6442 /* ComplexTextController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComplexTextController.cpp; sourceTree = "<group>"; };
+		1CACADA0230620AD0007D54C /* WKWebViewOpaque.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKWebViewOpaque.mm; sourceTree = "<group>"; };
 		1CAD1F851E5CE7DA00AF2C2C /* FontCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FontCache.cpp; sourceTree = "<group>"; };
 		1CB9BC371A67482300FE5678 /* WeakPtr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WeakPtr.cpp; sourceTree = "<group>"; };
 		1CF0D3781BBF2F3D00B4EF54 /* WKRetainPtr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKRetainPtr.cpp; sourceTree = "<group>"; };
@@ -3020,6 +3022,7 @@
 				F46849BD1EEF58E400B937FE /* UIPasteboardTests.mm */,
 				F43E3BBE20DADA1E00A4E7ED /* WKScrollViewTests.mm */,
 				514958BD1F7427AC00E87BAD /* WKWebViewAutofillTests.mm */,
+				1CACADA0230620AD0007D54C /* WKWebViewOpaque.mm */,
 			);
 			path = ios;
 			sourceTree = "<group>";
@@ -4732,6 +4735,7 @@
 				F4106C6921ACBF84004B89A1 /* WKWebViewFirstResponderTests.mm in Sources */,
 				D34E08761E4E42E1005FF14A /* WKWebViewGetContents.mm in Sources */,
 				F4FA91811E61849B007B8C1D /* WKWebViewMacEditingTests.mm in Sources */,
+				1CACADA1230620AE0007D54C /* WKWebViewOpaque.mm in Sources */,
 				37A9DBE9213B4C9300D261A2 /* WKWebViewServerTrustKVC.mm in Sources */,
 				93F56DA91E5F919D003EDE84 /* WKWebViewSnapshot.mm in Sources */,
 				CD7F89DC22A86CDA00D683AE /* WKWebViewSuspendAllMediaPlayback.mm in Sources */,

Added: branches/safari-608-branch/Tools/TestWebKitAPI/Tests/ios/WKWebViewOpaque.mm (0 => 248839)


--- branches/safari-608-branch/Tools/TestWebKitAPI/Tests/ios/WKWebViewOpaque.mm	                        (rev 0)
+++ branches/safari-608-branch/Tools/TestWebKitAPI/Tests/ios/WKWebViewOpaque.mm	2019-08-19 06:03:30 UTC (rev 248839)
@@ -0,0 +1,159 @@
+/*
+ * Copyright (C) 2019 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"
+
+#if PLATFORM(IOS_FAMILY)
+
+#import "Test.h"
+#import "TestWKWebView.h"
+#import <WebKit/WKWebViewConfigurationPrivate.h>
+#import <pal/spi/cocoa/NSKeyedArchiverSPI.h>
+
+@interface OpaqueTestWKWebView : TestWKWebView
+@end
+
+@implementation OpaqueTestWKWebView
+
+- (BOOL)isOpaque
+{
+    return YES;
+}
+
+@end
+
+@interface NonOpaqueTestWKWebView : TestWKWebView
+@end
+
+@implementation NonOpaqueTestWKWebView
+
+- (BOOL)isOpaque
+{
+    return NO;
+}
+
+@end
+
+static void isOpaque(TestWKWebView *webView, BOOL opaque)
+{
+    EXPECT_EQ([webView isOpaque], opaque);
+    EXPECT_EQ([[webView wkContentView] isOpaque], opaque);
+
+    CGFloat backgroundColorAlpha = 0;
+    [[webView scrollView].backgroundColor getRed:nullptr green:nullptr blue:nullptr alpha:&backgroundColorAlpha];
+
+    EXPECT_EQ(backgroundColorAlpha, opaque ? 1 : 0);
+}
+
+TEST(WKWebView, IsOpaqueDefault)
+{
+    auto webView = adoptNS([[TestWKWebView alloc] initWithFrame:NSZeroRect]);
+
+    isOpaque(webView.get(), YES);
+}
+
+TEST(WKWebView, SetOpaqueYes)
+{
+    auto webView = adoptNS([[TestWKWebView alloc] initWithFrame:NSZeroRect]);
+
+    [webView setOpaque:YES];
+
+    isOpaque(webView.get(), YES);
+}
+
+TEST(WKWebView, SetOpaqueNo)
+{
+    auto webView = adoptNS([[TestWKWebView alloc] initWithFrame:NSZeroRect]);
+
+    [webView setOpaque:NO];
+
+    isOpaque(webView.get(), NO);
+}
+
+TEST(WKWebView, IsOpaqueYesSubclassOverridden)
+{
+    auto webView = adoptNS([[OpaqueTestWKWebView alloc] initWithFrame:NSZeroRect]);
+
+    isOpaque(webView.get(), YES);
+}
+
+TEST(WKWebView, IsOpaqueNoSubclassOverridden)
+{
+    auto webView = adoptNS([[NonOpaqueTestWKWebView alloc] initWithFrame:NSZeroRect]);
+
+    isOpaque(webView.get(), NO);
+}
+
+TEST(WKWebView, IsOpaqueYesDecodedFromArchive)
+{
+    auto webView = adoptNS([[TestWKWebView alloc] initWithFrame:NSZeroRect]);
+
+    [webView setOpaque:YES];
+
+    auto data = ""
+    TestWKWebView *decodedWebView = insecurelyUnarchiveObjectFromData(data);
+
+    isOpaque(decodedWebView, YES);
+}
+
+TEST(WKWebView, IsOpaqueNoDecodedFromArchive)
+{
+    auto webView = adoptNS([[TestWKWebView alloc] initWithFrame:NSZeroRect]);
+
+    [webView setOpaque:NO];
+
+    auto data = ""
+    TestWKWebView *decodedWebView = insecurelyUnarchiveObjectFromData(data);
+
+    isOpaque(decodedWebView, NO);
+}
+
+TEST(WKWebView, IsOpaqueDrawsBackgroundYesConfiguration)
+{
+    auto configuration = adoptNS([[WKWebViewConfiguration alloc] init]);
+
+    [configuration _setDrawsBackground:YES];
+
+    EXPECT_EQ([configuration _drawsBackground], YES);
+
+    auto webView = adoptNS([[TestWKWebView alloc] initWithFrame:NSZeroRect configuration:configuration.get()]);
+
+    isOpaque(webView.get(), YES);
+}
+
+TEST(WKWebView, IsOpaqueDrawsBackgroundNoConfiguration)
+{
+    auto configuration = adoptNS([[WKWebViewConfiguration alloc] init]);
+
+    [configuration _setDrawsBackground:NO];
+
+    EXPECT_EQ([configuration _drawsBackground], NO);
+
+    auto webView = adoptNS([[TestWKWebView alloc] initWithFrame:NSZeroRect configuration:configuration.get()]);
+
+    isOpaque(webView.get(), NO);
+}
+
+#endif
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to