Changeset 169854 in webkit
- Timestamp:
- Jun 11, 2014 4:06:43 PM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r169851 r169854 1 2014-06-11 Dan Bernstein <mitz@apple.com> 2 3 [Cocoa] Move CompletionHandlerCallChecker into a separate file 4 https://bugs.webkit.org/show_bug.cgi?id=133774 5 6 Reviewed by Anders Carlsson. 7 8 * Shared/Cocoa/CompletionHandlerCallChecker.h: Added. 9 * Shared/Cocoa/CompletionHandlerCallChecker.mm: Added. 10 (WebKit::CompletionHandlerCallChecker::create): 11 (WebKit::CompletionHandlerCallChecker::CompletionHandlerCallChecker): 12 (WebKit::CompletionHandlerCallChecker::~CompletionHandlerCallChecker): 13 (WebKit::CompletionHandlerCallChecker::didCallCompletionHandler): 14 (WebKit::CompletionHandlerCallChecker::classImplementingDelegateMethod): 15 16 * UIProcess/Cocoa/UIDelegate.mm: 17 (WebKit::CompletionHandlerCallChecker::create): Deleted. 18 (WebKit::CompletionHandlerCallChecker::~CompletionHandlerCallChecker): Deleted. 19 (WebKit::CompletionHandlerCallChecker::didCallCompletionHandler): Deleted. 20 (WebKit::CompletionHandlerCallChecker::CompletionHandlerCallChecker): Deleted. 21 (WebKit::CompletionHandlerCallChecker::classImplementingDelegateMethod): Deleted. 22 * WebKit2.xcodeproj/project.pbxproj: 23 1 24 2014-06-11 Martin Hock <mhock@apple.com> 2 25 -
trunk/Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm
r169727 r169854 29 29 #if WK_API_ENABLED 30 30 31 #import " _WKFrameHandleInternal.h"31 #import "CompletionHandlerCallChecker.h" 32 32 #import "NavigationActionData.h" 33 33 #import "WKFrameInfoInternal.h" … … 37 37 #import "WKWindowFeaturesInternal.h" 38 38 #import "WKUIDelegatePrivate.h" 39 #import "_WKFrameHandleInternal.h" 39 40 40 41 namespace WebKit { 41 42 class CompletionHandlerCallChecker : public WTF::ThreadSafeRefCounted<CompletionHandlerCallChecker> {43 public:44 static PassRefPtr<CompletionHandlerCallChecker> create(id delegate, SEL delegateMethodSelector)45 {46 return adoptRef(new CompletionHandlerCallChecker(object_getClass(delegate), delegateMethodSelector));47 }48 49 ~CompletionHandlerCallChecker()50 {51 if (m_didCallCompletionHandler)52 return;53 54 Class delegateClass = classImplementingDelegateMethod();55 [NSException raise:NSInternalInconsistencyException format:@"Completion handler passed to %c[%@ %@] was not called", class_isMetaClass(delegateClass) ? '+' : '-', NSStringFromClass(delegateClass), NSStringFromSelector(m_delegateMethodSelector)];56 }57 58 void didCallCompletionHandler()59 {60 ASSERT(!m_didCallCompletionHandler);61 m_didCallCompletionHandler = true;62 }63 64 private:65 CompletionHandlerCallChecker(Class delegateClass, SEL delegateMethodSelector)66 : m_delegateClass(delegateClass)67 , m_delegateMethodSelector(delegateMethodSelector)68 , m_didCallCompletionHandler(false)69 {70 }71 72 Class classImplementingDelegateMethod() const73 {74 Class delegateClass = m_delegateClass;75 Method delegateMethod = class_getInstanceMethod(delegateClass, m_delegateMethodSelector);76 77 for (Class superclass = class_getSuperclass(delegateClass); superclass; superclass = class_getSuperclass(superclass)) {78 if (class_getInstanceMethod(superclass, m_delegateMethodSelector) != delegateMethod)79 break;80 81 delegateClass = superclass;82 }83 84 return delegateClass;85 }86 87 Class m_delegateClass;88 SEL m_delegateMethodSelector;89 bool m_didCallCompletionHandler;90 };91 92 42 93 43 UIDelegate::UIDelegate(WKWebView *webView) -
trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
r169846 r169854 726 726 37A64E5518F38E3C00EB30F1 /* _WKFormDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 37A64E5418F38E3C00EB30F1 /* _WKFormDelegate.h */; settings = {ATTRIBUTES = (Private, ); }; }; 727 727 37A64E5718F38F4600EB30F1 /* _WKFormInputSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 37A64E5618F38F4600EB30F1 /* _WKFormInputSession.h */; settings = {ATTRIBUTES = (Private, ); }; }; 728 37BEC4E019491486008B4286 /* CompletionHandlerCallChecker.mm in Sources */ = {isa = PBXBuildFile; fileRef = 37BEC4DE19491486008B4286 /* CompletionHandlerCallChecker.mm */; }; 729 37BEC4E119491486008B4286 /* CompletionHandlerCallChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 37BEC4DF19491486008B4286 /* CompletionHandlerCallChecker.h */; }; 728 730 37BEC4DD1948FC6A008B4286 /* WebCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AA1C79A100E7FC50078DEBC /* WebCore.framework */; }; 729 731 37BF2F061947DEB400723C48 /* WKNSURLRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 37BF2F041947DEB400723C48 /* WKNSURLRequest.h */; }; … … 2709 2711 37A64E5418F38E3C00EB30F1 /* _WKFormDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKFormDelegate.h; sourceTree = "<group>"; }; 2710 2712 37A64E5618F38F4600EB30F1 /* _WKFormInputSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKFormInputSession.h; sourceTree = "<group>"; }; 2713 37BEC4DE19491486008B4286 /* CompletionHandlerCallChecker.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CompletionHandlerCallChecker.mm; sourceTree = "<group>"; }; 2714 37BEC4DF19491486008B4286 /* CompletionHandlerCallChecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompletionHandlerCallChecker.h; sourceTree = "<group>"; }; 2711 2715 37BF2F041947DEB400723C48 /* WKNSURLRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKNSURLRequest.h; sourceTree = "<group>"; }; 2712 2716 37BF2F051947DEB400723C48 /* WKNSURLRequest.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKNSURLRequest.mm; sourceTree = "<group>"; }; … … 5025 5029 children = ( 5026 5030 378E1A3B181ED6FF0031007A /* APIObject.mm */, 5031 37BEC4DF19491486008B4286 /* CompletionHandlerCallChecker.h */, 5032 37BEC4DE19491486008B4286 /* CompletionHandlerCallChecker.mm */, 5027 5033 37C4C0921814B3AF003688B9 /* WKNSArray.h */, 5028 5034 37C4C0911814B3AF003688B9 /* WKNSArray.mm */, … … 6986 6992 BC032DA810F437D10058C15A /* ArgumentEncoder.h in Headers */, 6987 6993 BC032DA910F437D10058C15A /* Arguments.h in Headers */, 6994 37BEC4E119491486008B4286 /* CompletionHandlerCallChecker.h in Headers */, 6988 6995 BCEE966D112FAF57006BCC24 /* Attachment.h in Headers */, 6989 6996 1A5B1C5518987EDF004FCF9B /* WebDocumentLoader.h in Headers */, … … 9053 9060 BCE469551214E6CB000B98EB /* WebFormSubmissionListenerProxy.cpp in Sources */, 9054 9061 BC111ADD112F5B9300337BAB /* WebFrame.cpp in Sources */, 9062 37BEC4E019491486008B4286 /* CompletionHandlerCallChecker.mm in Sources */, 9055 9063 2DA944AE1884E9BA00ED86DB /* WebInspectorProxyIOS.mm in Sources */, 9056 9064 BCE469791214F2B4000B98EB /* WebFrameListenerProxy.cpp in Sources */,
Note: See TracChangeset
for help on using the changeset viewer.