Title: [230041] trunk/Source/WebKit
Revision
230041
Author
d...@apple.com
Date
2018-03-28 13:11:47 -0700 (Wed, 28 Mar 2018)

Log Message

WKWebViewContentProvider shouldn't be a UIScrollViewDelegate
https://bugs.webkit.org/show_bug.cgi?id=184107
<rdar://problem/38967492>

Reviewed by Tim Horton.

There is no need for this class to be a UIScrollViewDelegate. Instead
the protocol should have an optional method that is effectively
scrollViewDidScroll.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView scrollViewDidScroll:]): Call web_scrollViewDidScroll
if it exists.
* UIProcess/Cocoa/WKWebViewContentProvider.h: Remove UIScrollViewDelegate
and add an optional web_scrollViewDidScroll.
* UIProcess/ios/WKPDFView.mm:
(-[WKPDFView web_scrollViewDidScroll:]): Renamed from scrollViewDidScroll.
(-[WKPDFView scrollViewDidScroll:]): Deleted.
* UIProcess/ios/WKSystemPreviewView.mm:
(-[WKSystemPreviewView scrollViewDidScroll:]): Deleted.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (230040 => 230041)


--- trunk/Source/WebKit/ChangeLog	2018-03-28 20:05:43 UTC (rev 230040)
+++ trunk/Source/WebKit/ChangeLog	2018-03-28 20:11:47 UTC (rev 230041)
@@ -1,3 +1,26 @@
+2018-03-28  Dean Jackson  <d...@apple.com>
+
+        WKWebViewContentProvider shouldn't be a UIScrollViewDelegate
+        https://bugs.webkit.org/show_bug.cgi?id=184107
+        <rdar://problem/38967492>
+
+        Reviewed by Tim Horton.
+
+        There is no need for this class to be a UIScrollViewDelegate. Instead
+        the protocol should have an optional method that is effectively
+        scrollViewDidScroll.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView scrollViewDidScroll:]): Call web_scrollViewDidScroll
+        if it exists.
+        * UIProcess/Cocoa/WKWebViewContentProvider.h: Remove UIScrollViewDelegate
+        and add an optional web_scrollViewDidScroll.
+        * UIProcess/ios/WKPDFView.mm:
+        (-[WKPDFView web_scrollViewDidScroll:]): Renamed from scrollViewDidScroll.
+        (-[WKPDFView scrollViewDidScroll:]): Deleted.
+        * UIProcess/ios/WKSystemPreviewView.mm:
+        (-[WKSystemPreviewView scrollViewDidScroll:]): Deleted.
+
 2018-03-28  Wenson Hsieh  <wenson_hs...@apple.com>
 
         [Extra zoom mode] Make boosted text autosizing values switchable at runtime

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (230040 => 230041)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2018-03-28 20:05:43 UTC (rev 230040)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2018-03-28 20:11:47 UTC (rev 230041)
@@ -2428,8 +2428,8 @@
 
 - (void)scrollViewDidScroll:(UIScrollView *)scrollView
 {
-    if (![self usesStandardContentView])
-        [_customContentView scrollViewDidScroll:(UIScrollView *)scrollView];
+    if (![self usesStandardContentView] && [_customContentView respondsToSelector:@selector(web_scrollViewDidScroll:)])
+        [_customContentView web_scrollViewDidScroll:(UIScrollView *)scrollView];
 
     [self _scheduleVisibleContentRectUpdateAfterScrollInView:scrollView];
 

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WKWebViewContentProvider.h (230040 => 230041)


--- trunk/Source/WebKit/UIProcess/Cocoa/WKWebViewContentProvider.h	2018-03-28 20:05:43 UTC (rev 230040)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WKWebViewContentProvider.h	2018-03-28 20:11:47 UTC (rev 230041)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2014, 2018 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -37,12 +37,10 @@
 @class UIView;
 @class WKWebView;
 @protocol NSObject;
-@protocol UIScrollViewDelegate;
 struct CGSize;
 struct UIEdgeInsets;
 
-// FIXME: This should be API (and probably should not be a UIScrollViewDelegate).
-@protocol WKWebViewContentProvider <NSObject, UIScrollViewDelegate>
+@protocol WKWebViewContentProvider <NSObject>
 
 - (instancetype)web_initWithFrame:(CGRect) frame webView:(WKWebView *)webView;
 - (void)web_setContentProviderData:(NSData *)data suggestedFilename:(NSString *)filename;
@@ -55,6 +53,9 @@
 - (void)web_findString:(NSString *)string options:(_WKFindOptions)options maxCount:(NSUInteger)maxCount;
 - (void)web_hideFindUI;
 
+@optional
+- (void)web_scrollViewDidScroll:(UIScrollView *)scrollView;
+
 @end
 
 #endif // PLATFORM(IOS)

Modified: trunk/Source/WebKit/UIProcess/ios/WKPDFView.mm (230040 => 230041)


--- trunk/Source/WebKit/UIProcess/ios/WKPDFView.mm	2018-03-28 20:05:43 UTC (rev 230040)
+++ trunk/Source/WebKit/UIProcess/ios/WKPDFView.mm	2018-03-28 20:11:47 UTC (rev 230041)
@@ -242,7 +242,7 @@
     [self _revalidateViews];
 }
 
-- (void)scrollViewDidScroll:(UIScrollView *)scrollView
+- (void)web_scrollViewDidScroll:(UIScrollView *)scrollView
 {
     if (scrollView.isZoomBouncing || scrollView._isAnimatingZoom)
         return;

Modified: trunk/Source/WebKit/UIProcess/ios/WKSystemPreviewView.mm (230040 => 230041)


--- trunk/Source/WebKit/UIProcess/ios/WKSystemPreviewView.mm	2018-03-28 20:05:43 UTC (rev 230040)
+++ trunk/Source/WebKit/UIProcess/ios/WKSystemPreviewView.mm	2018-03-28 20:11:47 UTC (rev 230041)
@@ -161,14 +161,6 @@
     page->goBack();
 }
 
-#pragma mark UIScrollViewDelegate
-
-// FIXME: This class, and WKWebContentProvider itself, shouldn't need to be a UIScrollViewDelegate.
-
-- (void)scrollViewDidScroll:(UIScrollView *)scrollView
-{
-}
-
 @end
 
 #endif
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to