/* clang-format off */ /* clang-format on */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef GeckoView_GeckoViewSwiftSupport_h #define GeckoView_GeckoViewSwiftSupport_h /* This header needs to stay valid Objective-C (not Objective-C++) when * built independently because it is used for Swift bridging too. */ #ifdef MOZILLA_CLIENT # include #else # define MOZ_EXPORT # define MOZ_BEGIN_EXTERN_C # define MOZ_END_EXTERN_C #endif #import #import #import @protocol SwiftEventDispatcher; @protocol SwiftGeckoViewRuntime - (id)runtimeDispatcher; - (id)dispatcherByName:(const char*)name; @end @protocol GeckoProcessExtension - (void)lockdownSandbox:(NSString*)revision; @end @protocol EventCallback - (void)sendSuccess:(id)response; - (void)sendError:(id)response; @end @protocol GeckoEventDispatcher - (void)dispatchToGecko:(NSString*)type message:(id)message callback:(id)callback; - (BOOL)hasListener:(NSString*)type; @end @protocol SwiftEventDispatcher - (void)attach:(id)gecko; - (void)dispatchToSwift:(NSString*)type message:(id)message callback:(id)callback; - (BOOL)hasListener:(NSString*)type; // Called when GeckoView is ready to receive dispatched events from Swift. - (void)activate; @end @protocol GeckoViewWindow - (UIView*)view; - (void)close; @end MOZ_BEGIN_EXTERN_C MOZ_EXPORT id GeckoViewOpenWindow( NSString* aId, id aDispatcher, NSDictionary* aInitData, bool aPrivateMode); MOZ_END_EXTERN_C #endif /* GeckoView_GeckoViewSwiftSupport_h */