Changeset 169854 in webkit


Ignore:
Timestamp:
Jun 11, 2014 4:06:43 PM (10 years ago)
Author:
mitz@apple.com
Message:

[Cocoa] Move CompletionHandlerCallChecker into a separate file
https://bugs.webkit.org/show_bug.cgi?id=133774

Reviewed by Anders Carlsson.

  • Shared/Cocoa/CompletionHandlerCallChecker.h: Added.
  • Shared/Cocoa/CompletionHandlerCallChecker.mm: Added.

(WebKit::CompletionHandlerCallChecker::create):
(WebKit::CompletionHandlerCallChecker::CompletionHandlerCallChecker):
(WebKit::CompletionHandlerCallChecker::~CompletionHandlerCallChecker):
(WebKit::CompletionHandlerCallChecker::didCallCompletionHandler):
(WebKit::CompletionHandlerCallChecker::classImplementingDelegateMethod):

  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::CompletionHandlerCallChecker::create): Deleted.
(WebKit::CompletionHandlerCallChecker::~CompletionHandlerCallChecker): Deleted.
(WebKit::CompletionHandlerCallChecker::didCallCompletionHandler): Deleted.
(WebKit::CompletionHandlerCallChecker::CompletionHandlerCallChecker): Deleted.
(WebKit::CompletionHandlerCallChecker::classImplementingDelegateMethod): Deleted.

  • WebKit2.xcodeproj/project.pbxproj:
Location:
trunk/Source/WebKit2
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r169851 r169854  
     12014-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
    1242014-06-11  Martin Hock  <mhock@apple.com>
    225
  • trunk/Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm

    r169727 r169854  
    2929#if WK_API_ENABLED
    3030
    31 #import "_WKFrameHandleInternal.h"
     31#import "CompletionHandlerCallChecker.h"
    3232#import "NavigationActionData.h"
    3333#import "WKFrameInfoInternal.h"
     
    3737#import "WKWindowFeaturesInternal.h"
    3838#import "WKUIDelegatePrivate.h"
     39#import "_WKFrameHandleInternal.h"
    3940
    4041namespace 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() const
    73     {
    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 
    9242
    9343UIDelegate::UIDelegate(WKWebView *webView)
  • trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r169846 r169854  
    726726                37A64E5518F38E3C00EB30F1 /* _WKFormDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 37A64E5418F38E3C00EB30F1 /* _WKFormDelegate.h */; settings = {ATTRIBUTES = (Private, ); }; };
    727727                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 */; };
    728730                37BEC4DD1948FC6A008B4286 /* WebCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AA1C79A100E7FC50078DEBC /* WebCore.framework */; };
    729731                37BF2F061947DEB400723C48 /* WKNSURLRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 37BF2F041947DEB400723C48 /* WKNSURLRequest.h */; };
     
    27092711                37A64E5418F38E3C00EB30F1 /* _WKFormDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKFormDelegate.h; sourceTree = "<group>"; };
    27102712                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>"; };
    27112715                37BF2F041947DEB400723C48 /* WKNSURLRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKNSURLRequest.h; sourceTree = "<group>"; };
    27122716                37BF2F051947DEB400723C48 /* WKNSURLRequest.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKNSURLRequest.mm; sourceTree = "<group>"; };
     
    50255029                        children = (
    50265030                                378E1A3B181ED6FF0031007A /* APIObject.mm */,
     5031                                37BEC4DF19491486008B4286 /* CompletionHandlerCallChecker.h */,
     5032                                37BEC4DE19491486008B4286 /* CompletionHandlerCallChecker.mm */,
    50275033                                37C4C0921814B3AF003688B9 /* WKNSArray.h */,
    50285034                                37C4C0911814B3AF003688B9 /* WKNSArray.mm */,
     
    69866992                                BC032DA810F437D10058C15A /* ArgumentEncoder.h in Headers */,
    69876993                                BC032DA910F437D10058C15A /* Arguments.h in Headers */,
     6994                                37BEC4E119491486008B4286 /* CompletionHandlerCallChecker.h in Headers */,
    69886995                                BCEE966D112FAF57006BCC24 /* Attachment.h in Headers */,
    69896996                                1A5B1C5518987EDF004FCF9B /* WebDocumentLoader.h in Headers */,
     
    90539060                                BCE469551214E6CB000B98EB /* WebFormSubmissionListenerProxy.cpp in Sources */,
    90549061                                BC111ADD112F5B9300337BAB /* WebFrame.cpp in Sources */,
     9062                                37BEC4E019491486008B4286 /* CompletionHandlerCallChecker.mm in Sources */,
    90559063                                2DA944AE1884E9BA00ED86DB /* WebInspectorProxyIOS.mm in Sources */,
    90569064                                BCE469791214F2B4000B98EB /* WebFrameListenerProxy.cpp in Sources */,
Note: See TracChangeset for help on using the changeset viewer.