InjectedBundleNodeHandle.h [plain text]
#ifndef InjectedBundleNodeHandle_h
#define InjectedBundleNodeHandle_h
#include "APIObject.h"
#include "ImageOptions.h"
#include <JavaScriptCore/JSBase.h>
#include <wtf/Forward.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
namespace WebCore {
class IntRect;
class Node;
}
namespace WebKit {
class InjectedBundleRangeHandle;
class InjectedBundleScriptWorld;
class WebFrame;
class WebImage;
class InjectedBundleNodeHandle : public API::ObjectImpl<API::Object::Type::BundleNodeHandle> {
public:
static RefPtr<InjectedBundleNodeHandle> getOrCreate(JSContextRef, JSObjectRef);
static RefPtr<InjectedBundleNodeHandle> getOrCreate(WebCore::Node*);
static Ref<InjectedBundleNodeHandle> getOrCreate(WebCore::Node&);
virtual ~InjectedBundleNodeHandle();
WebCore::Node* coreNode();
Ref<InjectedBundleNodeHandle> document();
WebCore::IntRect elementBounds();
WebCore::IntRect renderRect(bool*);
PassRefPtr<WebImage> renderedImage(SnapshotOptions);
PassRefPtr<InjectedBundleRangeHandle> visibleRange();
void setHTMLInputElementValueForUser(const String&);
bool isHTMLInputElementAutoFilled() const;
void setHTMLInputElementAutoFilled(bool);
bool isHTMLInputElementAutoFillButtonEnabled() const;
void setHTMLInputElementAutoFillButtonEnabled(bool);
WebCore::IntRect htmlInputElementAutoFillButtonBounds();
bool htmlInputElementLastChangeWasUserEdit();
bool htmlTextAreaElementLastChangeWasUserEdit();
bool isTextField() const;
PassRefPtr<InjectedBundleNodeHandle> htmlTableCellElementCellAbove();
PassRefPtr<WebFrame> documentFrame();
PassRefPtr<WebFrame> htmlFrameElementContentFrame();
PassRefPtr<WebFrame> htmlIFrameElementContentFrame();
private:
static Ref<InjectedBundleNodeHandle> create(WebCore::Node&);
InjectedBundleNodeHandle(WebCore::Node&);
Ref<WebCore::Node> m_node;
};
}
#endif // InjectedBundleNodeHandle_h