static void webkit_dom_html_object_element_set_property(GObject* object, guint propertyId, const GValue* value, GParamSpec* pspec) { WebKitDOMHTMLObjectElement* self = WEBKIT_DOM_HTML_OBJECT_ELEMENT(object); switch (propertyId) { case PROP_CODE: webkit_dom_html_object_element_set_code(self, g_value_get_string(value)); break; case PROP_ALIGN: webkit_dom_html_object_element_set_align(self, g_value_get_string(value)); break; case PROP_ARCHIVE: webkit_dom_html_object_element_set_archive(self, g_value_get_string(value)); break; case PROP_BORDER: webkit_dom_html_object_element_set_border(self, g_value_get_string(value)); break; case PROP_CODE_BASE: webkit_dom_html_object_element_set_code_base(self, g_value_get_string(value)); break; case PROP_CODE_TYPE: webkit_dom_html_object_element_set_code_type(self, g_value_get_string(value)); break; case PROP_DATA: webkit_dom_html_object_element_set_data(self, g_value_get_string(value)); break; case PROP_DECLARE: webkit_dom_html_object_element_set_declare(self, g_value_get_boolean(value)); break; case PROP_HEIGHT: webkit_dom_html_object_element_set_height(self, g_value_get_string(value)); break; case PROP_HSPACE: webkit_dom_html_object_element_set_hspace(self, g_value_get_long(value)); break; case PROP_NAME: webkit_dom_html_object_element_set_name(self, g_value_get_string(value)); break; case PROP_STANDBY: webkit_dom_html_object_element_set_standby(self, g_value_get_string(value)); break; case PROP_TYPE: webkit_dom_html_object_element_set_type_attr(self, g_value_get_string(value)); break; case PROP_USE_MAP: webkit_dom_html_object_element_set_use_map(self, g_value_get_string(value)); break; case PROP_VSPACE: webkit_dom_html_object_element_set_vspace(self, g_value_get_long(value)); break; case PROP_WIDTH: webkit_dom_html_object_element_set_width(self, g_value_get_string(value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyId, pspec); break; } }
WebKitDOMHTMLObjectElement* wrapHTMLObjectElement(WebCore::HTMLObjectElement* coreObject) { ASSERT(coreObject); return WEBKIT_DOM_HTML_OBJECT_ELEMENT(g_object_new(WEBKIT_DOM_TYPE_HTML_OBJECT_ELEMENT, "core-object", coreObject, nullptr)); }
WebKitDOMHTMLObjectElement* kit(WebCore::HTMLObjectElement* obj) { return WEBKIT_DOM_HTML_OBJECT_ELEMENT(kit(static_cast<WebCore::Node*>(obj))); }
// adblock_before_load_cb is triggered when static void adblock_before_load_cb(WebKitDOMEventTarget *doc, WebKitDOMEvent *event, gpointer user_data) { WebKitDOMEventTarget *target = webkit_dom_event_get_target(event); guint64 flags = 0; gchar *uri = NULL; if(WEBKIT_DOM_IS_HTML_LINK_ELEMENT(target)) { WebKitDOMHTMLLinkElement *e = WEBKIT_DOM_HTML_LINK_ELEMENT(target); gboolean isCSS = 0; isCSS |= g_strcmp0( webkit_dom_html_link_element_get_rel(e), "stylesheet") == 0; isCSS |= g_strcmp0( webkit_dom_html_link_element_get_type_attr(e), "text/css") == 0; if(!isCSS) { return; } uri = webkit_dom_html_link_element_get_href(e); flags |= ADBLOCK_STYLE_SHEET; } else if(WEBKIT_DOM_IS_HTML_OBJECT_ELEMENT(target)) { WebKitDOMHTMLObjectElement *e = WEBKIT_DOM_HTML_OBJECT_ELEMENT(target); uri = webkit_dom_html_object_element_get_data(e); flags |= ADBLOCK_OBJECT; } else if(WEBKIT_DOM_IS_HTML_EMBED_ELEMENT(target)) { WebKitDOMHTMLEmbedElement *e = WEBKIT_DOM_HTML_EMBED_ELEMENT(target); uri = webkit_dom_html_embed_element_get_src(e); flags |= ADBLOCK_OBJECT; } else if(WEBKIT_DOM_IS_HTML_IMAGE_ELEMENT(target)) { WebKitDOMHTMLImageElement *e = WEBKIT_DOM_HTML_IMAGE_ELEMENT(target); uri = webkit_dom_html_image_element_get_src(e); flags |= ADBLOCK_IMAGE; } else if(WEBKIT_DOM_IS_HTML_SCRIPT_ELEMENT(target)) { WebKitDOMHTMLScriptElement *e = WEBKIT_DOM_HTML_SCRIPT_ELEMENT(target); uri = webkit_dom_html_script_element_get_src(e); flags |= ADBLOCK_SCRIPT; } else if(WEBKIT_DOM_IS_HTML_IFRAME_ELEMENT(target)) { WebKitDOMHTMLIFrameElement *e = WEBKIT_DOM_HTML_IFRAME_ELEMENT(target); uri = webkit_dom_html_iframe_element_get_src(e); flags |= ADBLOCK_SUBDOCUMENT; if(uri_is_blocked(uri, flags, user_data)) { webkit_dom_event_prevent_default(event); } else { frame_document_loaded( webkit_dom_html_iframe_element_get_content_document(e), user_data); } g_free(uri); return; } if(uri == NULL) { return; } if(uri_is_blocked(uri, flags, user_data)) { webkit_dom_event_prevent_default(event); } g_free(uri); }