QuickTimePluginReplacement.h [plain text]
#pragma once
#include "PluginReplacement.h"
namespace WebCore {
class DOMWrapperWorld;
class HTMLVideoElement;
class QuickTimePluginReplacement final : public PluginReplacement {
public:
static void registerPluginReplacement(PluginReplacementRegistrar);
virtual ~QuickTimePluginReplacement();
unsigned long long movieSize() const;
void postEvent(const String&);
HTMLVideoElement* parentElement() { return m_mediaElement.get(); }
private:
QuickTimePluginReplacement(HTMLPlugInElement&, const Vector<String>& paramNames, const Vector<String>& paramValues);
static Ref<PluginReplacement> create(HTMLPlugInElement&, const Vector<String>& paramNames, const Vector<String>& paramValues);
static bool supportsMimeType(const String&);
static bool supportsFileExtension(const String&);
static bool supportsURL(const URL&) { return true; }
static bool isEnabledBySettings(const Settings&);
bool installReplacement(ShadowRoot&) final;
JSC::JSObject* scriptObject() final { return m_scriptObject; }
bool willCreateRenderer() final { return m_mediaElement; }
RenderPtr<RenderElement> createElementRenderer(HTMLPlugInElement&, RenderStyle&&, const RenderTreePosition&) final;
bool ensureReplacementScriptInjected();
DOMWrapperWorld& isolatedWorld();
HTMLPlugInElement* m_parentElement;
RefPtr<HTMLVideoElement> m_mediaElement;
const Vector<String> m_names;
const Vector<String> m_values;
JSC::JSObject* m_scriptObject; };
}