Changeset 232082 in webkit
- Timestamp:
- May 22, 2018 3:41:06 PM (6 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 46 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WTF/ChangeLog
r232074 r232082 1 2018-05-22 Chris Dumez <cdumez@apple.com> 2 3 Regression(AsyncPolicyDelegates): Box.app login Window is blank 4 https://bugs.webkit.org/show_bug.cgi?id=185832 5 <rdar://problem/40307871> 6 7 Reviewed by Geoffrey Garen. 8 9 Moved WeakObjCPtr.h from WebKit2 to WTF with RetainPtr.h, so that it can be used 10 in WebKitLegacy code. 11 12 * WTF.xcodeproj/project.pbxproj: 13 * wtf/WeakObjCPtr.h: Renamed from Source/WebKit/Shared/mac/WeakObjCPtr.h. 14 1 15 2018-05-22 Filip Pizlo <fpizlo@apple.com> 2 16 -
trunk/Source/WTF/WTF.xcodeproj/project.pbxproj
r232000 r232082 397 397 8134013715B092FD001FF0B8 /* Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Base64.h; sourceTree = "<group>"; }; 398 398 83A8AC3D1FABBE94002064AC /* ObjectIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjectIdentifier.h; sourceTree = "<group>"; }; 399 83ABB3C020B3823200BA3306 /* WeakObjCPtr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WeakObjCPtr.h; sourceTree = "<group>"; }; 399 400 83F2BADE1CF9524E003E99C3 /* Function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Function.h; sourceTree = "<group>"; }; 400 401 83FBA93119DF459700F30ADB /* TypeCasts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TypeCasts.h; sourceTree = "<group>"; }; … … 1118 1119 0F66B2881DC97BAB004A1D3F /* WallTime.cpp */, 1119 1120 0F66B2891DC97BAB004A1D3F /* WallTime.h */, 1121 83ABB3C020B3823200BA3306 /* WeakObjCPtr.h */, 1120 1122 974CFC8D16A4F327006D5404 /* WeakPtr.h */, 1121 1123 0F3501631BB258C800F0A2A3 /* WeakRandom.h */, -
trunk/Source/WTF/wtf/WeakObjCPtr.h
r232081 r232082 1 1 /* 2 * Copyright (C) 2013 Apple Inc. All rights reserved.2 * Copyright (C) 2013-2018 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 24 24 */ 25 25 26 #ifndef WeakObjCPtr_h 27 #define WeakObjCPtr_h 26 #pragma once 28 27 29 28 #include <objc/runtime.h> … … 43 42 #endif 44 43 45 namespace W ebKit{44 namespace WTF { 46 45 47 46 template<typename T> class WeakObjCPtr { … … 102 101 }; 103 102 104 } // namespace W ebKit103 } // namespace WTF 105 104 106 #endif // WeakObjCPtr_h 105 using WTF::WeakObjCPtr; -
trunk/Source/WebKit/ChangeLog
r232079 r232082 1 2018-05-22 Chris Dumez <cdumez@apple.com> 2 3 Regression(AsyncPolicyDelegates): Box.app login Window is blank 4 https://bugs.webkit.org/show_bug.cgi?id=185832 5 <rdar://problem/40307871> 6 7 Reviewed by Geoffrey Garen. 8 9 Moved WeakObjCPtr.h header from WebKit/ to wtf/ so that it can be used in 10 WebKitLegacy code. 11 12 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 13 * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h: 14 * UIProcess/API/Cocoa/WKConnection.mm: 15 * UIProcess/API/Cocoa/WKHTTPCookieStore.mm: 16 * UIProcess/API/Cocoa/WKProcessGroup.mm: 17 * UIProcess/API/Cocoa/WKProcessPool.mm: 18 * UIProcess/API/Cocoa/WKScriptMessage.mm: 19 * UIProcess/API/Cocoa/WKWebView.mm: 20 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: 21 * UIProcess/API/Cocoa/_WKAutomationSession.mm: 22 * UIProcess/API/Cocoa/_WKDownload.mm: 23 * UIProcess/API/Cocoa/_WKElementAction.mm: 24 * UIProcess/ApplicationStateTracker.h: 25 * UIProcess/Cocoa/AutomationClient.h: 26 * UIProcess/Cocoa/AutomationSessionClient.h: 27 * UIProcess/Cocoa/DiagnosticLoggingClient.h: 28 * UIProcess/Cocoa/DownloadClient.h: 29 * UIProcess/Cocoa/FindClient.h: 30 * UIProcess/Cocoa/FullscreenClient.h: 31 * UIProcess/Cocoa/IconLoadingDelegate.h: 32 * UIProcess/Cocoa/NavigationState.h: 33 * UIProcess/Cocoa/UIDelegate.h: 34 * UIProcess/Cocoa/VideoFullscreenManagerProxy.mm: 35 * UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm: 36 * UIProcess/Cocoa/WebViewImpl.h: 37 * UIProcess/ios/ViewGestureControllerIOS.mm: 38 * UIProcess/ios/WKActionSheetAssistant.mm: 39 * UIProcess/ios/WKContentViewInteraction.mm: 40 * UIProcess/ios/WKPDFView.mm: 41 (-[WKPDFView web_setContentProviderData:suggestedFilename:]): 42 * UIProcess/ios/WKScrollView.mm: 43 * UIProcess/mac/WKInspectorViewController.mm: 44 * UIProcess/mac/WKInspectorWKWebView.mm: 45 * WebKit.xcodeproj/project.pbxproj: 46 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: 47 1 48 2018-05-22 Sihui Liu <sihui_liu@apple.com> 2 49 -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm
r229926 r232082 53 53 #import "WKURLResponseNS.h" 54 54 #import "WKViewInternal.h" 55 #import "WeakObjCPtr.h"56 55 #import "WebCertificateInfo.h" 57 56 #import "WebPageProxy.h" … … 60 59 #import "_WKRemoteObjectRegistryInternal.h" 61 60 #import <wtf/NeverDestroyed.h> 61 #import <wtf/WeakObjCPtr.h> 62 62 63 63 using namespace WebCore; -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h
r162719 r232082 28 28 #if WK_API_ENABLED 29 29 30 #import "WeakObjCPtr.h"31 30 #import "WebPageProxy.h" 31 #import <wtf/WeakObjCPtr.h> 32 32 33 33 @interface WKBrowsingContextController () { 34 34 @package 35 We bKit::WeakObjCPtr<id <WKBrowsingContextHistoryDelegate>> _historyDelegate;35 WeakObjCPtr<id <WKBrowsingContextHistoryDelegate>> _historyDelegate; 36 36 } 37 37 -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKConnection.mm
r224729 r232082 33 33 #import "WKSharedAPICast.h" 34 34 #import "WKStringCF.h" 35 #import "WeakObjCPtr.h"36 35 #import <wtf/RetainPtr.h> 36 #import <wtf/WeakObjCPtr.h> 37 37 #import <wtf/text/WTFString.h> 38 38 -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKHTTPCookieStore.mm
r224619 r232082 30 30 31 31 #import "HTTPCookieAcceptPolicy.h" 32 #import "WeakObjCPtr.h"33 32 #import <WebCore/Cookie.h> 34 33 #import <WebCore/URL.h> … … 36 35 #import <wtf/HashMap.h> 37 36 #import <wtf/RetainPtr.h> 37 #import <wtf/WeakObjCPtr.h> 38 38 39 39 static NSArray<NSHTTPCookie *> *coreCookiesToNSCookies(const Vector<WebCore::Cookie>& coreCookies) … … 60 60 } 61 61 62 We bKit::WeakObjCPtr<id<WKHTTPCookieStoreObserver>> m_observer;62 WeakObjCPtr<id<WKHTTPCookieStoreObserver>> m_observer; 63 63 }; 64 64 -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessGroup.mm
r220856 r232082 41 41 #import "WKRetainPtr.h" 42 42 #import "WKStringCF.h" 43 #import "WeakObjCPtr.h"44 43 #import "WebCertificateInfo.h" 45 44 #import "WebFrameProxy.h" 46 45 #import "WebProcessPool.h" 47 46 #import <wtf/RetainPtr.h> 47 #import <wtf/WeakObjCPtr.h> 48 48 49 49 #if PLATFORM(IOS) -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm
r231321 r232082 37 37 #import "UIGamepadProvider.h" 38 38 #import "WKObject.h" 39 #import "WeakObjCPtr.h"40 39 #import "WebCertificateInfo.h" 41 40 #import "WebCookieManagerProxy.h" … … 51 50 #import <pal/spi/cocoa/NSKeyedArchiverSPI.h> 52 51 #import <wtf/RetainPtr.h> 52 #import <wtf/WeakObjCPtr.h> 53 53 54 54 #if PLATFORM(IOS) … … 60 60 61 61 @implementation WKProcessPool { 62 We bKit::WeakObjCPtr<id <_WKAutomationDelegate>> _automationDelegate;63 We bKit::WeakObjCPtr<id <_WKDownloadDelegate>> _downloadDelegate;62 WeakObjCPtr<id <_WKAutomationDelegate>> _automationDelegate; 63 WeakObjCPtr<id <_WKDownloadDelegate>> _downloadDelegate; 64 64 65 65 RetainPtr<_WKAutomationSession> _automationSession; -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKScriptMessage.mm
r172846 r232082 30 30 31 31 #import "WKFrameInfo.h" 32 #import "WeakObjCPtr.h"33 32 #import <wtf/RetainPtr.h> 33 #import <wtf/WeakObjCPtr.h> 34 34 35 35 @implementation WKScriptMessage { 36 36 RetainPtr<id> _body; 37 We bKit::WeakObjCPtr<WKWebView> _webView;37 WeakObjCPtr<WKWebView> _webView; 38 38 RetainPtr<WKFrameInfo> _frameInfo; 39 39 RetainPtr<NSString> _name; -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
r231979 r232082 267 267 _WKRenderingProgressEvents _observedRenderingProgressEvents; 268 268 269 We bKit::WeakObjCPtr<id <_WKInputDelegate>> _inputDelegate;269 WeakObjCPtr<id <_WKInputDelegate>> _inputDelegate; 270 270 271 271 #if PLATFORM(IOS) -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm
r228712 r232082 38 38 #import "WKWebView.h" 39 39 #import "WKWebViewContentProviderRegistry.h" 40 #import "WeakObjCPtr.h"41 40 #import "WebKit2Initialize.h" 42 41 #import "_WKVisitedLinkStore.h" … … 46 45 #import <WebCore/URLParser.h> 47 46 #import <wtf/RetainPtr.h> 47 #import <wtf/WeakObjCPtr.h> 48 48 49 49 #if PLATFORM(IOS) … … 110 110 LazyInitialized<RetainPtr<_WKVisitedLinkStore>> _visitedLinkStore; 111 111 LazyInitialized<RetainPtr<WKWebsiteDataStore>> _websiteDataStore; 112 We bKit::WeakObjCPtr<WKWebView> _relatedWebView;113 We bKit::WeakObjCPtr<WKWebView> _alternateWebViewForNavigationGestures;112 WeakObjCPtr<WKWebView> _relatedWebView; 113 WeakObjCPtr<WKWebView> _alternateWebViewForNavigationGestures; 114 114 RetainPtr<NSString> _groupIdentifier; 115 115 LazyInitialized<RetainPtr<NSString>> _applicationNameForUserAgent; -
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKAutomationSession.mm
r230675 r232082 32 32 #import "WKAPICast.h" 33 33 #import "WKProcessPool.h" 34 #import "WeakObjCPtr.h"35 34 #import "WebAutomationSession.h" 36 35 #import "_WKAutomationSessionConfiguration.h" 37 36 #import "_WKAutomationSessionDelegate.h" 37 #import <wtf/WeakObjCPtr.h> 38 38 39 39 @implementation _WKAutomationSession { 40 40 RetainPtr<_WKAutomationSessionConfiguration> _configuration; 41 We bKit::WeakObjCPtr<id <_WKAutomationSessionDelegate>> _delegate;41 WeakObjCPtr<id <_WKAutomationSessionDelegate>> _delegate; 42 42 } 43 43 -
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKDownload.mm
r222468 r232082 31 31 #import "DownloadProxy.h" 32 32 #import "WKWebViewInternal.h" 33 #import "WeakObjCPtr.h"33 #import <wtf/WeakObjCPtr.h> 34 34 35 35 @implementation _WKDownload { -
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKElementAction.mm
r219191 r232082 34 34 #import "WKActionSheetAssistant.h" 35 35 #import "WKContentViewInteraction.h" 36 #import "WeakObjCPtr.h"37 36 #import "_WKActivatedElementInfoInternal.h" 38 37 #import <WebCore/LocalizedStrings.h> 39 38 #import <wtf/RetainPtr.h> 40 39 #import <wtf/SoftLinking.h> 40 #import <wtf/WeakObjCPtr.h> 41 41 #import <wtf/text/WTFString.h> 42 42 … … 53 53 WKElementActionHandlerInternal _actionHandler; 54 54 WKElementActionDismissalHandler _dismissalHandler; 55 We bKit::WeakObjCPtr<WKActionSheetAssistant> _defaultActionSheetAssistant;55 WeakObjCPtr<WKActionSheetAssistant> _defaultActionSheetAssistant; 56 56 } 57 57 -
trunk/Source/WebKit/UIProcess/ApplicationStateTracker.h
r203371 r232082 29 29 #if PLATFORM(IOS) 30 30 31 #import "WeakObjCPtr.h"32 31 #import <wtf/Forward.h> 32 #import <wtf/WeakObjCPtr.h> 33 33 #import <wtf/WeakPtr.h> 34 34 -
trunk/Source/WebKit/UIProcess/Cocoa/AutomationClient.h
r221204 r232082 31 31 32 32 #import "APIAutomationClient.h" 33 #import "WeakObjCPtr.h"34 33 #import <JavaScriptCore/RemoteInspector.h> 34 #import <wtf/WeakObjCPtr.h> 35 35 36 36 @class WKProcessPool; -
trunk/Source/WebKit/UIProcess/Cocoa/AutomationSessionClient.h
r229998 r232082 32 32 33 33 #import "APIAutomationSessionClient.h" 34 #import "WeakObjCPtr.h"34 #import <wtf/WeakObjCPtr.h> 35 35 36 36 @protocol _WKAutomationSessionDelegate; -
trunk/Source/WebKit/UIProcess/Cocoa/DiagnosticLoggingClient.h
r211870 r232082 32 32 33 33 #import "APIDiagnosticLoggingClient.h" 34 #import "WeakObjCPtr.h"35 34 #import <WebCore/DiagnosticLoggingResultType.h> 35 #import <wtf/WeakObjCPtr.h> 36 36 37 37 @class WKWebView; -
trunk/Source/WebKit/UIProcess/Cocoa/DownloadClient.h
r231824 r232082 32 32 #import "APIDownloadClient.h" 33 33 #import "ProcessThrottler.h" 34 #import "WeakObjCPtr.h"34 #import <wtf/WeakObjCPtr.h> 35 35 36 36 @protocol _WKDownloadDelegate; -
trunk/Source/WebKit/UIProcess/Cocoa/FindClient.h
r214893 r232082 32 32 33 33 #import "APIFindClient.h" 34 #import "WeakObjCPtr.h"34 #import <wtf/WeakObjCPtr.h> 35 35 36 36 @class WKWebView; -
trunk/Source/WebKit/UIProcess/Cocoa/FullscreenClient.h
r224558 r232082 31 31 32 32 #import "APIFullscreenClient.h" 33 #import "WeakObjCPtr.h"34 33 #import <wtf/RetainPtr.h> 34 #import <wtf/WeakObjCPtr.h> 35 35 36 36 #if PLATFORM(MAC) -
trunk/Source/WebKit/UIProcess/Cocoa/IconLoadingDelegate.h
r218457 r232082 31 31 32 32 #import "APIIconLoadingClient.h" 33 #import "WeakObjCPtr.h"34 33 #import <wtf/RetainPtr.h> 34 #import <wtf/WeakObjCPtr.h> 35 35 36 36 @class WKWebView; -
trunk/Source/WebKit/UIProcess/Cocoa/NavigationState.h
r231676 r232082 35 35 #import "ProcessTerminationReason.h" 36 36 #import "ProcessThrottler.h" 37 #import "WeakObjCPtr.h"38 37 #import <wtf/RetainPtr.h> 39 38 #import <wtf/RunLoop.h> 39 #import <wtf/WeakObjCPtr.h> 40 40 41 41 @class WKWebView; -
trunk/Source/WebKit/UIProcess/Cocoa/SystemPreviewControllerCocoa.mm
r231893 r232082 30 30 31 31 #import "APIUIClient.h" 32 #import "WeakObjCPtr.h"33 32 #import "WebPageProxy.h" 34 33 #import <MobileCoreServices/MobileCoreServices.h> … … 37 36 #import <pal/spi/ios/QuickLookSPI.h> 38 37 #import <wtf/SoftLinking.h> 38 #import <wtf/WeakObjCPtr.h> 39 39 40 40 #if USE(APPLE_INTERNAL_SDK) … … 88 88 [_item setUseLoadingTimeout:NO]; 89 89 90 We bKit::WeakObjCPtr<_WKPreviewControllerDataSource> weakSelf { self };90 WeakObjCPtr<_WKPreviewControllerDataSource> weakSelf { self }; 91 91 [_itemProvider registerItemForTypeIdentifier:contentType loadHandler:[weakSelf = WTFMove(weakSelf)] (NSItemProviderCompletionHandler completionHandler, Class expectedValueClass, NSDictionary * options) { 92 92 if (auto strongSelf = weakSelf.get()) -
trunk/Source/WebKit/UIProcess/Cocoa/UIDelegate.h
r231457 r232082 32 32 #import "APIContextMenuClient.h" 33 33 #import "APIUIClient.h" 34 #import "WeakObjCPtr.h"35 34 #import <wtf/RetainPtr.h> 35 #import <wtf/WeakObjCPtr.h> 36 36 37 37 @class _WKActivatedElementInfo; -
trunk/Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm
r230269 r232082 34 34 #import "VideoFullscreenManagerMessages.h" 35 35 #import "VideoFullscreenManagerProxyMessages.h" 36 #import "WeakObjCPtr.h"37 36 #import "WebPageProxy.h" 38 37 #import "WebProcessProxy.h" … … 42 41 #import <pal/spi/cocoa/QuartzCoreSPI.h> 43 42 #import <wtf/MachSendRight.h> 43 #import <wtf/WeakObjCPtr.h> 44 44 45 45 #if PLATFORM(IOS) -
trunk/Source/WebKit/UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm
r222059 r232082 32 32 #import "_WKFrameHandleInternal.h" 33 33 #import "WKWebViewInternal.h" 34 #import "WeakObjCPtr.h"35 34 #import "WebFrameProxy.h" 36 35 #import "WebPageProxy.h" 37 36 #import "WebProcessProxy.h" 38 37 #import <wtf/RetainPtr.h> 38 #import <wtf/WeakObjCPtr.h> 39 39 40 40 @interface WKReloadFrameErrorRecoveryAttempter () <_WKErrorRecoveryAttempting> … … 42 42 43 43 @implementation WKReloadFrameErrorRecoveryAttempter { 44 We bKit::WeakObjCPtr<WKWebView> _webView;44 WeakObjCPtr<WKWebView> _webView; 45 45 RetainPtr<_WKFrameHandle> _frameHandle; 46 46 String _urlString; -
trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h
r231371 r232082 31 31 #include "WKDragDestinationAction.h" 32 32 #include "WKLayoutMode.h" 33 #include "WeakObjCPtr.h"34 33 #include "WebPageProxy.h" 35 34 #include "_WKOverlayScrollbarStyle.h" … … 39 38 #include <wtf/BlockPtr.h> 40 39 #include <wtf/RetainPtr.h> 40 #include <wtf/WeakObjCPtr.h> 41 41 #include <wtf/WeakPtr.h> 42 42 #include <wtf/text/WTFString.h> -
trunk/Source/WebKit/UIProcess/ios/ViewGestureControllerIOS.mm
r229926 r232082 36 36 #import "WKBackForwardListItemInternal.h" 37 37 #import "WKWebViewInternal.h" 38 #import "WeakObjCPtr.h"39 38 #import "WebBackForwardList.h" 40 39 #import "WebPageGroup.h" … … 45 44 #import <WebCore/IOSurface.h> 46 45 #import <pal/spi/cocoa/QuartzCoreSPI.h> 46 #import <wtf/WeakObjCPtr.h> 47 47 48 48 using namespace WebCore; … … 64 64 RetainPtr<_UINavigationInteractiveTransitionBase> _backTransitionController; 65 65 RetainPtr<_UINavigationInteractiveTransitionBase> _forwardTransitionController; 66 We bKit::WeakObjCPtr<UIView> _gestureRecognizerView;66 WeakObjCPtr<UIView> _gestureRecognizerView; 67 67 } 68 68 -
trunk/Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm
r224819 r232082 36 36 #import "WKContentViewInteraction.h" 37 37 #import "WKNSURLExtras.h" 38 #import "WeakObjCPtr.h"39 38 #import "WebPageProxy.h" 40 39 #import "_WKActivatedElementInfoInternal.h" … … 46 45 #import <WebCore/WebCoreNSURLExtras.h> 47 46 #import <wtf/SoftLinking.h> 47 #import <wtf/WeakObjCPtr.h> 48 48 #import <wtf/text/WTFString.h> 49 49 -
trunk/Source/WebKit/UIProcess/ios/WKApplicationStateTrackingView.mm
r230383 r232082 31 31 #import "ApplicationStateTracker.h" 32 32 #import "WKWebViewInternal.h" 33 #import "WeakObjCPtr.h"34 33 #import "WebPageProxy.h" 35 34 #import <wtf/RetainPtr.h> 35 #import <wtf/WeakObjCPtr.h> 36 36 37 37 @implementation WKApplicationStateTrackingView { 38 We bKit::WeakObjCPtr<WKWebView> _webView;38 WeakObjCPtr<WKWebView> _webView; 39 39 std::unique_ptr<WebKit::ApplicationStateTracker> _applicationStateTracker; 40 40 } -
trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
r232040 r232082 61 61 #import "WKWebViewInternal.h" 62 62 #import "WKWebViewPrivate.h" 63 #import "WeakObjCPtr.h"64 63 #import "WebEvent.h" 65 64 #import "WebIOSEventFactory.h" … … 97 96 #import <wtf/SetForScope.h> 98 97 #import <wtf/SoftLinking.h> 98 #import <wtf/WeakObjCPtr.h> 99 99 #import <wtf/text/TextStream.h> 100 100 -
trunk/Source/WebKit/UIProcess/ios/WKLegacyPDFView.mm
r231729 r232082 38 38 #import "WKPasswordView.h" 39 39 #import "WKWebViewInternal.h" 40 #import "WeakObjCPtr.h"41 40 #import "WebPageProxy.h" 42 41 #import "_WKFindDelegate.h" … … 49 48 #import <wtf/RetainPtr.h> 50 49 #import <wtf/Vector.h> 50 #import <wtf/WeakObjCPtr.h> 51 51 52 52 // All of UIPDFPage* are deprecated, so just ignore deprecated declarations -
trunk/Source/WebKit/UIProcess/ios/WKPDFView.mm
r231729 r232082 33 33 #import "WKActionSheetAssistant.h" 34 34 #import "WKWebViewInternal.h" 35 #import "WeakObjCPtr.h"36 35 #import "WebPageProxy.h" 37 36 #import "_WKWebViewPrintFormatterInternal.h" … … 41 40 #import <wtf/MainThread.h> 42 41 #import <wtf/RetainPtr.h> 42 #import <wtf/WeakObjCPtr.h> 43 43 44 44 @interface WKPDFView () <PDFHostViewControllerDelegate, WKActionSheetAssistantDelegate> … … 62 62 WebKit::InteractionInformationAtPosition _positionInformation; 63 63 RetainPtr<NSString> _suggestedFilename; 64 We bKit::WeakObjCPtr<WKWebView> _webView;64 WeakObjCPtr<WKWebView> _webView; 65 65 } 66 66 … … 97 97 _suggestedFilename = adoptNS([filename copy]); 98 98 99 We bKit::WeakObjCPtr<WKPDFView> weakSelf = self;99 WeakObjCPtr<WKPDFView> weakSelf = self; 100 100 [PDFHostViewController createHostView:[self, weakSelf = WTFMove(weakSelf)](PDFHostViewController * _Nullable hostViewController) { 101 101 ASSERT(isMainThread()); -
trunk/Source/WebKit/UIProcess/ios/WKScrollView.mm
r228253 r232082 30 30 31 31 #import "WKWebViewInternal.h" 32 #import "WeakObjCPtr.h"33 32 #import <pal/spi/cg/CoreGraphicsSPI.h> 33 #import <wtf/WeakObjCPtr.h> 34 34 35 35 using namespace WebKit; -
trunk/Source/WebKit/UIProcess/mac/WKInspectorViewController.mm
r229715 r232082 40 40 #import "WKWebViewConfigurationPrivate.h" 41 41 #import "WKWebViewPrivate.h" 42 #import "WeakObjCPtr.h"43 42 #import "WebInspectorProxy.h" 44 43 #import "WebInspectorUtilities.h" 45 44 #import "WebPageProxy.h" 45 #import <wtf/WeakObjCPtr.h> 46 46 47 47 using namespace WebKit; … … 53 53 WebPageProxy* _inspectedPage; 54 54 RetainPtr<WKInspectorWKWebView> _webView; 55 We bKit::WeakObjCPtr<id <WKInspectorViewControllerDelegate>> _delegate;55 WeakObjCPtr<id <WKInspectorViewControllerDelegate>> _delegate; 56 56 } 57 57 -
trunk/Source/WebKit/UIProcess/mac/WKInspectorWKWebView.mm
r225907 r232082 30 30 31 31 #import "WKInspectorPrivateMac.h" 32 #import "WeakObjCPtr.h"32 #import <wtf/WeakObjCPtr.h> 33 33 34 34 @implementation WKInspectorWKWebView { 35 We bKit::WeakObjCPtr<id <WKInspectorWKWebViewDelegate>> _inspectorWKWebViewDelegate;35 WeakObjCPtr<id <WKInspectorWKWebViewDelegate>> _inspectorWKWebViewDelegate; 36 36 } 37 37 -
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj
r231916 r232082 364 364 1AA83F6C1A5B63FF00026EC6 /* WebDatabaseProvider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AA83F6A1A5B63FF00026EC6 /* WebDatabaseProvider.cpp */; }; 365 365 1AA83F6D1A5B63FF00026EC6 /* WebDatabaseProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AA83F6B1A5B63FF00026EC6 /* WebDatabaseProvider.h */; }; 366 1AA9BAE1184FFAC7003B6BC6 /* WeakObjCPtr.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AA9BAE0184FFAC7003B6BC6 /* WeakObjCPtr.h */; settings = {ATTRIBUTES = (Private, ); }; };367 366 1AAB0379185A7C6A00EDF501 /* MessageSender.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AAB0377185A7C6A00EDF501 /* MessageSender.cpp */; }; 368 367 1AAB037A185A7C6A00EDF501 /* MessageSender.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AAB0378185A7C6A00EDF501 /* MessageSender.h */; }; … … 2702 2701 1AA83F6A1A5B63FF00026EC6 /* WebDatabaseProvider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebDatabaseProvider.cpp; sourceTree = "<group>"; }; 2703 2702 1AA83F6B1A5B63FF00026EC6 /* WebDatabaseProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDatabaseProvider.h; sourceTree = "<group>"; }; 2704 1AA9BAE0184FFAC7003B6BC6 /* WeakObjCPtr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WeakObjCPtr.h; sourceTree = "<group>"; };2705 2703 1AAB0377185A7C6A00EDF501 /* MessageSender.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MessageSender.cpp; sourceTree = "<group>"; }; 2706 2704 1AAB0378185A7C6A00EDF501 /* MessageSender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MessageSender.h; sourceTree = "<group>"; }; … … 7691 7689 511F8A77138B460900A95F44 /* SecItemShimLibrary.h */, 7692 7690 511F8A78138B460900A95F44 /* SecItemShimLibrary.mm */, 7693 1AA9BAE0184FFAC7003B6BC6 /* WeakObjCPtr.h */,7694 7691 BCE23262122C6CF300D5C35A /* WebCoreArgumentCodersMac.mm */, 7695 7692 BC111B5B112F629800337BAB /* WebEventFactory.h */, … … 9223 9220 1AF4CEF018BC481800BC2D34 /* VisitedLinkTableController.h in Headers */, 9224 9221 1A8E7D3D18C15149005A702A /* VisitedLinkTableControllerMessages.h in Headers */, 9225 1AA9BAE1184FFAC7003B6BC6 /* WeakObjCPtr.h in Headers */,9226 9222 CEDA12E3152CD1B300D9E08D /* WebAlternativeTextClient.h in Headers */, 9227 9223 9955A6EC1C7980C200EB6A93 /* WebAutomationSession.h in Headers */, -
trunk/Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm
r230211 r232082 54 54 #import "WKWebProcessPlugInRangeHandleInternal.h" 55 55 #import "WKWebProcessPlugInScriptWorldInternal.h" 56 #import "WeakObjCPtr.h"57 56 #import "WebPage.h" 58 57 #import "WebProcess.h" … … 66 65 #import <WebCore/HTMLInputElement.h> 67 66 #import <pal/spi/cocoa/NSKeyedArchiverSPI.h> 67 #import <wtf/WeakObjCPtr.h> 68 68 69 69 using namespace WebCore; -
trunk/Source/WebKitLegacy/mac/ChangeLog
r232069 r232082 1 2018-05-22 Chris Dumez <cdumez@apple.com> 2 3 Regression(AsyncPolicyDelegates): Box.app login Window is blank 4 https://bugs.webkit.org/show_bug.cgi?id=185832 5 <rdar://problem/40307871> 6 7 Reviewed by Geoffrey Garen. 8 9 We used to have a bug where where we would fail to wait for the policy decision for 10 the navigation response from the client and the load would keep going, racing with 11 the client's policy decision. If the client did not respond in time, the behavior 12 would be the same as "Use" policy action. 13 14 Box.app fails to make any policy decision in its decidePolicyForMIMEType delegate 15 but the load happened to proceed anyway due to our bug. Now that we've fixed the 16 WebKit bug, however, the load would hang because the completion handler for the 17 decidePolicyForNavigationResponse would never get called. 18 19 To work around the issue, I made the policy listener weak on the WebFrameLoaderClient 20 instead of retaining it. If the policy listener object gets destroyed because getting 21 resolved, we now use "Use" policy action in its dealloc function to maintain previous 22 behavior. 23 24 * WebCoreSupport/WebFrameLoaderClient.h: 25 * WebCoreSupport/WebFrameLoaderClient.mm: 26 (WebFrameLoaderClient::cancelPolicyCheck): 27 (WebFrameLoaderClient::setUpPolicyListener): 28 (-[WebFramePolicyListener dealloc]): 29 1 30 2018-05-22 Ryan Haddad <ryanhaddad@apple.com> 2 31 -
trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h
r230721 r232082 32 32 #import <wtf/HashMap.h> 33 33 #import <wtf/RetainPtr.h> 34 #import <wtf/WeakObjCPtr.h> 34 35 35 36 @class WebDownload; … … 261 262 RetainPtr<WebFrame> m_webFrame; 262 263 263 RetainPtr<WebFramePolicyListener> m_policyListener;264 WeakObjCPtr<WebFramePolicyListener> m_policyListener; 264 265 }; -
trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm
r230721 r232082 915 915 void WebFrameLoaderClient::cancelPolicyCheck() 916 916 { 917 if (!m_policyListener) 918 return; 919 917 920 [m_policyListener invalidate]; 918 m_policyListener = n ullptr;921 m_policyListener = nil; 919 922 } 920 923 … … 1525 1528 [m_policyListener invalidate]; 1526 1529 1530 RetainPtr<WebFramePolicyListener> policyListener; 1527 1531 #if HAVE(APP_LINKS) 1528 1532 if (appLinkURL) 1529 m_policyListener = adoptNS([[WebFramePolicyListener alloc] initWithFrame:core(m_webFrame.get()) policyFunction:WTFMove(function) appLinkURL:appLinkURL]);1533 policyListener = adoptNS([[WebFramePolicyListener alloc] initWithFrame:core(m_webFrame.get()) policyFunction:WTFMove(function) appLinkURL:appLinkURL]); 1530 1534 else 1531 1535 #endif 1532 m_policyListener = adoptNS([[WebFramePolicyListener alloc] initWithFrame:core(m_webFrame.get()) policyFunction:WTFMove(function)]); 1533 1534 return m_policyListener; 1536 policyListener = adoptNS([[WebFramePolicyListener alloc] initWithFrame:core(m_webFrame.get()) policyFunction:WTFMove(function)]); 1537 1538 m_policyListener = policyListener.get(); 1539 1540 return policyListener; 1535 1541 } 1536 1542 … … 2427 2433 return; 2428 2434 2435 // If the app did not respond before the listener is destroyed, then we let the load 2436 // proceed with policy "Use". 2437 _frame = nullptr; 2438 if (auto policyFunction = std::exchange(_policyFunction, nullptr)) { 2439 RELEASE_LOG_ERROR(Loading, "Client application failed to make a policy decision via WebPolicyDecisionListener, letting the load proceed"); 2440 policyFunction(PolicyAction::Use); 2441 } 2442 2429 2443 [super dealloc]; 2430 2444 } -
trunk/Tools/ChangeLog
r232079 r232082 1 2018-05-22 Chris Dumez <cdumez@apple.com> 2 3 Regression(AsyncPolicyDelegates): Box.app login Window is blank 4 https://bugs.webkit.org/show_bug.cgi?id=185832 5 <rdar://problem/40307871> 6 7 Reviewed by Geoffrey Garen. 8 9 Add API test coverage. 10 11 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: 12 * TestWebKitAPI/Tests/WebKit/cocoa/WeakObjCPtr.mm: 13 * TestWebKitAPI/Tests/mac/NoPolicyDelegateResponse.mm: Added. 14 (-[NoPolicyDelegateDecisionDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): 15 (-[NoPolicyDelegateDecisionDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]): 16 (-[NoPolicyDelegateDecisionDelegate webView:didFinishLoadForFrame:]): 17 (TestWebKitAPI::TEST): 18 * TestWebKitAPI/cocoa/TestWKWebView.mm: 19 (-[WKWebView _isBackground]): 20 1 21 2018-05-22 Sihui Liu <sihui_liu@apple.com> 2 22 -
trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
r232079 r232082 566 566 83DB79691EF63B3C00BFA5E5 /* Function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83DB79671EF63B3C00BFA5E5 /* Function.cpp */; }; 567 567 83DE134D1EF1C50800C1B355 /* ResponsivenessTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83DE134C1EF1C4FE00C1B355 /* ResponsivenessTimer.cpp */; }; 568 83F22C6420B355F80034277E /* NoPolicyDelegateResponse.mm in Sources */ = {isa = PBXBuildFile; fileRef = 83F22C6320B355EB0034277E /* NoPolicyDelegateResponse.mm */; }; 568 569 8C10AF98206467920018FD90 /* localstorage-empty-string-value.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 8C10AF97206467830018FD90 /* localstorage-empty-string-value.html */; }; 569 570 8C10AF99206467A90018FD90 /* LocalStoragePersistence.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8C10AF96206467770018FD90 /* LocalStoragePersistence.mm */; }; … … 1606 1607 83DB79671EF63B3C00BFA5E5 /* Function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Function.cpp; sourceTree = "<group>"; }; 1607 1608 83DE134C1EF1C4FE00C1B355 /* ResponsivenessTimer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResponsivenessTimer.cpp; sourceTree = "<group>"; }; 1609 83F22C6320B355EB0034277E /* NoPolicyDelegateResponse.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = NoPolicyDelegateResponse.mm; sourceTree = "<group>"; }; 1608 1610 86BD19971A2DB05B006DCF0A /* RefCounter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RefCounter.cpp; sourceTree = "<group>"; }; 1609 1611 8A2C750D16CED9550024F352 /* ResizeWindowAfterCrash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResizeWindowAfterCrash.cpp; sourceTree = "<group>"; }; … … 3045 3047 7A99D9931AD4A29D00373141 /* MenuTypesForMouseEvents.mm */, 3046 3048 E19DB9781B32137C00DB38D4 /* NavigatorLanguage.mm */, 3049 83F22C6320B355EB0034277E /* NoPolicyDelegateResponse.mm */, 3047 3050 A57A34EF16AF677200C2501F /* PageVisibilityStateWithWindowChanges.mm */, 3048 3051 00BC16851680FE810065F1E5 /* PublicSuffix.mm */, … … 3681 3684 7CCE7F051A411AE600447C4C /* NewFirstVisuallyNonEmptyLayoutFrames.cpp in Sources */, 3682 3685 0F5651F71FCE4DDC00310FBC /* NoHistoryItemScrollToFragment.mm in Sources */, 3686 83F22C6420B355F80034277E /* NoPolicyDelegateResponse.mm in Sources */, 3683 3687 2ECFF5551D9B12F800B55394 /* NowPlayingControlsTests.mm in Sources */, 3684 3688 A10F047E1E3AD29C00C95E19 /* NSFileManagerExtras.mm in Sources */, -
trunk/Tools/TestWebKitAPI/Tests/WebKit/cocoa/WeakObjCPtr.mm
r194496 r232082 26 26 #import "config.h" 27 27 28 #import <WebKit/WeakObjCPtr.h> 29 30 using WebKit::WeakObjCPtr; 28 #import <wtf/WeakObjCPtr.h> 31 29 32 30 TEST(WebKit2_WeakObjCPtr, Construction)
Note: See TracChangeset
for help on using the changeset viewer.