1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
// Copyright 2015 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 "core/css/parser/CSSAtRuleID.h"
#include "core/frame/UseCounter.h"
namespace blink {
CSSAtRuleID cssAtRuleID(StringView name) {
if (equalIgnoringASCIICase(name, "charset"))
return CSSAtRuleCharset;
if (equalIgnoringASCIICase(name, "font-face"))
return CSSAtRuleFontFace;
if (equalIgnoringASCIICase(name, "import"))
return CSSAtRuleImport;
if (equalIgnoringASCIICase(name, "keyframes"))
return CSSAtRuleKeyframes;
if (equalIgnoringASCIICase(name, "media"))
return CSSAtRuleMedia;
if (equalIgnoringASCIICase(name, "namespace"))
return CSSAtRuleNamespace;
if (equalIgnoringASCIICase(name, "page"))
return CSSAtRulePage;
if (equalIgnoringASCIICase(name, "supports"))
return CSSAtRuleSupports;
if (equalIgnoringASCIICase(name, "viewport"))
return CSSAtRuleViewport;
if (equalIgnoringASCIICase(name, "-webkit-keyframes"))
return CSSAtRuleWebkitKeyframes;
if (equalIgnoringASCIICase(name, "apply"))
return CSSAtRuleApply;
return CSSAtRuleInvalid;
}
void countAtRule(UseCounter* useCounter, CSSAtRuleID ruleId) {
ASSERT(useCounter);
UseCounter::Feature feature;
switch (ruleId) {
case CSSAtRuleCharset:
feature = UseCounter::CSSAtRuleCharset;
break;
case CSSAtRuleFontFace:
feature = UseCounter::CSSAtRuleFontFace;
break;
case CSSAtRuleImport:
feature = UseCounter::CSSAtRuleImport;
break;
case CSSAtRuleKeyframes:
feature = UseCounter::CSSAtRuleKeyframes;
break;
case CSSAtRuleMedia:
feature = UseCounter::CSSAtRuleMedia;
break;
case CSSAtRuleNamespace:
feature = UseCounter::CSSAtRuleNamespace;
break;
case CSSAtRulePage:
feature = UseCounter::CSSAtRulePage;
break;
case CSSAtRuleSupports:
feature = UseCounter::CSSAtRuleSupports;
break;
case CSSAtRuleViewport:
feature = UseCounter::CSSAtRuleViewport;
break;
case CSSAtRuleWebkitKeyframes:
feature = UseCounter::CSSAtRuleWebkitKeyframes;
break;
case CSSAtRuleApply:
feature = UseCounter::CSSAtRuleApply;
break;
case CSSAtRuleInvalid:
// fallthrough
default:
ASSERT_NOT_REACHED();
return;
}
useCounter->count(feature);
}
} // namespace blink
|