WebGtkExtensionManager.h [plain text]
#ifndef WebGtkExtensionManager_h
#define WebGtkExtensionManager_h
#include "Module.h"
#include "WKBundle.h"
#include <wtf/NeverDestroyed.h>
#include <wtf/Noncopyable.h>
#include <wtf/Vector.h>
#include <wtf/gobject/GRefPtr.h>
typedef struct _WebKitWebExtension WebKitWebExtension;
namespace WTF {
class String;
}
namespace WebKit {
class WebGtkExtensionManager {
WTF_MAKE_NONCOPYABLE(WebGtkExtensionManager);
public:
WK_EXPORT static WebGtkExtensionManager& shared();
WK_EXPORT void initialize(WKBundleRef, WKTypeRef);
private:
WebGtkExtensionManager();
void scanModules(const String&, Vector<String>&);
bool initializeWebExtension(Module* extensionModule, GVariant* userData);
Vector<Module*> m_extensionModules;
GRefPtr<WebKitWebExtension> m_extension;
friend class NeverDestroyed<WebGtkExtensionManager>;
};
}
#endif // WebGtkExtensionManager_h