/* * This file is part of the WebKit open source project. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #include "config.h" #include "WebKitDOMDocument.h" #include "ConvertToUTF8String.h" #include "DOMObjectCache.h" #include "GObjectEventListener.h" #include "WebKitDOMAttrPrivate.h" #include "WebKitDOMCDATASectionPrivate.h" #include "WebKitDOMCSSStyleDeclarationPrivate.h" #include "WebKitDOMCommentPrivate.h" #include "WebKitDOMDOMImplementationPrivate.h" #include "WebKitDOMDOMWindowPrivate.h" #include "WebKitDOMDocumentFragmentPrivate.h" #include "WebKitDOMDocumentPrivate.h" #include "WebKitDOMDocumentTypePrivate.h" #include "WebKitDOMDocumentUnstable.h" #include "WebKitDOMElementPrivate.h" #include "WebKitDOMEventPrivate.h" #include "WebKitDOMEventTarget.h" #include "WebKitDOMHTMLCollectionPrivate.h" #include "WebKitDOMHTMLElementPrivate.h" #include "WebKitDOMHTMLHeadElementPrivate.h" #include "WebKitDOMHTMLScriptElementPrivate.h" #include "WebKitDOMNodeFilterPrivate.h" #include "WebKitDOMNodeIteratorPrivate.h" #include "WebKitDOMNodeListPrivate.h" #include "WebKitDOMNodePrivate.h" #include "WebKitDOMPrivate.h" #include "WebKitDOMProcessingInstructionPrivate.h" #include "WebKitDOMRangePrivate.h" #include "WebKitDOMStyleSheetListPrivate.h" #include "WebKitDOMTextPrivate.h" #include "WebKitDOMTreeWalkerPrivate.h" #include "WebKitDOMXPathExpressionPrivate.h" #include "WebKitDOMXPathNSResolverPrivate.h" #include "WebKitDOMXPathResultPrivate.h" #include #include #include #include #include #include #include namespace WebKit { WebKitDOMDocument* kit(WebCore::Document* obj) { return WEBKIT_DOM_DOCUMENT(kit(static_cast(obj))); } WebCore::Document* core(WebKitDOMDocument* request) { return request ? static_cast(WEBKIT_DOM_OBJECT(request)->coreObject) : 0; } WebKitDOMDocument* wrapDocument(WebCore::Document* coreObject) { ASSERT(coreObject); return WEBKIT_DOM_DOCUMENT(g_object_new(WEBKIT_DOM_TYPE_DOCUMENT, "core-object", coreObject, nullptr)); } } // namespace WebKit static gboolean webkit_dom_document_dispatch_event(WebKitDOMEventTarget* target, WebKitDOMEvent* event, GError** error) { WebCore::Event* coreEvent = WebKit::core(event); if (!coreEvent) return false; WebCore::Document* coreTarget = static_cast(WEBKIT_DOM_OBJECT(target)->coreObject); auto result = coreTarget->dispatchEventForBindings(*coreEvent); if (result.hasException()) { WebCore::ExceptionCodeDescription description(result.releaseException().code()); g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), description.code, description.name); return false; } return result.releaseReturnValue(); } static gboolean webkit_dom_document_add_event_listener(WebKitDOMEventTarget* target, const char* eventName, GClosure* handler, gboolean useCapture) { WebCore::Document* coreTarget = static_cast(WEBKIT_DOM_OBJECT(target)->coreObject); return WebKit::GObjectEventListener::addEventListener(G_OBJECT(target), coreTarget, eventName, handler, useCapture); } static gboolean webkit_dom_document_remove_event_listener(WebKitDOMEventTarget* target, const char* eventName, GClosure* handler, gboolean useCapture) { WebCore::Document* coreTarget = static_cast(WEBKIT_DOM_OBJECT(target)->coreObject); return WebKit::GObjectEventListener::removeEventListener(G_OBJECT(target), coreTarget, eventName, handler, useCapture); } static void webkit_dom_event_target_init(WebKitDOMEventTargetIface* iface) { iface->dispatch_event = webkit_dom_document_dispatch_event; iface->add_event_listener = webkit_dom_document_add_event_listener; iface->remove_event_listener = webkit_dom_document_remove_event_listener; } G_DEFINE_TYPE_WITH_CODE(WebKitDOMDocument, webkit_dom_document, WEBKIT_DOM_TYPE_NODE, G_IMPLEMENT_INTERFACE(WEBKIT_DOM_TYPE_EVENT_TARGET, webkit_dom_event_target_init)) enum { PROP_0, PROP_DOCTYPE, PROP_IMPLEMENTATION, PROP_DOCUMENT_ELEMENT, PROP_INPUT_ENCODING, PROP_XML_ENCODING, PROP_XML_VERSION, PROP_XML_STANDALONE, PROP_DOCUMENT_URI, PROP_DEFAULT_VIEW, PROP_STYLE_SHEETS, PROP_CONTENT_TYPE, PROP_TITLE, PROP_DIR, PROP_DESIGN_MODE, PROP_REFERRER, PROP_DOMAIN, PROP_URL, PROP_COOKIE, PROP_BODY, PROP_HEAD, PROP_IMAGES, PROP_APPLETS, PROP_LINKS, PROP_FORMS, PROP_ANCHORS, PROP_EMBEDS, PROP_PLUGINS, PROP_SCRIPTS, PROP_LAST_MODIFIED, PROP_CHARSET, PROP_READY_STATE, PROP_CHARACTER_SET, PROP_PREFERRED_STYLESHEET_SET, PROP_SELECTED_STYLESHEET_SET, PROP_ACTIVE_ELEMENT, PROP_COMPAT_MODE, PROP_WEBKIT_IS_FULL_SCREEN, PROP_WEBKIT_FULL_SCREEN_KEYBOARD_INPUT_ALLOWED, PROP_WEBKIT_CURRENT_FULL_SCREEN_ELEMENT, PROP_WEBKIT_FULLSCREEN_ENABLED, PROP_WEBKIT_FULLSCREEN_ELEMENT, PROP_POINTER_LOCK_ELEMENT, PROP_VISIBILITY_STATE, PROP_HIDDEN, PROP_CURRENT_SCRIPT, PROP_ORIGIN, PROP_SCROLLING_ELEMENT, PROP_CHILDREN, PROP_FIRST_ELEMENT_CHILD, PROP_LAST_ELEMENT_CHILD, PROP_CHILD_ELEMENT_COUNT, }; static void webkit_dom_document_set_property(GObject* object, guint propertyId, const GValue* value, GParamSpec* pspec) { WebKitDOMDocument* self = WEBKIT_DOM_DOCUMENT(object); switch (propertyId) { case PROP_XML_VERSION: webkit_dom_document_set_xml_version(self, g_value_get_string(value), nullptr); break; case PROP_XML_STANDALONE: webkit_dom_document_set_xml_standalone(self, g_value_get_boolean(value), nullptr); break; case PROP_DOCUMENT_URI: webkit_dom_document_set_document_uri(self, g_value_get_string(value)); break; case PROP_TITLE: webkit_dom_document_set_title(self, g_value_get_string(value)); break; case PROP_DIR: webkit_dom_document_set_dir(self, g_value_get_string(value)); break; case PROP_DESIGN_MODE: webkit_dom_document_set_design_mode(self, g_value_get_string(value)); break; case PROP_COOKIE: webkit_dom_document_set_cookie(self, g_value_get_string(value), nullptr); break; case PROP_CHARSET: webkit_dom_document_set_charset(self, g_value_get_string(value)); break; case PROP_SELECTED_STYLESHEET_SET: webkit_dom_document_set_selected_stylesheet_set(self, g_value_get_string(value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyId, pspec); break; } } static void webkit_dom_document_get_property(GObject* object, guint propertyId, GValue* value, GParamSpec* pspec) { WebKitDOMDocument* self = WEBKIT_DOM_DOCUMENT(object); switch (propertyId) { case PROP_DOCTYPE: g_value_set_object(value, webkit_dom_document_get_doctype(self)); break; case PROP_IMPLEMENTATION: g_value_set_object(value, webkit_dom_document_get_implementation(self)); break; case PROP_DOCUMENT_ELEMENT: g_value_set_object(value, webkit_dom_document_get_document_element(self)); break; case PROP_INPUT_ENCODING: g_value_take_string(value, webkit_dom_document_get_input_encoding(self)); break; case PROP_XML_ENCODING: g_value_take_string(value, webkit_dom_document_get_xml_encoding(self)); break; case PROP_XML_VERSION: g_value_take_string(value, webkit_dom_document_get_xml_version(self)); break; case PROP_XML_STANDALONE: g_value_set_boolean(value, webkit_dom_document_get_xml_standalone(self)); break; case PROP_DOCUMENT_URI: g_value_take_string(value, webkit_dom_document_get_document_uri(self)); break; case PROP_DEFAULT_VIEW: g_value_set_object(value, webkit_dom_document_get_default_view(self)); break; case PROP_STYLE_SHEETS: g_value_set_object(value, webkit_dom_document_get_style_sheets(self)); break; case PROP_CONTENT_TYPE: g_value_take_string(value, webkit_dom_document_get_content_type(self)); break; case PROP_TITLE: g_value_take_string(value, webkit_dom_document_get_title(self)); break; case PROP_DIR: g_value_take_string(value, webkit_dom_document_get_dir(self)); break; case PROP_DESIGN_MODE: g_value_take_string(value, webkit_dom_document_get_design_mode(self)); break; case PROP_REFERRER: g_value_take_string(value, webkit_dom_document_get_referrer(self)); break; case PROP_DOMAIN: g_value_take_string(value, webkit_dom_document_get_domain(self)); break; case PROP_URL: g_value_take_string(value, webkit_dom_document_get_url(self)); break; case PROP_COOKIE: g_value_take_string(value, webkit_dom_document_get_cookie(self, nullptr)); break; case PROP_BODY: g_value_set_object(value, webkit_dom_document_get_body(self)); break; case PROP_HEAD: g_value_set_object(value, webkit_dom_document_get_head(self)); break; case PROP_IMAGES: g_value_set_object(value, webkit_dom_document_get_images(self)); break; case PROP_APPLETS: g_value_set_object(value, webkit_dom_document_get_applets(self)); break; case PROP_LINKS: g_value_set_object(value, webkit_dom_document_get_links(self)); break; case PROP_FORMS: g_value_set_object(value, webkit_dom_document_get_forms(self)); break; case PROP_ANCHORS: g_value_set_object(value, webkit_dom_document_get_anchors(self)); break; case PROP_EMBEDS: g_value_set_object(value, webkit_dom_document_get_embeds(self)); break; case PROP_PLUGINS: g_value_set_object(value, webkit_dom_document_get_plugins(self)); break; case PROP_SCRIPTS: g_value_set_object(value, webkit_dom_document_get_scripts(self)); break; case PROP_LAST_MODIFIED: g_value_take_string(value, webkit_dom_document_get_last_modified(self)); break; case PROP_CHARSET: g_value_take_string(value, webkit_dom_document_get_charset(self)); break; case PROP_READY_STATE: g_value_take_string(value, webkit_dom_document_get_ready_state(self)); break; case PROP_CHARACTER_SET: g_value_take_string(value, webkit_dom_document_get_character_set(self)); break; case PROP_PREFERRED_STYLESHEET_SET: g_value_take_string(value, webkit_dom_document_get_preferred_stylesheet_set(self)); break; case PROP_SELECTED_STYLESHEET_SET: g_value_take_string(value, webkit_dom_document_get_selected_stylesheet_set(self)); break; case PROP_ACTIVE_ELEMENT: g_value_set_object(value, webkit_dom_document_get_active_element(self)); break; case PROP_COMPAT_MODE: g_value_take_string(value, webkit_dom_document_get_compat_mode(self)); break; case PROP_WEBKIT_IS_FULL_SCREEN: g_value_set_boolean(value, webkit_dom_document_get_webkit_is_fullscreen(self)); break; case PROP_WEBKIT_FULL_SCREEN_KEYBOARD_INPUT_ALLOWED: g_value_set_boolean(value, webkit_dom_document_get_webkit_fullscreen_keyboard_input_allowed(self)); break; case PROP_WEBKIT_CURRENT_FULL_SCREEN_ELEMENT: g_value_set_object(value, webkit_dom_document_get_webkit_current_fullscreen_element(self)); break; case PROP_WEBKIT_FULLSCREEN_ENABLED: g_value_set_boolean(value, webkit_dom_document_get_webkit_fullscreen_enabled(self)); break; case PROP_WEBKIT_FULLSCREEN_ELEMENT: g_value_set_object(value, webkit_dom_document_get_webkit_fullscreen_element(self)); break; case PROP_POINTER_LOCK_ELEMENT: g_value_set_object(value, webkit_dom_document_get_pointer_lock_element(self)); break; case PROP_VISIBILITY_STATE: g_value_take_string(value, webkit_dom_document_get_visibility_state(self)); break; case PROP_HIDDEN: g_value_set_boolean(value, webkit_dom_document_get_hidden(self)); break; case PROP_CURRENT_SCRIPT: g_value_set_object(value, webkit_dom_document_get_current_script(self)); break; case PROP_ORIGIN: g_value_take_string(value, webkit_dom_document_get_origin(self)); break; case PROP_SCROLLING_ELEMENT: g_value_set_object(value, webkit_dom_document_get_scrolling_element(self)); break; case PROP_CHILDREN: g_value_set_object(value, webkit_dom_document_get_children(self)); break; case PROP_FIRST_ELEMENT_CHILD: g_value_set_object(value, webkit_dom_document_get_first_element_child(self)); break; case PROP_LAST_ELEMENT_CHILD: g_value_set_object(value, webkit_dom_document_get_last_element_child(self)); break; case PROP_CHILD_ELEMENT_COUNT: g_value_set_ulong(value, webkit_dom_document_get_child_element_count(self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyId, pspec); break; } } static void webkit_dom_document_class_init(WebKitDOMDocumentClass* requestClass) { GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass); gobjectClass->set_property = webkit_dom_document_set_property; gobjectClass->get_property = webkit_dom_document_get_property; g_object_class_install_property( gobjectClass, PROP_DOCTYPE, g_param_spec_object( "doctype", "Document:doctype", "read-only WebKitDOMDocumentType* Document:doctype", WEBKIT_DOM_TYPE_DOCUMENT_TYPE, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_IMPLEMENTATION, g_param_spec_object( "implementation", "Document:implementation", "read-only WebKitDOMDOMImplementation* Document:implementation", WEBKIT_DOM_TYPE_DOM_IMPLEMENTATION, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_DOCUMENT_ELEMENT, g_param_spec_object( "document-element", "Document:document-element", "read-only WebKitDOMElement* Document:document-element", WEBKIT_DOM_TYPE_ELEMENT, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_INPUT_ENCODING, g_param_spec_string( "input-encoding", "Document:input-encoding", "read-only gchar* Document:input-encoding", "", WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_XML_ENCODING, g_param_spec_string( "xml-encoding", "Document:xml-encoding", "read-only gchar* Document:xml-encoding", "", WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_XML_VERSION, g_param_spec_string( "xml-version", "Document:xml-version", "read-write gchar* Document:xml-version", "", WEBKIT_PARAM_READWRITE)); g_object_class_install_property( gobjectClass, PROP_XML_STANDALONE, g_param_spec_boolean( "xml-standalone", "Document:xml-standalone", "read-write gboolean Document:xml-standalone", FALSE, WEBKIT_PARAM_READWRITE)); g_object_class_install_property( gobjectClass, PROP_DOCUMENT_URI, g_param_spec_string( "document-uri", "Document:document-uri", "read-write gchar* Document:document-uri", "", WEBKIT_PARAM_READWRITE)); g_object_class_install_property( gobjectClass, PROP_DEFAULT_VIEW, g_param_spec_object( "default-view", "Document:default-view", "read-only WebKitDOMDOMWindow* Document:default-view", WEBKIT_DOM_TYPE_DOM_WINDOW, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_STYLE_SHEETS, g_param_spec_object( "style-sheets", "Document:style-sheets", "read-only WebKitDOMStyleSheetList* Document:style-sheets", WEBKIT_DOM_TYPE_STYLE_SHEET_LIST, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_CONTENT_TYPE, g_param_spec_string( "content-type", "Document:content-type", "read-only gchar* Document:content-type", "", WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_TITLE, g_param_spec_string( "title", "Document:title", "read-write gchar* Document:title", "", WEBKIT_PARAM_READWRITE)); g_object_class_install_property( gobjectClass, PROP_DIR, g_param_spec_string( "dir", "Document:dir", "read-write gchar* Document:dir", "", WEBKIT_PARAM_READWRITE)); g_object_class_install_property( gobjectClass, PROP_DESIGN_MODE, g_param_spec_string( "design-mode", "Document:design-mode", "read-write gchar* Document:design-mode", "", WEBKIT_PARAM_READWRITE)); g_object_class_install_property( gobjectClass, PROP_REFERRER, g_param_spec_string( "referrer", "Document:referrer", "read-only gchar* Document:referrer", "", WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_DOMAIN, g_param_spec_string( "domain", "Document:domain", "read-only gchar* Document:domain", "", WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_URL, g_param_spec_string( "url", "Document:url", "read-only gchar* Document:url", "", WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_COOKIE, g_param_spec_string( "cookie", "Document:cookie", "read-write gchar* Document:cookie", "", WEBKIT_PARAM_READWRITE)); g_object_class_install_property( gobjectClass, PROP_BODY, g_param_spec_object( "body", "Document:body", "read-only WebKitDOMHTMLElement* Document:body", WEBKIT_DOM_TYPE_HTML_ELEMENT, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_HEAD, g_param_spec_object( "head", "Document:head", "read-only WebKitDOMHTMLHeadElement* Document:head", WEBKIT_DOM_TYPE_HTML_HEAD_ELEMENT, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_IMAGES, g_param_spec_object( "images", "Document:images", "read-only WebKitDOMHTMLCollection* Document:images", WEBKIT_DOM_TYPE_HTML_COLLECTION, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_APPLETS, g_param_spec_object( "applets", "Document:applets", "read-only WebKitDOMHTMLCollection* Document:applets", WEBKIT_DOM_TYPE_HTML_COLLECTION, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_LINKS, g_param_spec_object( "links", "Document:links", "read-only WebKitDOMHTMLCollection* Document:links", WEBKIT_DOM_TYPE_HTML_COLLECTION, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_FORMS, g_param_spec_object( "forms", "Document:forms", "read-only WebKitDOMHTMLCollection* Document:forms", WEBKIT_DOM_TYPE_HTML_COLLECTION, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_ANCHORS, g_param_spec_object( "anchors", "Document:anchors", "read-only WebKitDOMHTMLCollection* Document:anchors", WEBKIT_DOM_TYPE_HTML_COLLECTION, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_EMBEDS, g_param_spec_object( "embeds", "Document:embeds", "read-only WebKitDOMHTMLCollection* Document:embeds", WEBKIT_DOM_TYPE_HTML_COLLECTION, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_PLUGINS, g_param_spec_object( "plugins", "Document:plugins", "read-only WebKitDOMHTMLCollection* Document:plugins", WEBKIT_DOM_TYPE_HTML_COLLECTION, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_SCRIPTS, g_param_spec_object( "scripts", "Document:scripts", "read-only WebKitDOMHTMLCollection* Document:scripts", WEBKIT_DOM_TYPE_HTML_COLLECTION, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_LAST_MODIFIED, g_param_spec_string( "last-modified", "Document:last-modified", "read-only gchar* Document:last-modified", "", WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_CHARSET, g_param_spec_string( "charset", "Document:charset", "read-write gchar* Document:charset", "", WEBKIT_PARAM_READWRITE)); g_object_class_install_property( gobjectClass, PROP_READY_STATE, g_param_spec_string( "ready-state", "Document:ready-state", "read-only gchar* Document:ready-state", "", WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_CHARACTER_SET, g_param_spec_string( "character-set", "Document:character-set", "read-only gchar* Document:character-set", "", WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_PREFERRED_STYLESHEET_SET, g_param_spec_string( "preferred-stylesheet-set", "Document:preferred-stylesheet-set", "read-only gchar* Document:preferred-stylesheet-set", "", WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_SELECTED_STYLESHEET_SET, g_param_spec_string( "selected-stylesheet-set", "Document:selected-stylesheet-set", "read-write gchar* Document:selected-stylesheet-set", "", WEBKIT_PARAM_READWRITE)); g_object_class_install_property( gobjectClass, PROP_ACTIVE_ELEMENT, g_param_spec_object( "active-element", "Document:active-element", "read-only WebKitDOMElement* Document:active-element", WEBKIT_DOM_TYPE_ELEMENT, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_COMPAT_MODE, g_param_spec_string( "compat-mode", "Document:compat-mode", "read-only gchar* Document:compat-mode", "", WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_WEBKIT_IS_FULL_SCREEN, g_param_spec_boolean( "webkit-is-full-screen", "Document:webkit-is-full-screen", "read-only gboolean Document:webkit-is-full-screen", FALSE, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_WEBKIT_FULL_SCREEN_KEYBOARD_INPUT_ALLOWED, g_param_spec_boolean( "webkit-full-screen-keyboard-input-allowed", "Document:webkit-full-screen-keyboard-input-allowed", "read-only gboolean Document:webkit-full-screen-keyboard-input-allowed", FALSE, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_WEBKIT_CURRENT_FULL_SCREEN_ELEMENT, g_param_spec_object( "webkit-current-full-screen-element", "Document:webkit-current-full-screen-element", "read-only WebKitDOMElement* Document:webkit-current-full-screen-element", WEBKIT_DOM_TYPE_ELEMENT, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_WEBKIT_FULLSCREEN_ENABLED, g_param_spec_boolean( "webkit-fullscreen-enabled", "Document:webkit-fullscreen-enabled", "read-only gboolean Document:webkit-fullscreen-enabled", FALSE, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_WEBKIT_FULLSCREEN_ELEMENT, g_param_spec_object( "webkit-fullscreen-element", "Document:webkit-fullscreen-element", "read-only WebKitDOMElement* Document:webkit-fullscreen-element", WEBKIT_DOM_TYPE_ELEMENT, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_POINTER_LOCK_ELEMENT, g_param_spec_object( "pointer-lock-element", "Document:pointer-lock-element", "read-only WebKitDOMElement* Document:pointer-lock-element", WEBKIT_DOM_TYPE_ELEMENT, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_VISIBILITY_STATE, g_param_spec_string( "visibility-state", "Document:visibility-state", "read-only gchar* Document:visibility-state", "", WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_HIDDEN, g_param_spec_boolean( "hidden", "Document:hidden", "read-only gboolean Document:hidden", FALSE, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_CURRENT_SCRIPT, g_param_spec_object( "current-script", "Document:current-script", "read-only WebKitDOMHTMLScriptElement* Document:current-script", WEBKIT_DOM_TYPE_HTML_SCRIPT_ELEMENT, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_ORIGIN, g_param_spec_string( "origin", "Document:origin", "read-only gchar* Document:origin", "", WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_SCROLLING_ELEMENT, g_param_spec_object( "scrolling-element", "Document:scrolling-element", "read-only WebKitDOMElement* Document:scrolling-element", WEBKIT_DOM_TYPE_ELEMENT, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_CHILDREN, g_param_spec_object( "children", "Document:children", "read-only WebKitDOMHTMLCollection* Document:children", WEBKIT_DOM_TYPE_HTML_COLLECTION, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_FIRST_ELEMENT_CHILD, g_param_spec_object( "first-element-child", "Document:first-element-child", "read-only WebKitDOMElement* Document:first-element-child", WEBKIT_DOM_TYPE_ELEMENT, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_LAST_ELEMENT_CHILD, g_param_spec_object( "last-element-child", "Document:last-element-child", "read-only WebKitDOMElement* Document:last-element-child", WEBKIT_DOM_TYPE_ELEMENT, WEBKIT_PARAM_READABLE)); g_object_class_install_property( gobjectClass, PROP_CHILD_ELEMENT_COUNT, g_param_spec_ulong( "child-element-count", "Document:child-element-count", "read-only gulong Document:child-element-count", 0, G_MAXULONG, 0, WEBKIT_PARAM_READABLE)); } static void webkit_dom_document_init(WebKitDOMDocument* request) { UNUSED_PARAM(request); } WebKitDOMElement* webkit_dom_document_create_element(WebKitDOMDocument* self, const gchar* tagName, GError** error) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(tagName, 0); g_return_val_if_fail(!error || !*error, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedTagName = WTF::String::fromUTF8(tagName); auto result = item->createElementForBindings(convertedTagName); if (result.hasException()) { WebCore::ExceptionCodeDescription ecdesc(result.releaseException().code()); g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name); return nullptr; } return WebKit::kit(result.releaseReturnValue().ptr()); } WebKitDOMDocumentFragment* webkit_dom_document_create_document_fragment(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->createDocumentFragment()); return WebKit::kit(gobjectResult.get()); } WebKitDOMText* webkit_dom_document_create_text_node(WebKitDOMDocument* self, const gchar* data) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(data, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedData = WTF::String::fromUTF8(data); RefPtr gobjectResult = WTF::getPtr(item->createTextNode(convertedData)); return WebKit::kit(gobjectResult.get()); } WebKitDOMComment* webkit_dom_document_create_comment(WebKitDOMDocument* self, const gchar* data) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(data, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedData = WTF::String::fromUTF8(data); RefPtr gobjectResult = WTF::getPtr(item->createComment(convertedData)); return WebKit::kit(gobjectResult.get()); } WebKitDOMCDATASection* webkit_dom_document_create_cdata_section(WebKitDOMDocument* self, const gchar* data, GError** error) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(data, 0); g_return_val_if_fail(!error || !*error, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedData = WTF::String::fromUTF8(data); auto result = item->createCDATASection(convertedData); if (result.hasException()) { WebCore::ExceptionCodeDescription ecdesc(result.releaseException().code()); g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name); return nullptr; } return WebKit::kit(result.releaseReturnValue().ptr()); } WebKitDOMProcessingInstruction* webkit_dom_document_create_processing_instruction(WebKitDOMDocument* self, const gchar* target, const gchar* data, GError** error) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(target, 0); g_return_val_if_fail(data, 0); g_return_val_if_fail(!error || !*error, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedTarget = WTF::String::fromUTF8(target); WTF::String convertedData = WTF::String::fromUTF8(data); auto result = item->createProcessingInstruction(convertedTarget, convertedData); if (result.hasException()) { WebCore::ExceptionCodeDescription ecdesc(result.releaseException().code()); g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name); return nullptr; } return WebKit::kit(result.releaseReturnValue().ptr()); } WebKitDOMAttr* webkit_dom_document_create_attribute(WebKitDOMDocument* self, const gchar* name, GError** error) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(name, 0); g_return_val_if_fail(!error || !*error, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedName = WTF::String::fromUTF8(name); auto result = item->createAttribute(convertedName); if (result.hasException()) { WebCore::ExceptionCodeDescription ecdesc(result.releaseException().code()); g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name); return nullptr; } return WebKit::kit(result.releaseReturnValue().ptr()); } WebKitDOMHTMLCollection* webkit_dom_document_get_elements_by_tag_name_as_html_collection(WebKitDOMDocument* self, const gchar* tagname) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(tagname, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedTagname = WTF::String::fromUTF8(tagname); RefPtr gobjectResult = WTF::getPtr(item->getElementsByTagName(convertedTagname)); return WebKit::kit(gobjectResult.get()); } WebKitDOMNode* webkit_dom_document_import_node(WebKitDOMDocument* self, WebKitDOMNode* importedNode, gboolean deep, GError** error) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(WEBKIT_DOM_IS_NODE(importedNode), 0); g_return_val_if_fail(!error || !*error, 0); WebCore::Document* item = WebKit::core(self); WebCore::Node* convertedImportedNode = WebKit::core(importedNode); auto result = item->importNode(*convertedImportedNode, deep); if (result.hasException()) { WebCore::ExceptionCodeDescription ecdesc(result.releaseException().code()); g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name); return nullptr; } return WebKit::kit(result.releaseReturnValue().ptr()); } WebKitDOMElement* webkit_dom_document_create_element_ns(WebKitDOMDocument* self, const gchar* namespaceURI, const gchar* qualifiedName, GError** error) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(qualifiedName, 0); g_return_val_if_fail(!error || !*error, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedNamespaceURI = WTF::String::fromUTF8(namespaceURI); WTF::String convertedQualifiedName = WTF::String::fromUTF8(qualifiedName); auto result = item->createElementNS(convertedNamespaceURI, convertedQualifiedName); if (result.hasException()) { WebCore::ExceptionCodeDescription ecdesc(result.releaseException().code()); g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name); return nullptr; } return WebKit::kit(result.releaseReturnValue().ptr()); } WebKitDOMAttr* webkit_dom_document_create_attribute_ns(WebKitDOMDocument* self, const gchar* namespaceURI, const gchar* qualifiedName, GError** error) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(qualifiedName, 0); g_return_val_if_fail(!error || !*error, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedNamespaceURI = WTF::String::fromUTF8(namespaceURI); WTF::String convertedQualifiedName = WTF::String::fromUTF8(qualifiedName); auto result = item->createAttributeNS(convertedNamespaceURI, convertedQualifiedName); if (result.hasException()) { WebCore::ExceptionCodeDescription ecdesc(result.releaseException().code()); g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name); return nullptr; } return WebKit::kit(result.releaseReturnValue().ptr()); } WebKitDOMHTMLCollection* webkit_dom_document_get_elements_by_tag_name_ns_as_html_collection(WebKitDOMDocument* self, const gchar* namespaceURI, const gchar* localName) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(namespaceURI, 0); g_return_val_if_fail(localName, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedNamespaceURI = WTF::String::fromUTF8(namespaceURI); WTF::String convertedLocalName = WTF::String::fromUTF8(localName); RefPtr gobjectResult = WTF::getPtr(item->getElementsByTagNameNS(convertedNamespaceURI, convertedLocalName)); return WebKit::kit(gobjectResult.get()); } WebKitDOMNode* webkit_dom_document_adopt_node(WebKitDOMDocument* self, WebKitDOMNode* source, GError** error) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(WEBKIT_DOM_IS_NODE(source), 0); g_return_val_if_fail(!error || !*error, 0); WebCore::Document* item = WebKit::core(self); WebCore::Node* convertedSource = WebKit::core(source); auto result = item->adoptNode(*convertedSource); if (result.hasException()) { WebCore::ExceptionCodeDescription ecdesc(result.releaseException().code()); g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name); return nullptr; } return WebKit::kit(result.releaseReturnValue().ptr()); } WebKitDOMEvent* webkit_dom_document_create_event(WebKitDOMDocument* self, const gchar* eventType, GError** error) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(eventType, 0); g_return_val_if_fail(!error || !*error, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedEventType = WTF::String::fromUTF8(eventType); auto result = item->createEvent(convertedEventType); if (result.hasException()) { WebCore::ExceptionCodeDescription ecdesc(result.releaseException().code()); g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name); return nullptr; } return WebKit::kit(result.releaseReturnValue().ptr()); } WebKitDOMRange* webkit_dom_document_create_range(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->createRange()); return WebKit::kit(gobjectResult.get()); } WebKitDOMNodeIterator* webkit_dom_document_create_node_iterator(WebKitDOMDocument* self, WebKitDOMNode* root, gulong whatToShow, WebKitDOMNodeFilter* filter, gboolean expandEntityReferences, GError** error) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(WEBKIT_DOM_IS_NODE(root), 0); g_return_val_if_fail(!filter || WEBKIT_DOM_IS_NODE_FILTER(filter), 0); UNUSED_PARAM(error); WebCore::Document* item = WebKit::core(self); WebCore::Node* convertedRoot = WebKit::core(root); RefPtr convertedFilter = WebKit::core(filter); RefPtr gobjectResult = WTF::getPtr(item->createNodeIterator(*convertedRoot, whatToShow, WTF::getPtr(convertedFilter), expandEntityReferences)); return WebKit::kit(gobjectResult.get()); } WebKitDOMTreeWalker* webkit_dom_document_create_tree_walker(WebKitDOMDocument* self, WebKitDOMNode* root, gulong whatToShow, WebKitDOMNodeFilter* filter, gboolean expandEntityReferences, GError** error) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(WEBKIT_DOM_IS_NODE(root), 0); g_return_val_if_fail(!filter || WEBKIT_DOM_IS_NODE_FILTER(filter), 0); UNUSED_PARAM(error); WebCore::Document* item = WebKit::core(self); WebCore::Node* convertedRoot = WebKit::core(root); RefPtr convertedFilter = WebKit::core(filter); RefPtr gobjectResult = WTF::getPtr(item->createTreeWalker(*convertedRoot, whatToShow, WTF::getPtr(convertedFilter), expandEntityReferences)); return WebKit::kit(gobjectResult.get()); } WebKitDOMCSSStyleDeclaration* webkit_dom_document_get_override_style(WebKitDOMDocument* self, WebKitDOMElement* element, const gchar* pseudoElement) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(WEBKIT_DOM_IS_ELEMENT(element), 0); WebCore::Document* item = WebKit::core(self); WebCore::Element* convertedElement = WebKit::core(element); WTF::String convertedPseudoElement = WTF::String::fromUTF8(pseudoElement); RefPtr gobjectResult = WTF::getPtr(item->getOverrideStyle(convertedElement, convertedPseudoElement)); return WebKit::kit(gobjectResult.get()); } WebKitDOMXPathExpression* webkit_dom_document_create_expression(WebKitDOMDocument* self, const gchar* expression, WebKitDOMXPathNSResolver* resolver, GError** error) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(expression, 0); g_return_val_if_fail(WEBKIT_DOM_IS_XPATH_NS_RESOLVER(resolver), 0); g_return_val_if_fail(!error || !*error, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedExpression = WTF::String::fromUTF8(expression); RefPtr convertedResolver = WebKit::core(resolver); auto result = item->createExpression(convertedExpression, WTFMove(convertedResolver)); if (result.hasException()) { WebCore::ExceptionCodeDescription ecdesc(result.releaseException().code()); g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name); return nullptr; } return WebKit::kit(result.releaseReturnValue().ptr()); } WebKitDOMXPathNSResolver* webkit_dom_document_create_ns_resolver(WebKitDOMDocument* self, WebKitDOMNode* nodeResolver) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(WEBKIT_DOM_IS_NODE(nodeResolver), 0); WebCore::Document* item = WebKit::core(self); WebCore::Node* convertedNodeResolver = WebKit::core(nodeResolver); RefPtr gobjectResult = WTF::getPtr(item->createNSResolver(convertedNodeResolver)); return WebKit::kit(gobjectResult.get()); } WebKitDOMXPathResult* webkit_dom_document_evaluate(WebKitDOMDocument* self, const gchar* expression, WebKitDOMNode* contextNode, WebKitDOMXPathNSResolver* resolver, gushort type, WebKitDOMXPathResult* inResult, GError** error) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(expression, 0); g_return_val_if_fail(WEBKIT_DOM_IS_NODE(contextNode), 0); g_return_val_if_fail(!resolver || WEBKIT_DOM_IS_XPATH_NS_RESOLVER(resolver), 0); g_return_val_if_fail(!inResult || WEBKIT_DOM_IS_XPATH_RESULT(inResult), 0); g_return_val_if_fail(!error || !*error, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedExpression = WTF::String::fromUTF8(expression); WebCore::Node* convertedContextNode = WebKit::core(contextNode); RefPtr convertedResolver = WebKit::core(resolver); WebCore::XPathResult* convertedInResult = WebKit::core(inResult); auto result = item->evaluate(convertedExpression, convertedContextNode, WTFMove(convertedResolver), type, convertedInResult); if (result.hasException()) { WebCore::ExceptionCodeDescription ecdesc(result.releaseException().code()); g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name); return nullptr; } return WebKit::kit(result.releaseReturnValue().ptr()); } gboolean webkit_dom_document_exec_command(WebKitDOMDocument* self, const gchar* command, gboolean userInterface, const gchar* value) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), FALSE); g_return_val_if_fail(command, FALSE); g_return_val_if_fail(value, FALSE); WebCore::Document* item = WebKit::core(self); WTF::String convertedCommand = WTF::String::fromUTF8(command); WTF::String convertedValue = WTF::String::fromUTF8(value); gboolean result = item->execCommand(convertedCommand, userInterface, convertedValue); return result; } gboolean webkit_dom_document_query_command_enabled(WebKitDOMDocument* self, const gchar* command) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), FALSE); g_return_val_if_fail(command, FALSE); WebCore::Document* item = WebKit::core(self); WTF::String convertedCommand = WTF::String::fromUTF8(command); gboolean result = item->queryCommandEnabled(convertedCommand); return result; } gboolean webkit_dom_document_query_command_indeterm(WebKitDOMDocument* self, const gchar* command) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), FALSE); g_return_val_if_fail(command, FALSE); WebCore::Document* item = WebKit::core(self); WTF::String convertedCommand = WTF::String::fromUTF8(command); gboolean result = item->queryCommandIndeterm(convertedCommand); return result; } gboolean webkit_dom_document_query_command_state(WebKitDOMDocument* self, const gchar* command) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), FALSE); g_return_val_if_fail(command, FALSE); WebCore::Document* item = WebKit::core(self); WTF::String convertedCommand = WTF::String::fromUTF8(command); gboolean result = item->queryCommandState(convertedCommand); return result; } gboolean webkit_dom_document_query_command_supported(WebKitDOMDocument* self, const gchar* command) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), FALSE); g_return_val_if_fail(command, FALSE); WebCore::Document* item = WebKit::core(self); WTF::String convertedCommand = WTF::String::fromUTF8(command); gboolean result = item->queryCommandSupported(convertedCommand); return result; } gchar* webkit_dom_document_query_command_value(WebKitDOMDocument* self, const gchar* command) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(command, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedCommand = WTF::String::fromUTF8(command); gchar* result = convertToUTF8String(item->queryCommandValue(convertedCommand)); return result; } WebKitDOMNodeList* webkit_dom_document_get_elements_by_name(WebKitDOMDocument* self, const gchar* elementName) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(elementName, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedElementName = WTF::String::fromUTF8(elementName); RefPtr gobjectResult = WTF::getPtr(item->getElementsByName(convertedElementName)); return WebKit::kit(gobjectResult.get()); } WebKitDOMElement* webkit_dom_document_element_from_point(WebKitDOMDocument* self, glong x, glong y) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->elementFromPoint(x, y)); return WebKit::kit(gobjectResult.get()); } WebKitDOMRange* webkit_dom_document_caret_range_from_point(WebKitDOMDocument* self, glong x, glong y) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->caretRangeFromPoint(x, y)); return WebKit::kit(gobjectResult.get()); } WebKitDOMCSSStyleDeclaration* webkit_dom_document_create_css_style_declaration(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->createCSSStyleDeclaration()); return WebKit::kit(gobjectResult.get()); } WebKitDOMHTMLCollection* webkit_dom_document_get_elements_by_class_name_as_html_collection(WebKitDOMDocument* self, const gchar* classNames) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(classNames, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedClassNames = WTF::String::fromUTF8(classNames); RefPtr gobjectResult = WTF::getPtr(item->getElementsByClassName(convertedClassNames)); return WebKit::kit(gobjectResult.get()); } gboolean webkit_dom_document_has_focus(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), FALSE); WebCore::Document* item = WebKit::core(self); gboolean result = item->hasFocus(); return result; } void webkit_dom_document_webkit_cancel_fullscreen(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_if_fail(WEBKIT_DOM_IS_DOCUMENT(self)); WebCore::Document* item = WebKit::core(self); item->webkitCancelFullScreen(); } void webkit_dom_document_webkit_exit_fullscreen(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_if_fail(WEBKIT_DOM_IS_DOCUMENT(self)); WebCore::Document* item = WebKit::core(self); item->webkitExitFullscreen(); } void webkit_dom_document_exit_pointer_lock(WebKitDOMDocument* self) { #if ENABLE(POINTER_LOCK) WebCore::JSMainThreadNullState state; g_return_if_fail(WEBKIT_DOM_IS_DOCUMENT(self)); WebCore::Document* item = WebKit::core(self); item->exitPointerLock(); #else UNUSED_PARAM(self); WEBKIT_WARN_FEATURE_NOT_PRESENT("Pointer Lock") #endif /* ENABLE(POINTER_LOCK) */ } WebKitDOMElement* webkit_dom_document_get_element_by_id(WebKitDOMDocument* self, const gchar* elementId) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(elementId, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedElementId = WTF::String::fromUTF8(elementId); RefPtr gobjectResult = WTF::getPtr(item->getElementById(convertedElementId)); return WebKit::kit(gobjectResult.get()); } WebKitDOMElement* webkit_dom_document_query_selector(WebKitDOMDocument* self, const gchar* selectors, GError** error) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(selectors, 0); g_return_val_if_fail(!error || !*error, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedSelectors = WTF::String::fromUTF8(selectors); auto result = item->querySelector(convertedSelectors); if (result.hasException()) { WebCore::ExceptionCodeDescription ecdesc(result.releaseException().code()); g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name); return nullptr; } return WebKit::kit(result.releaseReturnValue()); } WebKitDOMNodeList* webkit_dom_document_query_selector_all(WebKitDOMDocument* self, const gchar* selectors, GError** error) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(selectors, 0); g_return_val_if_fail(!error || !*error, 0); WebCore::Document* item = WebKit::core(self); WTF::String convertedSelectors = WTF::String::fromUTF8(selectors); auto result = item->querySelectorAll(convertedSelectors); if (result.hasException()) { WebCore::ExceptionCodeDescription ecdesc(result.releaseException().code()); g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name); return nullptr; } return WebKit::kit(result.releaseReturnValue().ptr()); } WebKitDOMDocumentType* webkit_dom_document_get_doctype(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->doctype()); return WebKit::kit(gobjectResult.get()); } WebKitDOMDOMImplementation* webkit_dom_document_get_implementation(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->implementation()); return WebKit::kit(gobjectResult.get()); } WebKitDOMElement* webkit_dom_document_get_document_element(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->documentElement()); return WebKit::kit(gobjectResult.get()); } gchar* webkit_dom_document_get_input_encoding(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->characterSetWithUTF8Fallback()); return result; } gchar* webkit_dom_document_get_xml_encoding(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->xmlEncoding()); return result; } gchar* webkit_dom_document_get_xml_version(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->xmlVersion()); return result; } void webkit_dom_document_set_xml_version(WebKitDOMDocument* self, const gchar* value, GError** error) { WebCore::JSMainThreadNullState state; g_return_if_fail(WEBKIT_DOM_IS_DOCUMENT(self)); g_return_if_fail(value); g_return_if_fail(!error || !*error); WebCore::Document* item = WebKit::core(self); WTF::String convertedValue = WTF::String::fromUTF8(value); auto result = item->setXMLVersion(convertedValue); if (result.hasException()) { WebCore::ExceptionCodeDescription ecdesc(result.releaseException().code()); g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name); } } gboolean webkit_dom_document_get_xml_standalone(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), FALSE); WebCore::Document* item = WebKit::core(self); gboolean result = item->xmlStandalone(); return result; } void webkit_dom_document_set_xml_standalone(WebKitDOMDocument* self, gboolean value, GError** error) { WebCore::JSMainThreadNullState state; g_return_if_fail(WEBKIT_DOM_IS_DOCUMENT(self)); g_return_if_fail(!error || !*error); WebKit::core(self)->setXMLStandalone(value); } gchar* webkit_dom_document_get_document_uri(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->documentURI()); return result; } void webkit_dom_document_set_document_uri(WebKitDOMDocument* self, const gchar* value) { WebCore::JSMainThreadNullState state; g_return_if_fail(WEBKIT_DOM_IS_DOCUMENT(self)); g_return_if_fail(value); WebCore::Document* item = WebKit::core(self); WTF::String convertedValue = WTF::String::fromUTF8(value); item->setDocumentURI(convertedValue); } WebKitDOMDOMWindow* webkit_dom_document_get_default_view(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->defaultView()); return WebKit::kit(gobjectResult.get()); } WebKitDOMStyleSheetList* webkit_dom_document_get_style_sheets(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->styleSheets()); return WebKit::kit(gobjectResult.get()); } gchar* webkit_dom_document_get_content_type(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->contentType()); return result; } gchar* webkit_dom_document_get_title(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->title()); return result; } void webkit_dom_document_set_title(WebKitDOMDocument* self, const gchar* value) { WebCore::JSMainThreadNullState state; g_return_if_fail(WEBKIT_DOM_IS_DOCUMENT(self)); g_return_if_fail(value); WebCore::Document* item = WebKit::core(self); WTF::String convertedValue = WTF::String::fromUTF8(value); item->setTitle(convertedValue); } gchar* webkit_dom_document_get_dir(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->dir()); return result; } void webkit_dom_document_set_dir(WebKitDOMDocument* self, const gchar* value) { WebCore::JSMainThreadNullState state; g_return_if_fail(WEBKIT_DOM_IS_DOCUMENT(self)); g_return_if_fail(value); WebCore::Document* item = WebKit::core(self); WTF::String convertedValue = WTF::String::fromUTF8(value); item->setDir(convertedValue); } gchar* webkit_dom_document_get_design_mode(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->designMode()); return result; } void webkit_dom_document_set_design_mode(WebKitDOMDocument* self, const gchar* value) { WebCore::JSMainThreadNullState state; g_return_if_fail(WEBKIT_DOM_IS_DOCUMENT(self)); g_return_if_fail(value); WebCore::Document* item = WebKit::core(self); WTF::String convertedValue = WTF::String::fromUTF8(value); item->setDesignMode(convertedValue); } gchar* webkit_dom_document_get_referrer(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->referrer()); return result; } gchar* webkit_dom_document_get_domain(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->domain()); return result; } gchar* webkit_dom_document_get_url(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->urlForBindings()); return result; } gchar* webkit_dom_document_get_cookie(WebKitDOMDocument* self, GError** error) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); g_return_val_if_fail(!error || !*error, 0); WebCore::Document* item = WebKit::core(self); auto result = item->cookie(); if (result.hasException()) return nullptr; return convertToUTF8String(result.releaseReturnValue()); } void webkit_dom_document_set_cookie(WebKitDOMDocument* self, const gchar* value, GError** error) { WebCore::JSMainThreadNullState state; g_return_if_fail(WEBKIT_DOM_IS_DOCUMENT(self)); g_return_if_fail(value); g_return_if_fail(!error || !*error); WebCore::Document* item = WebKit::core(self); WTF::String convertedValue = WTF::String::fromUTF8(value); auto result = item->setCookie(convertedValue); if (result.hasException()) { WebCore::ExceptionCodeDescription ecdesc(result.releaseException().code()); g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name); } } WebKitDOMHTMLElement* webkit_dom_document_get_body(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->bodyOrFrameset()); return WebKit::kit(gobjectResult.get()); } void webkit_dom_document_set_body(WebKitDOMDocument* self, WebKitDOMHTMLElement* value, GError** error) { WebCore::JSMainThreadNullState state; g_return_if_fail(WEBKIT_DOM_IS_DOCUMENT(self)); g_return_if_fail(WEBKIT_DOM_IS_HTML_ELEMENT(value)); g_return_if_fail(!error || !*error); WebCore::Document* item = WebKit::core(self); WebCore::HTMLElement* convertedValue = WebKit::core(value); auto result = item->setBodyOrFrameset(convertedValue); if (result.hasException()) { WebCore::ExceptionCodeDescription ecdesc(result.releaseException().code()); g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name); } } WebKitDOMHTMLHeadElement* webkit_dom_document_get_head(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->head()); return WebKit::kit(gobjectResult.get()); } WebKitDOMHTMLCollection* webkit_dom_document_get_images(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->images()); return WebKit::kit(gobjectResult.get()); } WebKitDOMHTMLCollection* webkit_dom_document_get_applets(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->applets()); return WebKit::kit(gobjectResult.get()); } WebKitDOMHTMLCollection* webkit_dom_document_get_links(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->links()); return WebKit::kit(gobjectResult.get()); } WebKitDOMHTMLCollection* webkit_dom_document_get_forms(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->forms()); return WebKit::kit(gobjectResult.get()); } WebKitDOMHTMLCollection* webkit_dom_document_get_anchors(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->anchors()); return WebKit::kit(gobjectResult.get()); } WebKitDOMHTMLCollection* webkit_dom_document_get_embeds(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->embeds()); return WebKit::kit(gobjectResult.get()); } WebKitDOMHTMLCollection* webkit_dom_document_get_plugins(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->plugins()); return WebKit::kit(gobjectResult.get()); } WebKitDOMHTMLCollection* webkit_dom_document_get_scripts(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->scripts()); return WebKit::kit(gobjectResult.get()); } gchar* webkit_dom_document_get_last_modified(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->lastModified()); return result; } gchar* webkit_dom_document_get_charset(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->charset()); return result; } void webkit_dom_document_set_charset(WebKitDOMDocument* self, const gchar* value) { WebCore::JSMainThreadNullState state; g_return_if_fail(WEBKIT_DOM_IS_DOCUMENT(self)); g_return_if_fail(value); WebCore::Document* item = WebKit::core(self); WTF::String convertedValue = WTF::String::fromUTF8(value); item->setCharset(convertedValue); } gchar* webkit_dom_document_get_ready_state(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->readyState()); return result; } gchar* webkit_dom_document_get_character_set(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->characterSetWithUTF8Fallback()); return result; } gchar* webkit_dom_document_get_preferred_stylesheet_set(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->preferredStylesheetSet()); return result; } gchar* webkit_dom_document_get_selected_stylesheet_set(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->selectedStylesheetSet()); return result; } void webkit_dom_document_set_selected_stylesheet_set(WebKitDOMDocument* self, const gchar* value) { WebCore::JSMainThreadNullState state; g_return_if_fail(WEBKIT_DOM_IS_DOCUMENT(self)); g_return_if_fail(value); WebCore::Document* item = WebKit::core(self); WTF::String convertedValue = WTF::String::fromUTF8(value); item->setSelectedStylesheetSet(convertedValue); } WebKitDOMElement* webkit_dom_document_get_active_element(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->activeElement()); return WebKit::kit(gobjectResult.get()); } gchar* webkit_dom_document_get_compat_mode(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->compatMode()); return result; } gboolean webkit_dom_document_get_webkit_is_fullscreen(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), FALSE); WebCore::Document* item = WebKit::core(self); gboolean result = item->webkitIsFullScreen(); return result; } gboolean webkit_dom_document_get_webkit_fullscreen_keyboard_input_allowed(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), FALSE); WebCore::Document* item = WebKit::core(self); gboolean result = item->webkitFullScreenKeyboardInputAllowed(); return result; } WebKitDOMElement* webkit_dom_document_get_webkit_current_fullscreen_element(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->webkitCurrentFullScreenElement()); return WebKit::kit(gobjectResult.get()); } gboolean webkit_dom_document_get_webkit_fullscreen_enabled(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), FALSE); WebCore::Document* item = WebKit::core(self); gboolean result = item->webkitFullscreenEnabled(); return result; } WebKitDOMElement* webkit_dom_document_get_webkit_fullscreen_element(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->webkitFullscreenElement()); return WebKit::kit(gobjectResult.get()); } WebKitDOMElement* webkit_dom_document_get_pointer_lock_element(WebKitDOMDocument* self) { #if ENABLE(POINTER_LOCK) WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->pointerLockElement()); return WebKit::kit(gobjectResult.get()); #else UNUSED_PARAM(self); WEBKIT_WARN_FEATURE_NOT_PRESENT("Pointer Lock") return 0; #endif /* ENABLE(POINTER_LOCK) */ } gchar* webkit_dom_document_get_visibility_state(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); switch (item->visibilityState()) { case WebCore::Document::VisibilityState::Hidden: return convertToUTF8String("hidden"); case WebCore::Document::VisibilityState::Visible: return convertToUTF8String("visible"); case WebCore::Document::VisibilityState::Prerender: return convertToUTF8String("prerender"); } ASSERT_NOT_REACHED(); return nullptr; } gboolean webkit_dom_document_get_hidden(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), FALSE); WebCore::Document* item = WebKit::core(self); gboolean result = item->hidden(); return result; } WebKitDOMHTMLScriptElement* webkit_dom_document_get_current_script(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->currentScript()); return WebKit::kit(gobjectResult.get()); } gchar* webkit_dom_document_get_origin(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gchar* result = convertToUTF8String(item->origin()); return result; } WebKitDOMElement* webkit_dom_document_get_scrolling_element(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->scrollingElement()); return WebKit::kit(gobjectResult.get()); } WebKitDOMHTMLCollection* webkit_dom_document_get_children(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->children()); return WebKit::kit(gobjectResult.get()); } WebKitDOMElement* webkit_dom_document_get_first_element_child(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->firstElementChild()); return WebKit::kit(gobjectResult.get()); } WebKitDOMElement* webkit_dom_document_get_last_element_child(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); RefPtr gobjectResult = WTF::getPtr(item->lastElementChild()); return WebKit::kit(gobjectResult.get()); } gulong webkit_dom_document_get_child_element_count(WebKitDOMDocument* self) { WebCore::JSMainThreadNullState state; g_return_val_if_fail(WEBKIT_DOM_IS_DOCUMENT(self), 0); WebCore::Document* item = WebKit::core(self); gulong result = item->childElementCount(); return result; }