source: webkit/trunk/Source/WebKit/UIProcess/QuickLookThumbnailLoader.h

Last change on this file was 260667, checked in by [email protected], 5 years ago

Use CocoaImage platform abstraction for NSImage/UIImage
<https://webkit.org/b/210974>

Reviewed by Darin Adler.

  • Platform/cocoa/CocoaImage.h: Add.
  • Define CocoaImage here for cross-platform use. Don't use OBJC_CLASS() here because this is an Objective-C header.
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView takeSnapshotWithConfiguration:completionHandler:]):

  • Combine separate platform-specific methods into one method.
  • UIProcess/API/Cocoa/_WKActivatedElementInfo.mm:
  • Combine separate platform-specific instance variables into one instance variable.

(-[_WKActivatedElementInfo image]):

  • Combine separate methods into one platform-specific method.
  • UIProcess/QuickLookThumbnailLoader.h:
  • Move cross-platform definition to CocoaImge.h.
  • UIProcess/QuickLookThumbnailLoader.mm:
  • Drive-by fix of soft-linking header include order.
  • WebKit.xcodeproj/project.pbxproj:
  • Add CocoaImage.h to the project.
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:

(-[WKWebProcessPlugInNodeHandle renderedImageWithOptions:]):
(-[WKWebProcessPlugInNodeHandle renderedImageWithOptions:width:]):

  • Combine separate platform-specific methods into one method.
File size: 2.1 KB
Line 
1/*
2* Copyright (C) 2020 Apple Inc. All rights reserved.
3*
4* Redistribution and use in source and binary forms, with or without
5* modification, are permitted provided that the following conditions
6* are met:
7* 1. Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer.
9* 2. Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution.
12*
13* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23* THE POSSIBILITY OF SUCH DAMAGE.
24*/
25
26#if HAVE(QUICKLOOK_THUMBNAILING)
27
28#import "CocoaImage.h"
29
30@interface WKQLThumbnailQueueManager : NSObject
31
32@property (nonatomic, readonly, retain) NSOperationQueue *queue;
33
34- (instancetype)init;
35+ (WKQLThumbnailQueueManager *)sharedInstance;
36
37@end
38
39@interface WKQLThumbnailLoadOperation : NSOperation
40
41@property (atomic, readonly, getter=isAsynchronous) BOOL asynchronous;
42@property (atomic, readonly, getter=isExecuting) BOOL executing;
43@property (atomic, readonly, getter=isFinished) BOOL finished;
44
45@property (nonatomic, readonly, copy) NSString *identifier;
46@property (nonatomic, readonly, retain) CocoaImage *thumbnail;
47
48- (instancetype)initWithAttachment:(NSFileWrapper *)fileWrapper identifier:(NSString *)identifier;
49- (instancetype)initWithURL:(NSString *)fileURL identifier:(NSString *)identifier;
50
51@end
52
53#endif // HAVE(QUICKLOOK_THUMBNAILING)
Note: See TracBrowser for help on using the repository browser.