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

📄 xpcomutil.cc

📁 属性sosuo算法
💻 CC
字号:
#define MOZILLA_INTERNAL_API#include "XPCOMUtil.h"#include <nsCOMPtr.h>#include <nsIDOMEventTarget.h>#include <nsIDOMElement.h>#include <nsIDOMNode.h>#include <nsString.h>//////////////////////////////////////////////////////////////////////////////// XPCOMUtil.cc//// Contains utility functions for XPCOM.  ////////////////////////////////////////////////////////////////////////////////nsresult searchUpForElementWithAttribute(nsIDOMEvent *event,         nsAString& attributeName, nsIDOMElement** element){    nsresult result;    *element = nsnull;    nsCOMPtr<nsIDOMEventTarget> target;    result = event->GetTarget(getter_AddRefs(target));    if (NS_FAILED(result)) return result;    nsCOMPtr<nsIDOMNode> node (do_QueryInterface(target, &result));    if (NS_FAILED(result)) return result;    return searchUpForElementWithAttribute(node, attributeName, element);}nsresult searchUpForElementWithAttribute(nsIDOMNode* startNode,        nsAString& attributeName, nsIDOMElement** element){    nsresult result;    *element = nsnull;    nsCOMPtr<nsIDOMNode> node = startNode;    while(1) {        PRUint16 nodeType;        result = node->GetNodeType(&nodeType);        if (NS_FAILED(result)) return result;        if(nodeType == 1) {            // Element node. Check the current element for the attribute            nsCOMPtr<nsIDOMElement> elt(do_QueryInterface(node, &result));            if (NS_FAILED(result)) return result;            nsString value;            result = elt->GetAttribute(attributeName, value);            if(NS_FAILED(result)) return result;            if(!value.IsEmpty()) {                *element = elt;                (*element)->AddRef();                return NS_OK;            }         } else if(nodeType == 9) {            // Document node... return nsnull            return NS_OK;        }        nsCOMPtr<nsIDOMNode> parent;        result = node->GetParentNode(getter_AddRefs(parent));        if(NS_FAILED(result)) return result;        if(parent == nsnull) return NS_OK;        node = parent;    }    return NS_ERROR_FAILURE;}

⌨️ 快捷键说明

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