63 lines
2.1 KiB
C++
63 lines
2.1 KiB
C++
// Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights
|
|
// reserved. Use of this source code is governed by a BSD-style license that
|
|
// can be found in the LICENSE file.
|
|
|
|
#ifndef CEF_LIBCEF_DOM_NODE_IMPL_H_
|
|
#define CEF_LIBCEF_DOM_NODE_IMPL_H_
|
|
#pragma once
|
|
|
|
#include "include/cef_dom.h"
|
|
#include "third_party/blink/public/web/web_node.h"
|
|
|
|
class CefDOMDocumentImpl;
|
|
|
|
class CefDOMNodeImpl : public CefDOMNode {
|
|
public:
|
|
CefDOMNodeImpl(CefRefPtr<CefDOMDocumentImpl> document,
|
|
const blink::WebNode& node);
|
|
~CefDOMNodeImpl() override;
|
|
|
|
// CefDOMNode methods.
|
|
Type GetType() override;
|
|
bool IsText() override;
|
|
bool IsElement() override;
|
|
bool IsEditable() override;
|
|
bool IsFormControlElement() override;
|
|
CefString GetFormControlElementType() override;
|
|
bool IsSame(CefRefPtr<CefDOMNode> that) override;
|
|
CefString GetName() override;
|
|
CefString GetValue() override;
|
|
bool SetValue(const CefString& value) override;
|
|
CefString GetAsMarkup() override;
|
|
CefRefPtr<CefDOMDocument> GetDocument() override;
|
|
CefRefPtr<CefDOMNode> GetParent() override;
|
|
CefRefPtr<CefDOMNode> GetPreviousSibling() override;
|
|
CefRefPtr<CefDOMNode> GetNextSibling() override;
|
|
bool HasChildren() override;
|
|
CefRefPtr<CefDOMNode> GetFirstChild() override;
|
|
CefRefPtr<CefDOMNode> GetLastChild() override;
|
|
CefString GetElementTagName() override;
|
|
bool HasElementAttributes() override;
|
|
bool HasElementAttribute(const CefString& attrName) override;
|
|
CefString GetElementAttribute(const CefString& attrName) override;
|
|
void GetElementAttributes(AttributeMap& attrMap) override;
|
|
bool SetElementAttribute(const CefString& attrName,
|
|
const CefString& value) override;
|
|
CefString GetElementInnerText() override;
|
|
CefRect GetElementBounds() override;
|
|
|
|
// Will be called from CefDOMDocumentImpl::Detach().
|
|
void Detach();
|
|
|
|
// Verify that the object exists and is being accessed on the UI thread.
|
|
bool VerifyContext();
|
|
|
|
protected:
|
|
CefRefPtr<CefDOMDocumentImpl> document_;
|
|
blink::WebNode node_;
|
|
|
|
IMPLEMENT_REFCOUNTING(CefDOMNodeImpl);
|
|
};
|
|
|
|
#endif // CEF_LIBCEF_DOM_NODE_IMPL_H_
|