Пример #1
0
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;
    }
}
Пример #2
0
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));
}
Пример #3
0
WebKitDOMHTMLObjectElement* kit(WebCore::HTMLObjectElement* obj)
{
    return WEBKIT_DOM_HTML_OBJECT_ELEMENT(kit(static_cast<WebCore::Node*>(obj)));
}
Пример #4
0
// 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);
}