[Quick Look] Test that legacy web views load previews before deciding content policy
https://bugs.webkit.org/show_bug.cgi?id=202971

Reviewed by Alex Christensen.

* TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
(-[QuickLookLegacyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
(TEST):
(-[QuickLookFrameLoadDelegate webView:didFinishLoadForFrame:]): Deleted.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@251223 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index a7cefc8..d696ec3 100644
--- a/Tools/ChangeLog
+++ b/Tools/ChangeLog
@@ -1,3 +1,15 @@
+2019-10-16  Andy Estes  <aestes@apple.com>
+
+        [Quick Look] Test that legacy web views load previews before deciding content policy
+        https://bugs.webkit.org/show_bug.cgi?id=202971
+
+        Reviewed by Alex Christensen.
+
+        * TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
+        (-[QuickLookLegacyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
+        (TEST):
+        (-[QuickLookFrameLoadDelegate webView:didFinishLoadForFrame:]): Deleted.
+
 2019-10-16  Chris Dumez  <cdumez@apple.com>
 
         Rename PageCache to BackForwardCache
diff --git a/Tools/TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm b/Tools/TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm
index a54ea78..82651fa 100644
--- a/Tools/TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm
+++ b/Tools/TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm
@@ -425,16 +425,22 @@
     Util::run(&isDone);
 }
 
-@interface QuickLookFrameLoadDelegate : NSObject <WebFrameLoadDelegate>
+@interface QuickLookLegacyDelegate : NSObject <WebFrameLoadDelegate, WebPolicyDelegate>
 @end
 
-@implementation QuickLookFrameLoadDelegate
+@implementation QuickLookLegacyDelegate
 
 - (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame
 {
     isDone = true;
 }
 
+- (void)webView:(WebView *)webView decidePolicyForMIMEType:(NSString *)type request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id<WebPolicyDecisionListener>)listener
+{
+    EXPECT_WK_STREQ(pagesDocumentPreviewMIMEType, type);
+    [listener use];
+}
+
 @end
 
 TEST(QuickLook, LegacyQuickLookContent)
@@ -444,8 +450,9 @@
 
     auto webView = adoptNS([[WebView alloc] init]);
 
-    auto frameLoadDelegate = adoptNS([[QuickLookFrameLoadDelegate alloc] init]);
-    [webView setFrameLoadDelegate:frameLoadDelegate.get()];
+    auto delegate = adoptNS([[QuickLookLegacyDelegate alloc] init]);
+    [webView setFrameLoadDelegate:delegate.get()];
+    [webView setPolicyDelegate:delegate.get()];
 
     auto webPreferences = adoptNS([[WebPreferences alloc] initWithIdentifier:@"LegacyQuickLookContent"]);
     [webPreferences setQuickLookDocumentSavingEnabled:YES];