⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 htmlanchorelement.cpp

📁 linux下开源浏览器WebKit的源码,市面上的很多商用浏览器都是移植自WebKit
💻 CPP
📖 第 1 页 / 共 2 页
字号:
            // this link            case EditableLinkLiveWhenNotFocused:                if (down && document()->frame() && document()->frame()->selection() &&                    document()->frame()->selection()->rootEditableElement() == rootEditableElement())                    return;                break;                        case EditableLinkOnlyLiveWithShiftKey:                return;        }    }        ContainerNode::setActive(down, pause);}void HTMLAnchorElement::parseMappedAttribute(MappedAttribute *attr){    if (attr->name() == hrefAttr) {        bool wasLink = isLink();        setIsLink(!attr->isNull());        if (wasLink != isLink())            setChanged();        if (isLink()) {            String parsedURL = parseURL(attr->value());            if (document()->isDNSPrefetchEnabled()) {                if (protocolIs(parsedURL, "http") || protocolIs(parsedURL, "https") || parsedURL.startsWith("//"))                    prefetchDNS(document()->completeURL(parsedURL).host());            }            if (document()->page() && !document()->page()->javaScriptURLsAreAllowed() && protocolIs(parsedURL, "javascript")) {                setIsLink(false);                attr->setValue(nullAtom);            }        }    } else if (attr->name() == nameAttr ||             attr->name() == titleAttr ||             attr->name() == relAttr) {        // Do nothing.    } else        HTMLElement::parseMappedAttribute(attr);}void HTMLAnchorElement::accessKeyAction(bool sendToAnyElement){    // send the mouse button events if the caller specified sendToAnyElement    dispatchSimulatedClick(0, sendToAnyElement);}bool HTMLAnchorElement::isURLAttribute(Attribute *attr) const{    return attr->name() == hrefAttr;}bool HTMLAnchorElement::canStartSelection() const{    // FIXME: We probably want this same behavior in SVGAElement too    if (!isLink())        return HTMLElement::canStartSelection();    return isContentEditable();}const AtomicString& HTMLAnchorElement::accessKey() const{    return getAttribute(accesskeyAttr);}void HTMLAnchorElement::setAccessKey(const AtomicString& value){    setAttribute(accesskeyAttr, value);}const AtomicString& HTMLAnchorElement::charset() const{    return getAttribute(charsetAttr);}void HTMLAnchorElement::setCharset(const AtomicString& value){    setAttribute(charsetAttr, value);}const AtomicString& HTMLAnchorElement::coords() const{    return getAttribute(coordsAttr);}void HTMLAnchorElement::setCoords(const AtomicString& value){    setAttribute(coordsAttr, value);}KURL HTMLAnchorElement::href() const{    return document()->completeURL(getAttribute(hrefAttr));}void HTMLAnchorElement::setHref(const AtomicString& value){    setAttribute(hrefAttr, value);}const AtomicString& HTMLAnchorElement::hreflang() const{    return getAttribute(hreflangAttr);}void HTMLAnchorElement::setHreflang(const AtomicString& value){    setAttribute(hreflangAttr, value);}const AtomicString& HTMLAnchorElement::name() const{    return getAttribute(nameAttr);}void HTMLAnchorElement::setName(const AtomicString& value){    setAttribute(nameAttr, value);}const AtomicString& HTMLAnchorElement::rel() const{    return getAttribute(relAttr);}void HTMLAnchorElement::setRel(const AtomicString& value){    setAttribute(relAttr, value);}const AtomicString& HTMLAnchorElement::rev() const{    return getAttribute(revAttr);}void HTMLAnchorElement::setRev(const AtomicString& value){    setAttribute(revAttr, value);}const AtomicString& HTMLAnchorElement::shape() const{    return getAttribute(shapeAttr);}void HTMLAnchorElement::setShape(const AtomicString& value){    setAttribute(shapeAttr, value);}short HTMLAnchorElement::tabIndex() const{    // Skip the supportsFocus check in HTMLElement.    return Element::tabIndex();}String HTMLAnchorElement::target() const{    return getAttribute(targetAttr);}void HTMLAnchorElement::setTarget(const AtomicString& value){    setAttribute(targetAttr, value);}const AtomicString& HTMLAnchorElement::type() const{    return getAttribute(typeAttr);}void HTMLAnchorElement::setType(const AtomicString& value){    setAttribute(typeAttr, value);}String HTMLAnchorElement::hash() const{    String ref = href().ref();    return ref.isEmpty() ? "" : "#" + ref;}String HTMLAnchorElement::host() const{    return href().host();}String HTMLAnchorElement::hostname() const{    const KURL& url = href();    if (url.port() == 0)        return url.host();    return url.host() + ":" + String::number(url.port());}String HTMLAnchorElement::pathname() const{    return href().path();}String HTMLAnchorElement::port() const{    return String::number(href().port());}String HTMLAnchorElement::protocol() const{    return href().protocol() + ":";}String HTMLAnchorElement::search() const{    String query = href().query();    return query.isEmpty() ? "" : "?" + query;}String HTMLAnchorElement::text() const{    return innerText();}String HTMLAnchorElement::toString() const{    return href().string();}bool HTMLAnchorElement::isLiveLink() const{    if (!isLink())        return false;    if (!isContentEditable())        return true;        EditableLinkBehavior editableLinkBehavior = EditableLinkDefaultBehavior;    if (Settings* settings = document()->settings())        editableLinkBehavior = settings->editableLinkBehavior();            switch(editableLinkBehavior) {        default:        case EditableLinkDefaultBehavior:        case EditableLinkAlwaysLive:            return true;        case EditableLinkNeverLive:            return false;        // Don't set the link to be live if the current selection is in the same editable block as        // this link or if the shift key is down        case EditableLinkLiveWhenNotFocused:            return m_wasShiftKeyDownOnMouseDown || m_rootEditableElementForSelectionOnMouseDown != rootEditableElement();                    case EditableLinkOnlyLiveWithShiftKey:            return m_wasShiftKeyDownOnMouseDown;    }}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -