コード例 #1
0
ファイル: HTMLLIElement.cpp プロジェクト: oroisec/ios
void HTMLLIElement::attach()
{
    assert(!attached());

    HTMLElement::attach();

    if (renderer() && renderer()->style()->display() == LIST_ITEM) {
        RenderListItem *render = static_cast<RenderListItem*>(renderer());
        
        // Find the enclosing list node.
        Node* listNode = 0;
        Node* n = this;
        while (!listNode && (n = n->parentNode())) {
            if (n->hasTagName(ulTag) || n->hasTagName(olTag))
                listNode = n;
        }
        
        // If we are not in a list, tell the renderer so it can position us inside.
        // We don't want to change our style to say "inside" since that would affect nested nodes.
        if (!listNode)
            render->setNotInList(true);

        // If we had a value attr.
        if (m_isValued)
            render->setValue(m_requestedValue);
    }
}
コード例 #2
0
ファイル: HTMLLIElement.cpp プロジェクト: oroisec/ios
void HTMLLIElement::parseMappedAttribute(MappedAttribute *attr)
{
    if (attr->name() == valueAttr) {
        m_isValued = true;
        m_requestedValue = !attr->isNull() ? attr->value().toInt() : 0;

        if (renderer() && renderer()->isListItem()) {
            RenderListItem* list = static_cast<RenderListItem*>(renderer());
            // ### work out what to do when attribute removed - use default of some sort?
            list->setValue(m_requestedValue);
        }
    } else if (attr->name() == typeAttr) {
        if (attr->value() == "a")
            addCSSProperty(attr, CSS_PROP_LIST_STYLE_TYPE, CSS_VAL_LOWER_ALPHA);
        else if (attr->value() == "A")
            addCSSProperty(attr, CSS_PROP_LIST_STYLE_TYPE, CSS_VAL_UPPER_ALPHA);
        else if (attr->value() == "i")
            addCSSProperty(attr, CSS_PROP_LIST_STYLE_TYPE, CSS_VAL_LOWER_ROMAN);
        else if (attr->value() == "I")
            addCSSProperty(attr, CSS_PROP_LIST_STYLE_TYPE, CSS_VAL_UPPER_ROMAN);
        else if (attr->value() == "1")
            addCSSProperty(attr, CSS_PROP_LIST_STYLE_TYPE, CSS_VAL_DECIMAL);
        else
            addCSSProperty(attr, CSS_PROP_LIST_STYLE_TYPE, attr->value());
    } else
        HTMLElement::parseMappedAttribute(attr);
}