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
尋找差異