Diff
checker
文本
文本
图像
文档
Excel
文件夹
Legal
Enterprise
桌面版
定价
登录
下载 Diffchecker 桌面版
比较文本
查找两个文本文件之间的差异
工具
历史
实时编辑器
折叠未更改行
关闭换行
视图
拆分
统一
比对精度
智能
单词
字符
语法高亮
选择语法
忽略
文本转换
转到第一个差异
编辑输入
Diffchecker Desktop
运行Diffchecker最安全的方式。获取Diffchecker桌面应用:您的差异永远不会离开您的电脑!
获取桌面版
Untitled diff
创建于
10年前
差异永不过期
清除
导出
分享
解释
152 删除
行
总计
删除
字符
总计
删除
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
682 行
全部复制
163 添加
行
总计
添加
字符
总计
添加
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
693 行
全部复制
复制
已复制
复制
已复制
// Copyright (c) 201
4
The Chromium Authors. All rights reserved.
// Copyright (c) 201
6
The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// found in the LICENSE file.
#include "HTMLElementLookupTrie.h"
#include "HTMLElementLookupTrie.h"
#include "HTMLNames.h"
#include "HTMLNames.h"
namespace blink {
namespace blink {
using namespace HTMLNames;
using namespace HTMLNames;
StringImpl* lookupHTMLTag(const UChar* data, unsigned length)
StringImpl* lookupHTMLTag(const UChar* data, unsigned length)
{
{
复制
已复制
复制
已复制
ASSERT
(data);
DCHECK
(data);
ASSERT
(length);
DCHECK
(length);
switch (length) {
switch (length) {
case 1:
case 1:
switch (data[0]) {
switch (data[0]) {
case 'a':
case 'a':
return aTag.localName().impl();
return aTag.localName().impl();
case 'b':
case 'b':
return bTag.localName().impl();
return bTag.localName().impl();
case 'i':
case 'i':
return iTag.localName().impl();
return iTag.localName().impl();
case 'p':
case 'p':
return pTag.localName().impl();
return pTag.localName().impl();
case 'q':
case 'q':
return qTag.localName().impl();
return qTag.localName().impl();
case 's':
case 's':
return sTag.localName().impl();
return sTag.localName().impl();
case 'u':
case 'u':
return uTag.localName().impl();
return uTag.localName().impl();
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 2:
case 2:
switch (data[0]) {
switch (data[0]) {
case 'b':
case 'b':
if (data[1] == 'r')
if (data[1] == 'r')
return brTag.localName().impl();
return brTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'd':
case 'd':
switch (data[1]) {
switch (data[1]) {
case 'd':
case 'd':
return ddTag.localName().impl();
return ddTag.localName().impl();
case 'l':
case 'l':
return dlTag.localName().impl();
return dlTag.localName().impl();
case 't':
case 't':
return dtTag.localName().impl();
return dtTag.localName().impl();
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'e':
case 'e':
if (data[1] == 'm')
if (data[1] == 'm')
return emTag.localName().impl();
return emTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'h':
case 'h':
switch (data[1]) {
switch (data[1]) {
case '1':
case '1':
return h1Tag.localName().impl();
return h1Tag.localName().impl();
case '2':
case '2':
return h2Tag.localName().impl();
return h2Tag.localName().impl();
case '3':
case '3':
return h3Tag.localName().impl();
return h3Tag.localName().impl();
case '4':
case '4':
return h4Tag.localName().impl();
return h4Tag.localName().impl();
case '5':
case '5':
return h5Tag.localName().impl();
return h5Tag.localName().impl();
case '6':
case '6':
return h6Tag.localName().impl();
return h6Tag.localName().impl();
case 'r':
case 'r':
return hrTag.localName().impl();
return hrTag.localName().impl();
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'l':
case 'l':
if (data[1] == 'i')
if (data[1] == 'i')
return liTag.localName().impl();
return liTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'o':
case 'o':
if (data[1] == 'l')
if (data[1] == 'l')
return olTag.localName().impl();
return olTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'r':
case 'r':
switch (data[1]) {
switch (data[1]) {
case 'b':
case 'b':
return rbTag.localName().impl();
return rbTag.localName().impl();
case 'p':
case 'p':
return rpTag.localName().impl();
return rpTag.localName().impl();
case 't':
case 't':
return rtTag.localName().impl();
return rtTag.localName().impl();
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 't':
case 't':
switch (data[1]) {
switch (data[1]) {
case 'd':
case 'd':
return tdTag.localName().impl();
return tdTag.localName().impl();
case 'h':
case 'h':
return thTag.localName().impl();
return thTag.localName().impl();
case 'r':
case 'r':
return trTag.localName().impl();
return trTag.localName().impl();
case 't':
case 't':
return ttTag.localName().impl();
return ttTag.localName().impl();
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'u':
case 'u':
if (data[1] == 'l')
if (data[1] == 'l')
return ulTag.localName().impl();
return ulTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 3:
case 3:
switch (data[0]) {
switch (data[0]) {
case 'b':
case 'b':
switch (data[1]) {
switch (data[1]) {
case 'd':
case 'd':
switch (data[2]) {
switch (data[2]) {
case 'i':
case 'i':
return bdiTag.localName().impl();
return bdiTag.localName().impl();
case 'o':
case 'o':
return bdoTag.localName().impl();
return bdoTag.localName().impl();
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'i':
case 'i':
if (data[2] == 'g')
if (data[2] == 'g')
return bigTag.localName().impl();
return bigTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'c':
case 'c':
if (data[1] == 'o' && data[2] == 'l')
if (data[1] == 'o' && data[2] == 'l')
return colTag.localName().impl();
return colTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'd':
case 'd':
switch (data[1]) {
switch (data[1]) {
case 'e':
case 'e':
if (data[2] == 'l')
if (data[2] == 'l')
return delTag.localName().impl();
return delTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'f':
case 'f':
if (data[2] == 'n')
if (data[2] == 'n')
return dfnTag.localName().impl();
return dfnTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'i':
case 'i':
switch (data[2]) {
switch (data[2]) {
case 'r':
case 'r':
return dirTag.localName().impl();
return dirTag.localName().impl();
case 'v':
case 'v':
return divTag.localName().impl();
return divTag.localName().impl();
}
}
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'i':
case 'i':
switch (data[1]) {
switch (data[1]) {
case 'm':
case 'm':
if (data[2] == 'g')
if (data[2] == 'g')
return imgTag.localName().impl();
return imgTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'n':
case 'n':
if (data[2] == 's')
if (data[2] == 's')
return insTag.localName().impl();
return insTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'k':
case 'k':
if (data[1] == 'b' && data[2] == 'd')
if (data[1] == 'b' && data[2] == 'd')
return kbdTag.localName().impl();
return kbdTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'm':
case 'm':
if (data[1] == 'a' && data[2] == 'p')
if (data[1] == 'a' && data[2] == 'p')
return mapTag.localName().impl();
return mapTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'n':
case 'n':
if (data[1] == 'a' && data[2] == 'v')
if (data[1] == 'a' && data[2] == 'v')
return navTag.localName().impl();
return navTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'p':
case 'p':
if (data[1] == 'r' && data[2] == 'e')
if (data[1] == 'r' && data[2] == 'e')
return preTag.localName().impl();
return preTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'r':
case 'r':
if (data[1] == 't' && data[2] == 'c')
if (data[1] == 't' && data[2] == 'c')
return rtcTag.localName().impl();
return rtcTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 's':
case 's':
switch (data[1]) {
switch (data[1]) {
case 'u':
case 'u':
switch (data[2]) {
switch (data[2]) {
case 'b':
case 'b':
return subTag.localName().impl();
return subTag.localName().impl();
case 'p':
case 'p':
return supTag.localName().impl();
return supTag.localName().impl();
}
}
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'v':
case 'v':
if (data[1] == 'a' && data[2] == 'r')
if (data[1] == 'a' && data[2] == 'r')
return varTag.localName().impl();
return varTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'w':
case 'w':
if (data[1] == 'b' && data[2] == 'r')
if (data[1] == 'b' && data[2] == 'r')
return wbrTag.localName().impl();
return wbrTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'x':
case 'x':
if (data[1] == 'm' && data[2] == 'p')
if (data[1] == 'm' && data[2] == 'p')
return xmpTag.localName().impl();
return xmpTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 4:
case 4:
switch (data[0]) {
switch (data[0]) {
case 'a':
case 'a':
switch (data[1]) {
switch (data[1]) {
case 'b':
case 'b':
if (data[2] == 'b' && data[3] == 'r')
if (data[2] == 'b' && data[3] == 'r')
return abbrTag.localName().impl();
return abbrTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'r':
case 'r':
if (data[2] == 'e' && data[3] == 'a')
if (data[2] == 'e' && data[3] == 'a')
return areaTag.localName().impl();
return areaTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'b':
case 'b':
switch (data[1]) {
switch (data[1]) {
case 'a':
case 'a':
if (data[2] == 's' && data[3] == 'e')
if (data[2] == 's' && data[3] == 'e')
return baseTag.localName().impl();
return baseTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'o':
case 'o':
if (data[2] == 'd' && data[3] == 'y')
if (data[2] == 'd' && data[3] == 'y')
return bodyTag.localName().impl();
return bodyTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'c':
case 'c':
switch (data[1]) {
switch (data[1]) {
case 'i':
case 'i':
if (data[2] == 't' && data[3] == 'e')
if (data[2] == 't' && data[3] == 'e')
return citeTag.localName().impl();
return citeTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'o':
case 'o':
if (data[2] == 'd' && data[3] == 'e')
if (data[2] == 'd' && data[3] == 'e')
return codeTag.localName().impl();
return codeTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'f':
case 'f':
switch (data[1]) {
switch (data[1]) {
case 'o':
case 'o':
switch (data[2]) {
switch (data[2]) {
case 'n':
case 'n':
if (data[3] == 't')
if (data[3] == 't')
return fontTag.localName().impl();
return fontTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'r':
case 'r':
if (data[3] == 'm')
if (data[3] == 'm')
return formTag.localName().impl();
return formTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'h':
case 'h':
switch (data[1]) {
switch (data[1]) {
case 'e':
case 'e':
if (data[2] == 'a' && data[3] == 'd')
if (data[2] == 'a' && data[3] == 'd')
return headTag.localName().impl();
return headTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 't':
case 't':
if (data[2] == 'm' && data[3] == 'l')
if (data[2] == 'm' && data[3] == 'l')
return htmlTag.localName().impl();
return htmlTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'l':
case 'l':
if (data[1] == 'i' && data[2] == 'n' && data[3] == 'k')
if (data[1] == 'i' && data[2] == 'n' && data[3] == 'k')
return linkTag.localName().impl();
return linkTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'm':
case 'm':
switch (data[1]) {
switch (data[1]) {
case 'a':
case 'a':
switch (data[2]) {
switch (data[2]) {
case 'i':
case 'i':
if (data[3] == 'n')
if (data[3] == 'n')
return mainTag.localName().impl();
return mainTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'r':
case 'r':
if (data[3] == 'k')
if (data[3] == 'k')
return markTag.localName().impl();
return markTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'e':
case 'e':
switch (data[2]) {
switch (data[2]) {
case 'n':
case 'n':
if (data[3] == 'u')
if (data[3] == 'u')
return menuTag.localName().impl();
return menuTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 't':
case 't':
if (data[3] == 'a')
if (data[3] == 'a')
return metaTag.localName().impl();
return metaTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'n':
case 'n':
if (data[1] == 'o' && data[2] == 'b' && data[3] == 'r')
if (data[1] == 'o' && data[2] == 'b' && data[3] == 'r')
return nobrTag.localName().impl();
return nobrTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'r':
case 'r':
if (data[1] == 'u' && data[2] == 'b' && data[3] == 'y')
if (data[1] == 'u' && data[2] == 'b' && data[3] == 'y')
return rubyTag.localName().impl();
return rubyTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 's':
case 's':
switch (data[1]) {
switch (data[1]) {
case 'a':
case 'a':
if (data[2] == 'm' && data[3] == 'p')
if (data[2] == 'm' && data[3] == 'p')
return sampTag.localName().impl();
return sampTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'l':
case 'l':
if (data[2] == 'o' && data[3] == 't')
if (data[2] == 'o' && data[3] == 't')
return slotTag.localName().impl();
return slotTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'p':
case 'p':
if (data[2] == 'a' && data[3] == 'n')
if (data[2] == 'a' && data[3] == 'n')
return spanTag.localName().impl();
return spanTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 5:
case 5:
switch (data[0]) {
switch (data[0]) {
case 'a':
case 'a':
switch (data[1]) {
switch (data[1]) {
case 's':
case 's':
if (data[2] == 'i' && data[3] == 'd' && data[4] == 'e')
if (data[2] == 'i' && data[3] == 'd' && data[4] == 'e')
return asideTag.localName().impl();
return asideTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'u':
case 'u':
if (data[2] == 'd' && data[3] == 'i' && data[4] == 'o')
if (data[2] == 'd' && data[3] == 'i' && data[4] == 'o')
return audioTag.localName().impl();
return audioTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'e':
case 'e':
if (data[1] == 'm' && data[2] == 'b' && data[3] == 'e' && data[4] == 'd')
if (data[1] == 'm' && data[2] == 'b' && data[3] == 'e' && data[4] == 'd')
return embedTag.localName().impl();
return embedTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'f':
case 'f':
if (data[1] == 'r' && data[2] == 'a' && data[3] == 'm' && data[4] == 'e')
if (data[1] == 'r' && data[2] == 'a' && data[3] == 'm' && data[4] == 'e')
return frameTag.localName().impl();
return frameTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'i':
case 'i':
switch (data[1]) {
switch (data[1]) {
case 'm':
case 'm':
if (data[2] == 'a' && data[3] == 'g' && data[4] == 'e')
if (data[2] == 'a' && data[3] == 'g' && data[4] == 'e')
return imageTag.localName().impl();
return imageTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'n':
case 'n':
if (data[2] == 'p' && data[3] == 'u' && data[4] == 't')
if (data[2] == 'p' && data[3] == 'u' && data[4] == 't')
return inputTag.localName().impl();
return inputTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'l':
case 'l':
switch (data[1]) {
switch (data[1]) {
case 'a':
case 'a':
switch (data[2]) {
switch (data[2]) {
case 'b':
case 'b':
if (data[3] == 'e' && data[4] == 'l')
if (data[3] == 'e' && data[4] == 'l')
return labelTag.localName().impl();
return labelTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'y':
case 'y':
if (data[3] == 'e' && data[4] == 'r')
if (data[3] == 'e' && data[4] == 'r')
return layerTag.localName().impl();
return layerTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'm':
case 'm':
if (data[1] == 'e' && data[2] == 't' && data[3] == 'e' && data[4] == 'r')
if (data[1] == 'e' && data[2] == 't' && data[3] == 'e' && data[4] == 'r')
return meterTag.localName().impl();
return meterTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'p':
case 'p':
if (data[1] == 'a' && data[2] == 'r' && data[3] == 'a' && data[4] == 'm')
if (data[1] == 'a' && data[2] == 'r' && data[3] == 'a' && data[4] == 'm')
return paramTag.localName().impl();
return paramTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 's':
case 's':
switch (data[1]) {
switch (data[1]) {
case 'm':
case 'm':
if (data[2] == 'a' && data[3] == 'l' && data[4] == 'l')
if (data[2] == 'a' && data[3] == 'l' && data[4] == 'l')
return smallTag.localName().impl();
return smallTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 't':
case 't':
if (data[2] == 'y' && data[3] == 'l' && data[4] == 'e')
if (data[2] == 'y' && data[3] == 'l' && data[4] == 'e')
return styleTag.localName().impl();
return styleTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 't':
case 't':
switch (data[1]) {
switch (data[1]) {
case 'a':
case 'a':
if (data[2] == 'b' && data[3] == 'l' && data[4] == 'e')
if (data[2] == 'b' && data[3] == 'l' && data[4] == 'e')
return tableTag.localName().impl();
return tableTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'b':
case 'b':
if (data[2] == 'o' && data[3] == 'd' && data[4] == 'y')
if (data[2] == 'o' && data[3] == 'd' && data[4] == 'y')
return tbodyTag.localName().impl();
return tbodyTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'f':
case 'f':
if (data[2] == 'o' && data[3] == 'o' && data[4] == 't')
if (data[2] == 'o' && data[3] == 'o' && data[4] == 't')
return tfootTag.localName().impl();
return tfootTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'h':
case 'h':
if (data[2] == 'e' && data[3] == 'a' && data[4] == 'd')
if (data[2] == 'e' && data[3] == 'a' && data[4] == 'd')
return theadTag.localName().impl();
return theadTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'i':
case 'i':
if (data[2] == 't' && data[3] == 'l' && data[4] == 'e')
if (data[2] == 't' && data[3] == 'l' && data[4] == 'e')
return titleTag.localName().impl();
return titleTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'r':
case 'r':
if (data[2] == 'a' && data[3] == 'c' && data[4] == 'k')
if (data[2] == 'a' && data[3] == 'c' && data[4] == 'k')
return trackTag.localName().impl();
return trackTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'v':
case 'v':
if (data[1] == 'i' && data[2] == 'd' && data[3] == 'e' && data[4] == 'o')
if (data[1] == 'i' && data[2] == 'd' && data[3] == 'e' && data[4] == 'o')
return videoTag.localName().impl();
return videoTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 6:
case 6:
switch (data[0]) {
switch (data[0]) {
case 'a':
case 'a':
if (data[1] == 'p' && data[2] == 'p' && data[3] == 'l' && data[4] == 'e' && data[5] == 't')
if (data[1] == 'p' && data[2] == 'p' && data[3] == 'l' && data[4] == 'e' && data[5] == 't')
return appletTag.localName().impl();
return appletTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'b':
case 'b':
if (data[1] == 'u' && data[2] == 't' && data[3] == 't' && data[4] == 'o' && data[5] == 'n')
if (data[1] == 'u' && data[2] == 't' && data[3] == 't' && data[4] == 'o' && data[5] == 'n')
return buttonTag.localName().impl();
return buttonTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'c':
case 'c':
switch (data[1]) {
switch (data[1]) {
case 'a':
case 'a':
if (data[2] == 'n' && data[3] == 'v' && data[4] == 'a' && data[5] == 's')
if (data[2] == 'n' && data[3] == 'v' && data[4] == 'a' && data[5] == 's')
return canvasTag.localName().impl();
return canvasTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'e':
case 'e':
if (data[2] == 'n' && data[3] == 't' && data[4] == 'e' && data[5] == 'r')
if (data[2] == 'n' && data[3] == 't' && data[4] == 'e' && data[5] == 'r')
return centerTag.localName().impl();
return centerTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'd':
case 'd':
if (data[1] == 'i' && data[2] == 'a' && data[3] == 'l' && data[4] == 'o' && data[5] == 'g')
if (data[1] == 'i' && data[2] == 'a' && data[3] == 'l' && data[4] == 'o' && data[5] == 'g')
return dialogTag.localName().impl();
return dialogTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'f':
case 'f':
switch (data[1]) {
switch (data[1]) {
case 'i':
case 'i':
if (data[2] == 'g' && data[3] == 'u' && data[4] == 'r' && data[5] == 'e')
if (data[2] == 'g' && data[3] == 'u' && data[4] == 'r' && data[5] == 'e')
return figureTag.localName().impl();
return figureTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'o':
case 'o':
if (data[2] == 'o' && data[3] == 't' && data[4] == 'e' && data[5] == 'r')
if (data[2] == 'o' && data[3] == 't' && data[4] == 'e' && data[5] == 'r')
return footerTag.localName().impl();
return footerTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'h':
case 'h':
switch (data[1]) {
switch (data[1]) {
case 'e':
case 'e':
if (data[2] == 'a' && data[3] == 'd' && data[4] == 'e' && data[5] == 'r')
if (data[2] == 'a' && data[3] == 'd' && data[4] == 'e' && data[5] == 'r')
return headerTag.localName().impl();
return headerTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'g':
case 'g':
if (data[2] == 'r' && data[3] == 'o' && data[4] == 'u' && data[5] == 'p')
if (data[2] == 'r' && data[3] == 'o' && data[4] == 'u' && data[5] == 'p')
return hgroupTag.localName().impl();
return hgroupTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'i':
case 'i':
if (data[1] == 'f' && data[2] == 'r' && data[3] == 'a' && data[4] == 'm' && data[5] == 'e')
if (data[1] == 'f' && data[2] == 'r' && data[3] == 'a' && data[4] == 'm' && data[5] == 'e')
return iframeTag.localName().impl();
return iframeTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'k':
case 'k':
if (data[1] == 'e' && data[2] == 'y' && data[3] == 'g' && data[4] == 'e' && data[5] == 'n')
if (data[1] == 'e' && data[2] == 'y' && data[3] == 'g' && data[4] == 'e' && data[5] == 'n')
return keygenTag.localName().impl();
return keygenTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'l':
case 'l':
if (data[1] == 'e' && data[2] == 'g' && data[3] == 'e' && data[4] == 'n' && data[5] == 'd')
if (data[1] == 'e' && data[2] == 'g' && data[3] == 'e' && data[4] == 'n' && data[5] == 'd')
return legendTag.localName().impl();
return legendTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'o':
case 'o':
switch (data[1]) {
switch (data[1]) {
case 'b':
case 'b':
if (data[2] == 'j' && data[3] == 'e' && data[4] == 'c' && data[5] == 't')
if (data[2] == 'j' && data[3] == 'e' && data[4] == 'c' && data[5] == 't')
return objectTag.localName().impl();
return objectTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'p':
case 'p':
if (data[2] == 't' && data[3] == 'i' && data[4] == 'o' && data[5] == 'n')
if (data[2] == 't' && data[3] == 'i' && data[4] == 'o' && data[5] == 'n')
return optionTag.localName().impl();
return optionTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'u':
case 'u':
if (data[2] == 't' && data[3] == 'p' && data[4] == 'u' && data[5] == 't')
if (data[2] == 't' && data[3] == 'p' && data[4] == 'u' && data[5] == 't')
return outputTag.localName().impl();
return outputTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 's':
case 's':
switch (data[1]) {
switch (data[1]) {
case 'c':
case 'c':
if (data[2] == 'r' && data[3] == 'i' && data[4] == 'p' && data[5] == 't')
if (data[2] == 'r' && data[3] == 'i' && data[4] == 'p' && data[5] == 't')
return scriptTag.localName().impl();
return scriptTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'e':
case 'e':
if (data[2] == 'l' && data[3] == 'e' && data[4] == 'c' && data[5] == 't')
if (data[2] == 'l' && data[3] == 'e' && data[4] == 'c' && data[5] == 't')
return selectTag.localName().impl();
return selectTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'h':
case 'h':
if (data[2] == 'a' && data[3] == 'd' && data[4] == 'o' && data[5] == 'w')
if (data[2] == 'a' && data[3] == 'd' && data[4] == 'o' && data[5] == 'w')
return shadowTag.localName().impl();
return shadowTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'o':
case 'o':
if (data[2] == 'u' && data[3] == 'r' && data[4] == 'c' && data[5] == 'e')
if (data[2] == 'u' && data[3] == 'r' && data[4] == 'c' && data[5] == 'e')
return sourceTag.localName().impl();
return sourceTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 't':
case 't':
switch (data[2]) {
switch (data[2]) {
case 'r':
case 'r':
switch (data[3]) {
switch (data[3]) {
case 'i':
case 'i':
if (data[4] == 'k' && data[5] == 'e')
if (data[4] == 'k' && data[5] == 'e')
return strikeTag.localName().impl();
return strikeTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'o':
case 'o':
if (data[4] == 'n' && data[5] == 'g')
if (data[4] == 'n' && data[5] == 'g')
return strongTag.localName().impl();
return strongTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 7:
case 7:
switch (data[0]) {
switch (data[0]) {
case 'a':
case 'a':
switch (data[1]) {
switch (data[1]) {
case 'c':
case 'c':
if (data[2] == 'r' && data[3] == 'o' && data[4] == 'n' && data[5] == 'y' && data[6] == 'm')
if (data[2] == 'r' && data[3] == 'o' && data[4] == 'n' && data[5] == 'y' && data[6] == 'm')
return acronymTag.localName().impl();
return acronymTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'd':
case 'd':
if (data[2] == 'd' && data[3] == 'r' && data[4] == 'e' && data[5] == 's' && data[6] == 's')
if (data[2] == 'd' && data[3] == 'r' && data[4] == 'e' && data[5] == 's' && data[6] == 's')
return addressTag.localName().impl();
return addressTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'r':
case 'r':
if (data[2] == 't' && data[3] == 'i' && data[4] == 'c' && data[5] == 'l' && data[6] == 'e')
if (data[2] == 't' && data[3] == 'i' && data[4] == 'c' && data[5] == 'l' && data[6] == 'e')
return articleTag.localName().impl();
return articleTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'b':
case 'b':
if (data[1] == 'g' && data[2] == 's' && data[3] == 'o' && data[4] == 'u' && data[5] == 'n' && data[6] == 'd')
if (data[1] == 'g' && data[2] == 's' && data[3] == 'o' && data[4] == 'u' && data[5] == 'n' && data[6] == 'd')
return bgsoundTag.localName().impl();
return bgsoundTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'c':
case 'c':
switch (data[1]) {
switch (data[1]) {
case 'a':
case 'a':
if (data[2] == 'p' && data[3] == 't' && data[4] == 'i' && data[5] == 'o' && data[6] == 'n')
if (data[2] == 'p' && data[3] == 't' && data[4] == 'i' && data[5] == 'o' && data[6] == 'n')
return captionTag.localName().impl();
return captionTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'o':
case 'o':
switch (data[2]) {
switch (data[2]) {
case 'm':
case 'm':
if (data[3] == 'm' && data[4] == 'a' && data[5] == 'n' && data[6] == 'd')
if (data[3] == 'm' && data[4] == 'a' && data[5] == 'n' && data[6] == 'd')
return commandTag.localName().impl();
return commandTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'n':
case 'n':
if (data[3] == 't' && data[4] == 'e' && data[5] == 'n' && data[6] == 't')
if (data[3] == 't' && data[4] == 'e' && data[5] == 'n' && data[6] == 't')
return contentTag.localName().impl();
return contentTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'd':
case 'd':
if (data[1] == 'e' && data[2] == 't' && data[3] == 'a' && data[4] == 'i' && data[5] == 'l' && data[6] == 's')
if (data[1] == 'e' && data[2] == 't' && data[3] == 'a' && data[4] == 'i' && data[5] == 'l' && data[6] == 's')
return detailsTag.localName().impl();
return detailsTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'l':
case 'l':
if (data[1] == 'i' && data[2] == 's' && data[3] == 't' && data[4] == 'i' && data[5] == 'n' && data[6] == 'g')
if (data[1] == 'i' && data[2] == 's' && data[3] == 't' && data[4] == 'i' && data[5] == 'n' && data[6] == 'g')
return listingTag.localName().impl();
return listingTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'm':
case 'm':
if (data[1] == 'a' && data[2] == 'r' && data[3] == 'q' && data[4] == 'u' && data[5] == 'e' && data[6] == 'e')
if (data[1] == 'a' && data[2] == 'r' && data[3] == 'q' && data[4] == 'u' && data[5] == 'e' && data[6] == 'e')
return marqueeTag.localName().impl();
return marqueeTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'n':
case 'n':
switch (data[1]) {
switch (data[1]) {
case 'o':
case 'o':
switch (data[2]) {
switch (data[2]) {
case 'e':
case 'e':
if (data[3] == 'm' && data[4] == 'b' && data[5] == 'e' && data[6] == 'd')
if (data[3] == 'm' && data[4] == 'b' && data[5] == 'e' && data[6] == 'd')
return noembedTag.localName().impl();
return noembedTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'l':
case 'l':
if (data[3] == 'a' && data[4] == 'y' && data[5] == 'e' && data[6] == 'r')
if (data[3] == 'a' && data[4] == 'y' && data[5] == 'e' && data[6] == 'r')
return nolayerTag.localName().impl();
return nolayerTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'p':
case 'p':
if (data[1] == 'i' && data[2] == 'c' && data[3] == 't' && data[4] == 'u' && data[5] == 'r' && data[6] == 'e')
if (data[1] == 'i' && data[2] == 'c' && data[3] == 't' && data[4] == 'u' && data[5] == 'r' && data[6] == 'e')
return pictureTag.localName().impl();
return pictureTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 's':
case 's':
switch (data[1]) {
switch (data[1]) {
case 'e':
case 'e':
if (data[2] == 'c' && data[3] == 't' && data[4] == 'i' && data[5] == 'o' && data[6] == 'n')
if (data[2] == 'c' && data[3] == 't' && data[4] == 'i' && data[5] == 'o' && data[6] == 'n')
return sectionTag.localName().impl();
return sectionTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'u':
case 'u':
if (data[2] == 'm' && data[3] == 'm' && data[4] == 'a' && data[5] == 'r' && data[6] == 'y')
if (data[2] == 'm' && data[3] == 'm' && data[4] == 'a' && data[5] == 'r' && data[6] == 'y')
return summaryTag.localName().impl();
return summaryTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 8:
case 8:
switch (data[0]) {
switch (data[0]) {
case 'b':
case 'b':
if (data[1] == 'a' && data[2] == 's' && data[3] == 'e' && data[4] == 'f' && data[5] == 'o' && data[6] == 'n' && data[7] == 't')
if (data[1] == 'a' && data[2] == 's' && data[3] == 'e' && data[4] == 'f' && data[5] == 'o' && data[6] == 'n' && data[7] == 't')
return basefontTag.localName().impl();
return basefontTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'c':
case 'c':
if (data[1] == 'o' && data[2] == 'l' && data[3] == 'g' && data[4] == 'r' && data[5] == 'o' && data[6] == 'u' && data[7] == 'p')
if (data[1] == 'o' && data[2] == 'l' && data[3] == 'g' && data[4] == 'r' && data[5] == 'o' && data[6] == 'u' && data[7] == 'p')
return colgroupTag.localName().impl();
return colgroupTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'd':
case 'd':
if (data[1] == 'a' && data[2] == 't' && data[3] == 'a' && data[4] == 'l' && data[5] == 'i' && data[6] == 's' && data[7] == 't')
if (data[1] == 'a' && data[2] == 't' && data[3] == 'a' && data[4] == 'l' && data[5] == 'i' && data[6] == 's' && data[7] == 't')
return datalistTag.localName().impl();
return datalistTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'f':
case 'f':
switch (data[1]) {
switch (data[1]) {
case 'i':
case 'i':
if (data[2] == 'e' && data[3] == 'l' && data[4] == 'd' && data[5] == 's' && data[6] == 'e' && data[7] == 't')
if (data[2] == 'e' && data[3] == 'l' && data[4] == 'd' && data[5] == 's' && data[6] == 'e' && data[7] == 't')
return fieldsetTag.localName().impl();
return fieldsetTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'r':
case 'r':
if (data[2] == 'a' && data[3] == 'm' && data[4] == 'e' && data[5] == 's' && data[6] == 'e' && data[7] == 't')
if (data[2] == 'a' && data[3] == 'm' && data[4] == 'e' && data[5] == 's' && data[6] == 'e' && data[7] == 't')
return framesetTag.localName().impl();
return framesetTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
}
}
复制
已复制
复制
已复制
return 0
;
break
;
case 'm':
case 'm':
if (data[1] == 'e' && data[2] == 'n' && data[3] == 'u' && data[4] == 'i' && data[5] == 't' && data[6] == 'e' && data[7] == 'm')
if (data[1] == 'e' && data[2] == 'n' && data[3] == 'u' && data[4] == 'i' && data[5] == 't' && data[6] == 'e' && data[7] == 'm')
return menuitemTag.localName().impl();
return menuitemTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 'n':
case 'n':
switch (data[1]) {
switch (data[1]) {
case 'o':
case 'o':
switch (data[2]) {
switch (data[2]) {
case 'f':
case 'f':
if (data[3] == 'r' && data[4] == 'a' && data[5] == 'm' && data[6] == 'e' && data[7] == 's')
if (data[3] == 'r' && data[4] == 'a' && data[5] == 'm' && data[6] == 'e' && data[7] == 's')
return noframesTag.localName().impl();
return noframesTag.localName().impl();
复制
已复制
复制
已复制
return 0
;
break
;
case 's':
case 's':
if (data[3] == 'c' && data[4] == 'r' && data[5] == 'i' && data[6] == 'p' && data[7] == 't')
if (data[3] == 'c' && data[4] == 'r' && data[5] == 'i' && data[6] == 'p' && data[7] == 't')
return noscriptTag.localName().impl();
return noscriptTag.localName().impl();
复制
已复制
复制
已复制
break;
}
break;
}
break;
case 'o':
if (data[1] == 'p' && data[2] == 't' && data[3] == 'g' && data[4] == 'r' && data[5] == 'o' && data[6] == 'u' && data[7] == 'p')
return optgroupTag.localName().impl();
break;
case 'p':
if (data[1] == 'r' && data[2] == 'o' && data[3] == 'g' && data[4] == 'r' && data[5]
已保存差异
原始文本
打开文件
// Copyright (c) 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "HTMLElementLookupTrie.h" #include "HTMLNames.h" namespace blink { using namespace HTMLNames; StringImpl* lookupHTMLTag(const UChar* data, unsigned length) { ASSERT(data); ASSERT(length); switch (length) { case 1: switch (data[0]) { case 'a': return aTag.localName().impl(); case 'b': return bTag.localName().impl(); case 'i': return iTag.localName().impl(); case 'p': return pTag.localName().impl(); case 'q': return qTag.localName().impl(); case 's': return sTag.localName().impl(); case 'u': return uTag.localName().impl(); } return 0; case 2: switch (data[0]) { case 'b': if (data[1] == 'r') return brTag.localName().impl(); return 0; case 'd': switch (data[1]) { case 'd': return ddTag.localName().impl(); case 'l': return dlTag.localName().impl(); case 't': return dtTag.localName().impl(); } return 0; case 'e': if (data[1] == 'm') return emTag.localName().impl(); return 0; case 'h': switch (data[1]) { case '1': return h1Tag.localName().impl(); case '2': return h2Tag.localName().impl(); case '3': return h3Tag.localName().impl(); case '4': return h4Tag.localName().impl(); case '5': return h5Tag.localName().impl(); case '6': return h6Tag.localName().impl(); case 'r': return hrTag.localName().impl(); } return 0; case 'l': if (data[1] == 'i') return liTag.localName().impl(); return 0; case 'o': if (data[1] == 'l') return olTag.localName().impl(); return 0; case 'r': switch (data[1]) { case 'b': return rbTag.localName().impl(); case 'p': return rpTag.localName().impl(); case 't': return rtTag.localName().impl(); } return 0; case 't': switch (data[1]) { case 'd': return tdTag.localName().impl(); case 'h': return thTag.localName().impl(); case 'r': return trTag.localName().impl(); case 't': return ttTag.localName().impl(); } return 0; case 'u': if (data[1] == 'l') return ulTag.localName().impl(); return 0; } return 0; case 3: switch (data[0]) { case 'b': switch (data[1]) { case 'd': switch (data[2]) { case 'i': return bdiTag.localName().impl(); case 'o': return bdoTag.localName().impl(); } return 0; case 'i': if (data[2] == 'g') return bigTag.localName().impl(); return 0; } return 0; case 'c': if (data[1] == 'o' && data[2] == 'l') return colTag.localName().impl(); return 0; case 'd': switch (data[1]) { case 'e': if (data[2] == 'l') return delTag.localName().impl(); return 0; case 'f': if (data[2] == 'n') return dfnTag.localName().impl(); return 0; case 'i': switch (data[2]) { case 'r': return dirTag.localName().impl(); case 'v': return divTag.localName().impl(); } return 0; } return 0; case 'i': switch (data[1]) { case 'm': if (data[2] == 'g') return imgTag.localName().impl(); return 0; case 'n': if (data[2] == 's') return insTag.localName().impl(); return 0; } return 0; case 'k': if (data[1] == 'b' && data[2] == 'd') return kbdTag.localName().impl(); return 0; case 'm': if (data[1] == 'a' && data[2] == 'p') return mapTag.localName().impl(); return 0; case 'n': if (data[1] == 'a' && data[2] == 'v') return navTag.localName().impl(); return 0; case 'p': if (data[1] == 'r' && data[2] == 'e') return preTag.localName().impl(); return 0; case 'r': if (data[1] == 't' && data[2] == 'c') return rtcTag.localName().impl(); return 0; case 's': switch (data[1]) { case 'u': switch (data[2]) { case 'b': return subTag.localName().impl(); case 'p': return supTag.localName().impl(); } return 0; } return 0; case 'v': if (data[1] == 'a' && data[2] == 'r') return varTag.localName().impl(); return 0; case 'w': if (data[1] == 'b' && data[2] == 'r') return wbrTag.localName().impl(); return 0; case 'x': if (data[1] == 'm' && data[2] == 'p') return xmpTag.localName().impl(); return 0; } return 0; case 4: switch (data[0]) { case 'a': switch (data[1]) { case 'b': if (data[2] == 'b' && data[3] == 'r') return abbrTag.localName().impl(); return 0; case 'r': if (data[2] == 'e' && data[3] == 'a') return areaTag.localName().impl(); return 0; } return 0; case 'b': switch (data[1]) { case 'a': if (data[2] == 's' && data[3] == 'e') return baseTag.localName().impl(); return 0; case 'o': if (data[2] == 'd' && data[3] == 'y') return bodyTag.localName().impl(); return 0; } return 0; case 'c': switch (data[1]) { case 'i': if (data[2] == 't' && data[3] == 'e') return citeTag.localName().impl(); return 0; case 'o': if (data[2] == 'd' && data[3] == 'e') return codeTag.localName().impl(); return 0; } return 0; case 'f': switch (data[1]) { case 'o': switch (data[2]) { case 'n': if (data[3] == 't') return fontTag.localName().impl(); return 0; case 'r': if (data[3] == 'm') return formTag.localName().impl(); return 0; } return 0; } return 0; case 'h': switch (data[1]) { case 'e': if (data[2] == 'a' && data[3] == 'd') return headTag.localName().impl(); return 0; case 't': if (data[2] == 'm' && data[3] == 'l') return htmlTag.localName().impl(); return 0; } return 0; case 'l': if (data[1] == 'i' && data[2] == 'n' && data[3] == 'k') return linkTag.localName().impl(); return 0; case 'm': switch (data[1]) { case 'a': switch (data[2]) { case 'i': if (data[3] == 'n') return mainTag.localName().impl(); return 0; case 'r': if (data[3] == 'k') return markTag.localName().impl(); return 0; } return 0; case 'e': switch (data[2]) { case 'n': if (data[3] == 'u') return menuTag.localName().impl(); return 0; case 't': if (data[3] == 'a') return metaTag.localName().impl(); return 0; } return 0; } return 0; case 'n': if (data[1] == 'o' && data[2] == 'b' && data[3] == 'r') return nobrTag.localName().impl(); return 0; case 'r': if (data[1] == 'u' && data[2] == 'b' && data[3] == 'y') return rubyTag.localName().impl(); return 0; case 's': switch (data[1]) { case 'a': if (data[2] == 'm' && data[3] == 'p') return sampTag.localName().impl(); return 0; case 'l': if (data[2] == 'o' && data[3] == 't') return slotTag.localName().impl(); return 0; case 'p': if (data[2] == 'a' && data[3] == 'n') return spanTag.localName().impl(); return 0; } return 0; } return 0; case 5: switch (data[0]) { case 'a': switch (data[1]) { case 's': if (data[2] == 'i' && data[3] == 'd' && data[4] == 'e') return asideTag.localName().impl(); return 0; case 'u': if (data[2] == 'd' && data[3] == 'i' && data[4] == 'o') return audioTag.localName().impl(); return 0; } return 0; case 'e': if (data[1] == 'm' && data[2] == 'b' && data[3] == 'e' && data[4] == 'd') return embedTag.localName().impl(); return 0; case 'f': if (data[1] == 'r' && data[2] == 'a' && data[3] == 'm' && data[4] == 'e') return frameTag.localName().impl(); return 0; case 'i': switch (data[1]) { case 'm': if (data[2] == 'a' && data[3] == 'g' && data[4] == 'e') return imageTag.localName().impl(); return 0; case 'n': if (data[2] == 'p' && data[3] == 'u' && data[4] == 't') return inputTag.localName().impl(); return 0; } return 0; case 'l': switch (data[1]) { case 'a': switch (data[2]) { case 'b': if (data[3] == 'e' && data[4] == 'l') return labelTag.localName().impl(); return 0; case 'y': if (data[3] == 'e' && data[4] == 'r') return layerTag.localName().impl(); return 0; } return 0; } return 0; case 'm': if (data[1] == 'e' && data[2] == 't' && data[3] == 'e' && data[4] == 'r') return meterTag.localName().impl(); return 0; case 'p': if (data[1] == 'a' && data[2] == 'r' && data[3] == 'a' && data[4] == 'm') return paramTag.localName().impl(); return 0; case 's': switch (data[1]) { case 'm': if (data[2] == 'a' && data[3] == 'l' && data[4] == 'l') return smallTag.localName().impl(); return 0; case 't': if (data[2] == 'y' && data[3] == 'l' && data[4] == 'e') return styleTag.localName().impl(); return 0; } return 0; case 't': switch (data[1]) { case 'a': if (data[2] == 'b' && data[3] == 'l' && data[4] == 'e') return tableTag.localName().impl(); return 0; case 'b': if (data[2] == 'o' && data[3] == 'd' && data[4] == 'y') return tbodyTag.localName().impl(); return 0; case 'f': if (data[2] == 'o' && data[3] == 'o' && data[4] == 't') return tfootTag.localName().impl(); return 0; case 'h': if (data[2] == 'e' && data[3] == 'a' && data[4] == 'd') return theadTag.localName().impl(); return 0; case 'i': if (data[2] == 't' && data[3] == 'l' && data[4] == 'e') return titleTag.localName().impl(); return 0; case 'r': if (data[2] == 'a' && data[3] == 'c' && data[4] == 'k') return trackTag.localName().impl(); return 0; } return 0; case 'v': if (data[1] == 'i' && data[2] == 'd' && data[3] == 'e' && data[4] == 'o') return videoTag.localName().impl(); return 0; } return 0; case 6: switch (data[0]) { case 'a': if (data[1] == 'p' && data[2] == 'p' && data[3] == 'l' && data[4] == 'e' && data[5] == 't') return appletTag.localName().impl(); return 0; case 'b': if (data[1] == 'u' && data[2] == 't' && data[3] == 't' && data[4] == 'o' && data[5] == 'n') return buttonTag.localName().impl(); return 0; case 'c': switch (data[1]) { case 'a': if (data[2] == 'n' && data[3] == 'v' && data[4] == 'a' && data[5] == 's') return canvasTag.localName().impl(); return 0; case 'e': if (data[2] == 'n' && data[3] == 't' && data[4] == 'e' && data[5] == 'r') return centerTag.localName().impl(); return 0; } return 0; case 'd': if (data[1] == 'i' && data[2] == 'a' && data[3] == 'l' && data[4] == 'o' && data[5] == 'g') return dialogTag.localName().impl(); return 0; case 'f': switch (data[1]) { case 'i': if (data[2] == 'g' && data[3] == 'u' && data[4] == 'r' && data[5] == 'e') return figureTag.localName().impl(); return 0; case 'o': if (data[2] == 'o' && data[3] == 't' && data[4] == 'e' && data[5] == 'r') return footerTag.localName().impl(); return 0; } return 0; case 'h': switch (data[1]) { case 'e': if (data[2] == 'a' && data[3] == 'd' && data[4] == 'e' && data[5] == 'r') return headerTag.localName().impl(); return 0; case 'g': if (data[2] == 'r' && data[3] == 'o' && data[4] == 'u' && data[5] == 'p') return hgroupTag.localName().impl(); return 0; } return 0; case 'i': if (data[1] == 'f' && data[2] == 'r' && data[3] == 'a' && data[4] == 'm' && data[5] == 'e') return iframeTag.localName().impl(); return 0; case 'k': if (data[1] == 'e' && data[2] == 'y' && data[3] == 'g' && data[4] == 'e' && data[5] == 'n') return keygenTag.localName().impl(); return 0; case 'l': if (data[1] == 'e' && data[2] == 'g' && data[3] == 'e' && data[4] == 'n' && data[5] == 'd') return legendTag.localName().impl(); return 0; case 'o': switch (data[1]) { case 'b': if (data[2] == 'j' && data[3] == 'e' && data[4] == 'c' && data[5] == 't') return objectTag.localName().impl(); return 0; case 'p': if (data[2] == 't' && data[3] == 'i' && data[4] == 'o' && data[5] == 'n') return optionTag.localName().impl(); return 0; case 'u': if (data[2] == 't' && data[3] == 'p' && data[4] == 'u' && data[5] == 't') return outputTag.localName().impl(); return 0; } return 0; case 's': switch (data[1]) { case 'c': if (data[2] == 'r' && data[3] == 'i' && data[4] == 'p' && data[5] == 't') return scriptTag.localName().impl(); return 0; case 'e': if (data[2] == 'l' && data[3] == 'e' && data[4] == 'c' && data[5] == 't') return selectTag.localName().impl(); return 0; case 'h': if (data[2] == 'a' && data[3] == 'd' && data[4] == 'o' && data[5] == 'w') return shadowTag.localName().impl(); return 0; case 'o': if (data[2] == 'u' && data[3] == 'r' && data[4] == 'c' && data[5] == 'e') return sourceTag.localName().impl(); return 0; case 't': switch (data[2]) { case 'r': switch (data[3]) { case 'i': if (data[4] == 'k' && data[5] == 'e') return strikeTag.localName().impl(); return 0; case 'o': if (data[4] == 'n' && data[5] == 'g') return strongTag.localName().impl(); return 0; } return 0; } return 0; } return 0; } return 0; case 7: switch (data[0]) { case 'a': switch (data[1]) { case 'c': if (data[2] == 'r' && data[3] == 'o' && data[4] == 'n' && data[5] == 'y' && data[6] == 'm') return acronymTag.localName().impl(); return 0; case 'd': if (data[2] == 'd' && data[3] == 'r' && data[4] == 'e' && data[5] == 's' && data[6] == 's') return addressTag.localName().impl(); return 0; case 'r': if (data[2] == 't' && data[3] == 'i' && data[4] == 'c' && data[5] == 'l' && data[6] == 'e') return articleTag.localName().impl(); return 0; } return 0; case 'b': if (data[1] == 'g' && data[2] == 's' && data[3] == 'o' && data[4] == 'u' && data[5] == 'n' && data[6] == 'd') return bgsoundTag.localName().impl(); return 0; case 'c': switch (data[1]) { case 'a': if (data[2] == 'p' && data[3] == 't' && data[4] == 'i' && data[5] == 'o' && data[6] == 'n') return captionTag.localName().impl(); return 0; case 'o': switch (data[2]) { case 'm': if (data[3] == 'm' && data[4] == 'a' && data[5] == 'n' && data[6] == 'd') return commandTag.localName().impl(); return 0; case 'n': if (data[3] == 't' && data[4] == 'e' && data[5] == 'n' && data[6] == 't') return contentTag.localName().impl(); return 0; } return 0; } return 0; case 'd': if (data[1] == 'e' && data[2] == 't' && data[3] == 'a' && data[4] == 'i' && data[5] == 'l' && data[6] == 's') return detailsTag.localName().impl(); return 0; case 'l': if (data[1] == 'i' && data[2] == 's' && data[3] == 't' && data[4] == 'i' && data[5] == 'n' && data[6] == 'g') return listingTag.localName().impl(); return 0; case 'm': if (data[1] == 'a' && data[2] == 'r' && data[3] == 'q' && data[4] == 'u' && data[5] == 'e' && data[6] == 'e') return marqueeTag.localName().impl(); return 0; case 'n': switch (data[1]) { case 'o': switch (data[2]) { case 'e': if (data[3] == 'm' && data[4] == 'b' && data[5] == 'e' && data[6] == 'd') return noembedTag.localName().impl(); return 0; case 'l': if (data[3] == 'a' && data[4] == 'y' && data[5] == 'e' && data[6] == 'r') return nolayerTag.localName().impl(); return 0; } return 0; } return 0; case 'p': if (data[1] == 'i' && data[2] == 'c' && data[3] == 't' && data[4] == 'u' && data[5] == 'r' && data[6] == 'e') return pictureTag.localName().impl(); return 0; case 's': switch (data[1]) { case 'e': if (data[2] == 'c' && data[3] == 't' && data[4] == 'i' && data[5] == 'o' && data[6] == 'n') return sectionTag.localName().impl(); return 0; case 'u': if (data[2] == 'm' && data[3] == 'm' && data[4] == 'a' && data[5] == 'r' && data[6] == 'y') return summaryTag.localName().impl(); return 0; } return 0; } return 0; case 8: switch (data[0]) { case 'b': if (data[1] == 'a' && data[2] == 's' && data[3] == 'e' && data[4] == 'f' && data[5] == 'o' && data[6] == 'n' && data[7] == 't') return basefontTag.localName().impl(); return 0; case 'c': if (data[1] == 'o' && data[2] == 'l' && data[3] == 'g' && data[4] == 'r' && data[5] == 'o' && data[6] == 'u' && data[7] == 'p') return colgroupTag.localName().impl(); return 0; case 'd': if (data[1] == 'a' && data[2] == 't' && data[3] == 'a' && data[4] == 'l' && data[5] == 'i' && data[6] == 's' && data[7] == 't') return datalistTag.localName().impl(); return 0; case 'f': switch (data[1]) { case 'i': if (data[2] == 'e' && data[3] == 'l' && data[4] == 'd' && data[5] == 's' && data[6] == 'e' && data[7] == 't') return fieldsetTag.localName().impl(); return 0; case 'r': if (data[2] == 'a' && data[3] == 'm' && data[4] == 'e' && data[5] == 's' && data[6] == 'e' && data[7] == 't') return framesetTag.localName().impl(); return 0; } return 0; case 'm': if (data[1] == 'e' && data[2] == 'n' && data[3] == 'u' && data[4] == 'i' && data[5] == 't' && data[6] == 'e' && data[7] == 'm') return menuitemTag.localName().impl(); return 0; case 'n': switch (data[1]) { case 'o': switch (data[2]) { case 'f': if (data[3] == 'r' && data[4] == 'a' && data[5] == 'm' && data[6] == 'e' && data[7] == 's') return noframesTag.localName().impl(); return 0; case 's': if (data[3] == 'c' && data[4] == 'r' && data[5] == 'i' && data[6] == 'p' && data[7] == 't') return noscriptTag.localName().impl(); return 0; } return 0; } return 0; case 'o': if (data[1] == 'p' && data[2] == 't' && data[3] == 'g' && data[4] == 'r' && data[5] == 'o' && data[6] == 'u' && data[7] == 'p') return optgroupTag.localName().impl(); return 0; case 'p': if (data[1] == 'r' && data[2] == 'o' && data[3] == 'g' && data[4] == 'r' && data[5] == 'e' && data[6] == 's' && data[7] == 's') return progressTag.localName().impl(); return 0; case 't': switch (data[1]) { case 'e': switch (data[2]) { case 'm': if (data[3] == 'p' && data[4] == 'l' && data[5] == 'a' && data[6] == 't' && data[7] == 'e') return templateTag.localName().impl(); return 0; case 'x': if (data[3] == 't' && data[4] == 'a' && data[5] == 'r' && data[6] == 'e' && data[7] == 'a') return textareaTag.localName().impl(); return 0; } return 0; } return 0; } return 0; case 9: switch (data[0]) { case 'p': if (data[1] == 'l' && data[2] == 'a' && data[3] == 'i' && data[4] == 'n' && data[5] == 't' && data[6] == 'e' && data[7] == 'x' && data[8] == 't') return plaintextTag.localName().impl(); return 0; } return 0; case 10: switch (data[0]) { case 'b': if (data[1] == 'l' && data[2] == 'o' && data[3] == 'c' && data[4] == 'k' && data[5] == 'q' && data[6] == 'u' && data[7] == 'o' && data[8] == 't' && data[9] == 'e') return blockquoteTag.localName().impl(); return 0; case 'f': if (data[1] == 'i' && data[2] == 'g' && data[3] == 'c' && data[4] == 'a' && data[5] == 'p' && data[6] == 't' && data[7] == 'i' && data[8] == 'o' && data[9] == 'n') return figcaptionTag.localName().impl(); return 0; } return 0; } return 0; } } // namespace blink
更改后文本
打开文件
// Copyright (c) 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "HTMLElementLookupTrie.h" #include "HTMLNames.h" namespace blink { using namespace HTMLNames; StringImpl* lookupHTMLTag(const UChar* data, unsigned length) { DCHECK(data); DCHECK(length); switch (length) { case 1: switch (data[0]) { case 'a': return aTag.localName().impl(); case 'b': return bTag.localName().impl(); case 'i': return iTag.localName().impl(); case 'p': return pTag.localName().impl(); case 'q': return qTag.localName().impl(); case 's': return sTag.localName().impl(); case 'u': return uTag.localName().impl(); } break; case 2: switch (data[0]) { case 'b': if (data[1] == 'r') return brTag.localName().impl(); break; case 'd': switch (data[1]) { case 'd': return ddTag.localName().impl(); case 'l': return dlTag.localName().impl(); case 't': return dtTag.localName().impl(); } break; case 'e': if (data[1] == 'm') return emTag.localName().impl(); break; case 'h': switch (data[1]) { case '1': return h1Tag.localName().impl(); case '2': return h2Tag.localName().impl(); case '3': return h3Tag.localName().impl(); case '4': return h4Tag.localName().impl(); case '5': return h5Tag.localName().impl(); case '6': return h6Tag.localName().impl(); case 'r': return hrTag.localName().impl(); } break; case 'l': if (data[1] == 'i') return liTag.localName().impl(); break; case 'o': if (data[1] == 'l') return olTag.localName().impl(); break; case 'r': switch (data[1]) { case 'b': return rbTag.localName().impl(); case 'p': return rpTag.localName().impl(); case 't': return rtTag.localName().impl(); } break; case 't': switch (data[1]) { case 'd': return tdTag.localName().impl(); case 'h': return thTag.localName().impl(); case 'r': return trTag.localName().impl(); case 't': return ttTag.localName().impl(); } break; case 'u': if (data[1] == 'l') return ulTag.localName().impl(); break; } break; case 3: switch (data[0]) { case 'b': switch (data[1]) { case 'd': switch (data[2]) { case 'i': return bdiTag.localName().impl(); case 'o': return bdoTag.localName().impl(); } break; case 'i': if (data[2] == 'g') return bigTag.localName().impl(); break; } break; case 'c': if (data[1] == 'o' && data[2] == 'l') return colTag.localName().impl(); break; case 'd': switch (data[1]) { case 'e': if (data[2] == 'l') return delTag.localName().impl(); break; case 'f': if (data[2] == 'n') return dfnTag.localName().impl(); break; case 'i': switch (data[2]) { case 'r': return dirTag.localName().impl(); case 'v': return divTag.localName().impl(); } break; } break; case 'i': switch (data[1]) { case 'm': if (data[2] == 'g') return imgTag.localName().impl(); break; case 'n': if (data[2] == 's') return insTag.localName().impl(); break; } break; case 'k': if (data[1] == 'b' && data[2] == 'd') return kbdTag.localName().impl(); break; case 'm': if (data[1] == 'a' && data[2] == 'p') return mapTag.localName().impl(); break; case 'n': if (data[1] == 'a' && data[2] == 'v') return navTag.localName().impl(); break; case 'p': if (data[1] == 'r' && data[2] == 'e') return preTag.localName().impl(); break; case 'r': if (data[1] == 't' && data[2] == 'c') return rtcTag.localName().impl(); break; case 's': switch (data[1]) { case 'u': switch (data[2]) { case 'b': return subTag.localName().impl(); case 'p': return supTag.localName().impl(); } break; } break; case 'v': if (data[1] == 'a' && data[2] == 'r') return varTag.localName().impl(); break; case 'w': if (data[1] == 'b' && data[2] == 'r') return wbrTag.localName().impl(); break; case 'x': if (data[1] == 'm' && data[2] == 'p') return xmpTag.localName().impl(); break; } break; case 4: switch (data[0]) { case 'a': switch (data[1]) { case 'b': if (data[2] == 'b' && data[3] == 'r') return abbrTag.localName().impl(); break; case 'r': if (data[2] == 'e' && data[3] == 'a') return areaTag.localName().impl(); break; } break; case 'b': switch (data[1]) { case 'a': if (data[2] == 's' && data[3] == 'e') return baseTag.localName().impl(); break; case 'o': if (data[2] == 'd' && data[3] == 'y') return bodyTag.localName().impl(); break; } break; case 'c': switch (data[1]) { case 'i': if (data[2] == 't' && data[3] == 'e') return citeTag.localName().impl(); break; case 'o': if (data[2] == 'd' && data[3] == 'e') return codeTag.localName().impl(); break; } break; case 'f': switch (data[1]) { case 'o': switch (data[2]) { case 'n': if (data[3] == 't') return fontTag.localName().impl(); break; case 'r': if (data[3] == 'm') return formTag.localName().impl(); break; } break; } break; case 'h': switch (data[1]) { case 'e': if (data[2] == 'a' && data[3] == 'd') return headTag.localName().impl(); break; case 't': if (data[2] == 'm' && data[3] == 'l') return htmlTag.localName().impl(); break; } break; case 'l': if (data[1] == 'i' && data[2] == 'n' && data[3] == 'k') return linkTag.localName().impl(); break; case 'm': switch (data[1]) { case 'a': switch (data[2]) { case 'i': if (data[3] == 'n') return mainTag.localName().impl(); break; case 'r': if (data[3] == 'k') return markTag.localName().impl(); break; } break; case 'e': switch (data[2]) { case 'n': if (data[3] == 'u') return menuTag.localName().impl(); break; case 't': if (data[3] == 'a') return metaTag.localName().impl(); break; } break; } break; case 'n': if (data[1] == 'o' && data[2] == 'b' && data[3] == 'r') return nobrTag.localName().impl(); break; case 'r': if (data[1] == 'u' && data[2] == 'b' && data[3] == 'y') return rubyTag.localName().impl(); break; case 's': switch (data[1]) { case 'a': if (data[2] == 'm' && data[3] == 'p') return sampTag.localName().impl(); break; case 'l': if (data[2] == 'o' && data[3] == 't') return slotTag.localName().impl(); break; case 'p': if (data[2] == 'a' && data[3] == 'n') return spanTag.localName().impl(); break; } break; } break; case 5: switch (data[0]) { case 'a': switch (data[1]) { case 's': if (data[2] == 'i' && data[3] == 'd' && data[4] == 'e') return asideTag.localName().impl(); break; case 'u': if (data[2] == 'd' && data[3] == 'i' && data[4] == 'o') return audioTag.localName().impl(); break; } break; case 'e': if (data[1] == 'm' && data[2] == 'b' && data[3] == 'e' && data[4] == 'd') return embedTag.localName().impl(); break; case 'f': if (data[1] == 'r' && data[2] == 'a' && data[3] == 'm' && data[4] == 'e') return frameTag.localName().impl(); break; case 'i': switch (data[1]) { case 'm': if (data[2] == 'a' && data[3] == 'g' && data[4] == 'e') return imageTag.localName().impl(); break; case 'n': if (data[2] == 'p' && data[3] == 'u' && data[4] == 't') return inputTag.localName().impl(); break; } break; case 'l': switch (data[1]) { case 'a': switch (data[2]) { case 'b': if (data[3] == 'e' && data[4] == 'l') return labelTag.localName().impl(); break; case 'y': if (data[3] == 'e' && data[4] == 'r') return layerTag.localName().impl(); break; } break; } break; case 'm': if (data[1] == 'e' && data[2] == 't' && data[3] == 'e' && data[4] == 'r') return meterTag.localName().impl(); break; case 'p': if (data[1] == 'a' && data[2] == 'r' && data[3] == 'a' && data[4] == 'm') return paramTag.localName().impl(); break; case 's': switch (data[1]) { case 'm': if (data[2] == 'a' && data[3] == 'l' && data[4] == 'l') return smallTag.localName().impl(); break; case 't': if (data[2] == 'y' && data[3] == 'l' && data[4] == 'e') return styleTag.localName().impl(); break; } break; case 't': switch (data[1]) { case 'a': if (data[2] == 'b' && data[3] == 'l' && data[4] == 'e') return tableTag.localName().impl(); break; case 'b': if (data[2] == 'o' && data[3] == 'd' && data[4] == 'y') return tbodyTag.localName().impl(); break; case 'f': if (data[2] == 'o' && data[3] == 'o' && data[4] == 't') return tfootTag.localName().impl(); break; case 'h': if (data[2] == 'e' && data[3] == 'a' && data[4] == 'd') return theadTag.localName().impl(); break; case 'i': if (data[2] == 't' && data[3] == 'l' && data[4] == 'e') return titleTag.localName().impl(); break; case 'r': if (data[2] == 'a' && data[3] == 'c' && data[4] == 'k') return trackTag.localName().impl(); break; } break; case 'v': if (data[1] == 'i' && data[2] == 'd' && data[3] == 'e' && data[4] == 'o') return videoTag.localName().impl(); break; } break; case 6: switch (data[0]) { case 'a': if (data[1] == 'p' && data[2] == 'p' && data[3] == 'l' && data[4] == 'e' && data[5] == 't') return appletTag.localName().impl(); break; case 'b': if (data[1] == 'u' && data[2] == 't' && data[3] == 't' && data[4] == 'o' && data[5] == 'n') return buttonTag.localName().impl(); break; case 'c': switch (data[1]) { case 'a': if (data[2] == 'n' && data[3] == 'v' && data[4] == 'a' && data[5] == 's') return canvasTag.localName().impl(); break; case 'e': if (data[2] == 'n' && data[3] == 't' && data[4] == 'e' && data[5] == 'r') return centerTag.localName().impl(); break; } break; case 'd': if (data[1] == 'i' && data[2] == 'a' && data[3] == 'l' && data[4] == 'o' && data[5] == 'g') return dialogTag.localName().impl(); break; case 'f': switch (data[1]) { case 'i': if (data[2] == 'g' && data[3] == 'u' && data[4] == 'r' && data[5] == 'e') return figureTag.localName().impl(); break; case 'o': if (data[2] == 'o' && data[3] == 't' && data[4] == 'e' && data[5] == 'r') return footerTag.localName().impl(); break; } break; case 'h': switch (data[1]) { case 'e': if (data[2] == 'a' && data[3] == 'd' && data[4] == 'e' && data[5] == 'r') return headerTag.localName().impl(); break; case 'g': if (data[2] == 'r' && data[3] == 'o' && data[4] == 'u' && data[5] == 'p') return hgroupTag.localName().impl(); break; } break; case 'i': if (data[1] == 'f' && data[2] == 'r' && data[3] == 'a' && data[4] == 'm' && data[5] == 'e') return iframeTag.localName().impl(); break; case 'k': if (data[1] == 'e' && data[2] == 'y' && data[3] == 'g' && data[4] == 'e' && data[5] == 'n') return keygenTag.localName().impl(); break; case 'l': if (data[1] == 'e' && data[2] == 'g' && data[3] == 'e' && data[4] == 'n' && data[5] == 'd') return legendTag.localName().impl(); break; case 'o': switch (data[1]) { case 'b': if (data[2] == 'j' && data[3] == 'e' && data[4] == 'c' && data[5] == 't') return objectTag.localName().impl(); break; case 'p': if (data[2] == 't' && data[3] == 'i' && data[4] == 'o' && data[5] == 'n') return optionTag.localName().impl(); break; case 'u': if (data[2] == 't' && data[3] == 'p' && data[4] == 'u' && data[5] == 't') return outputTag.localName().impl(); break; } break; case 's': switch (data[1]) { case 'c': if (data[2] == 'r' && data[3] == 'i' && data[4] == 'p' && data[5] == 't') return scriptTag.localName().impl(); break; case 'e': if (data[2] == 'l' && data[3] == 'e' && data[4] == 'c' && data[5] == 't') return selectTag.localName().impl(); break; case 'h': if (data[2] == 'a' && data[3] == 'd' && data[4] == 'o' && data[5] == 'w') return shadowTag.localName().impl(); break; case 'o': if (data[2] == 'u' && data[3] == 'r' && data[4] == 'c' && data[5] == 'e') return sourceTag.localName().impl(); break; case 't': switch (data[2]) { case 'r': switch (data[3]) { case 'i': if (data[4] == 'k' && data[5] == 'e') return strikeTag.localName().impl(); break; case 'o': if (data[4] == 'n' && data[5] == 'g') return strongTag.localName().impl(); break; } break; } break; } break; } break; case 7: switch (data[0]) { case 'a': switch (data[1]) { case 'c': if (data[2] == 'r' && data[3] == 'o' && data[4] == 'n' && data[5] == 'y' && data[6] == 'm') return acronymTag.localName().impl(); break; case 'd': if (data[2] == 'd' && data[3] == 'r' && data[4] == 'e' && data[5] == 's' && data[6] == 's') return addressTag.localName().impl(); break; case 'r': if (data[2] == 't' && data[3] == 'i' && data[4] == 'c' && data[5] == 'l' && data[6] == 'e') return articleTag.localName().impl(); break; } break; case 'b': if (data[1] == 'g' && data[2] == 's' && data[3] == 'o' && data[4] == 'u' && data[5] == 'n' && data[6] == 'd') return bgsoundTag.localName().impl(); break; case 'c': switch (data[1]) { case 'a': if (data[2] == 'p' && data[3] == 't' && data[4] == 'i' && data[5] == 'o' && data[6] == 'n') return captionTag.localName().impl(); break; case 'o': switch (data[2]) { case 'm': if (data[3] == 'm' && data[4] == 'a' && data[5] == 'n' && data[6] == 'd') return commandTag.localName().impl(); break; case 'n': if (data[3] == 't' && data[4] == 'e' && data[5] == 'n' && data[6] == 't') return contentTag.localName().impl(); break; } break; } break; case 'd': if (data[1] == 'e' && data[2] == 't' && data[3] == 'a' && data[4] == 'i' && data[5] == 'l' && data[6] == 's') return detailsTag.localName().impl(); break; case 'l': if (data[1] == 'i' && data[2] == 's' && data[3] == 't' && data[4] == 'i' && data[5] == 'n' && data[6] == 'g') return listingTag.localName().impl(); break; case 'm': if (data[1] == 'a' && data[2] == 'r' && data[3] == 'q' && data[4] == 'u' && data[5] == 'e' && data[6] == 'e') return marqueeTag.localName().impl(); break; case 'n': switch (data[1]) { case 'o': switch (data[2]) { case 'e': if (data[3] == 'm' && data[4] == 'b' && data[5] == 'e' && data[6] == 'd') return noembedTag.localName().impl(); break; case 'l': if (data[3] == 'a' && data[4] == 'y' && data[5] == 'e' && data[6] == 'r') return nolayerTag.localName().impl(); break; } break; } break; case 'p': if (data[1] == 'i' && data[2] == 'c' && data[3] == 't' && data[4] == 'u' && data[5] == 'r' && data[6] == 'e') return pictureTag.localName().impl(); break; case 's': switch (data[1]) { case 'e': if (data[2] == 'c' && data[3] == 't' && data[4] == 'i' && data[5] == 'o' && data[6] == 'n') return sectionTag.localName().impl(); break; case 'u': if (data[2] == 'm' && data[3] == 'm' && data[4] == 'a' && data[5] == 'r' && data[6] == 'y') return summaryTag.localName().impl(); break; } break; } break; case 8: switch (data[0]) { case 'b': if (data[1] == 'a' && data[2] == 's' && data[3] == 'e' && data[4] == 'f' && data[5] == 'o' && data[6] == 'n' && data[7] == 't') return basefontTag.localName().impl(); break; case 'c': if (data[1] == 'o' && data[2] == 'l' && data[3] == 'g' && data[4] == 'r' && data[5] == 'o' && data[6] == 'u' && data[7] == 'p') return colgroupTag.localName().impl(); break; case 'd': if (data[1] == 'a' && data[2] == 't' && data[3] == 'a' && data[4] == 'l' && data[5] == 'i' && data[6] == 's' && data[7] == 't') return datalistTag.localName().impl(); break; case 'f': switch (data[1]) { case 'i': if (data[2] == 'e' && data[3] == 'l' && data[4] == 'd' && data[5] == 's' && data[6] == 'e' && data[7] == 't') return fieldsetTag.localName().impl(); break; case 'r': if (data[2] == 'a' && data[3] == 'm' && data[4] == 'e' && data[5] == 's' && data[6] == 'e' && data[7] == 't') return framesetTag.localName().impl(); break; } break; case 'm': if (data[1] == 'e' && data[2] == 'n' && data[3] == 'u' && data[4] == 'i' && data[5] == 't' && data[6] == 'e' && data[7] == 'm') return menuitemTag.localName().impl(); break; case 'n': switch (data[1]) { case 'o': switch (data[2]) { case 'f': if (data[3] == 'r' && data[4] == 'a' && data[5] == 'm' && data[6] == 'e' && data[7] == 's') return noframesTag.localName().impl(); break; case 's': if (data[3] == 'c' && data[4] == 'r' && data[5] == 'i' && data[6] == 'p' && data[7] == 't') return noscriptTag.localName().impl(); break; } break; } break; case 'o': if (data[1] == 'p' && data[2] == 't' && data[3] == 'g' && data[4] == 'r' && data[5] == 'o' && data[6] == 'u' && data[7] == 'p') return optgroupTag.localName().impl(); break; case 'p': if (data[1] == 'r' && data[2] == 'o' && data[3] == 'g' && data[4] == 'r' && data[5] == 'e' && data[6] == 's' && data[7] == 's') return progressTag.localName().impl(); break; case 't': switch (data[1]) { case 'e': switch (data[2]) { case 'm': if (data[3] == 'p' && data[4] == 'l' && data[5] == 'a' && data[6] == 't' && data[7] == 'e') return templateTag.localName().impl(); break; case 'x': if (data[3] == 't' && data[4] == 'a' && data[5] == 'r' && data[6] == 'e' && data[7] == 'a') return textareaTag.localName().impl(); break; } break; } break; } break; case 9: switch (data[0]) { case 'p': if (data[1] == 'l' && data[2] == 'a' && data[3] == 'i' && data[4] == 'n' && data[5] == 't' && data[6] == 'e' && data[7] == 'x' && data[8] == 't') return plaintextTag.localName().impl(); break; } break; case 10: switch (data[0]) { case 'b': if (data[1] == 'l' && data[2] == 'o' && data[3] == 'c' && data[4] == 'k' && data[5] == 'q' && data[6] == 'u' && data[7] == 'o' && data[8] == 't' && data[9] == 'e') return blockquoteTag.localName().impl(); break; case 'f': if (data[1] == 'i' && data[2] == 'g' && data[3] == 'c' && data[4] == 'a' && data[5] == 'p' && data[6] == 't' && data[7] == 'i' && data[8] == 'o' && data[9] == 'n') return figcaptionTag.localName().impl(); break; } break; } return nullptr; } } // namespace blink
查找差异