diff options
Diffstat (limited to 'Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm')
-rw-r--r-- | Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm b/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm index 2d4a94400..8604de876 100644 --- a/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm +++ b/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm @@ -36,6 +36,7 @@ #import "WKURLCF.h" #import "WKURLRequest.h" #import "WKURLRequestNS.h" +#import "WebContext.h" #import <wtf/RetainPtr.h> #import "WKBrowsingContextLoadDelegate.h" @@ -103,6 +104,20 @@ static inline NSURL *autoreleased(WKURLRef url) #pragma mark Loading ++ (void)registerSchemeForCustomProtocol:(NSString *)scheme +{ + NSString *lowercaseScheme = [scheme lowercaseString]; + [[WKBrowsingContextController customSchemes] addObject:lowercaseScheme]; + [[NSNotificationCenter defaultCenter] postNotificationName:WebKit::SchemeForCustomProtocolRegisteredNotificationName object:lowercaseScheme]; +} + ++ (void)unregisterSchemeForCustomProtocol:(NSString *)scheme +{ + NSString *lowercaseScheme = [scheme lowercaseString]; + [[WKBrowsingContextController customSchemes] removeObject:lowercaseScheme]; + [[NSNotificationCenter defaultCenter] postNotificationName:WebKit::SchemeForCustomProtocolUnregisteredNotificationName object:lowercaseScheme]; +} + - (void)loadRequest:(NSURLRequest *)request { WKRetainPtr<WKURLRequestRef> wkRequest = adoptWK(WKURLRequestCreateWithNSURLRequest(request)); @@ -403,4 +418,10 @@ static void setUpPageLoaderClient(WKBrowsingContextController *browsingContext, return self; } ++ (NSMutableSet *)customSchemes +{ + static NSMutableSet *customSchemes = [[NSMutableSet alloc] init]; + return customSchemes; +} + @end |