2017-10-27 20:33:53 +03:00
|
|
|
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
|
|
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
2015-10-20 02:16:20 +03:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
|
|
|
|
/* enum to represent a level in the cascade */
|
|
|
|
|
|
|
|
#ifndef mozilla_SheetType_h
|
|
|
|
#define mozilla_SheetType_h
|
|
|
|
|
2016-07-08 00:05:28 +03:00
|
|
|
#include <stdint.h>
|
|
|
|
|
2015-10-20 02:16:20 +03:00
|
|
|
namespace mozilla {
|
|
|
|
|
|
|
|
// The "origins" of the CSS cascade, from lowest precedence to
|
|
|
|
// highest (for non-!important rules).
|
|
|
|
//
|
|
|
|
// Be sure to update NS_RULE_NODE_LEVEL_MASK when changing the number
|
|
|
|
// of sheet types; static assertions enforce this.
|
|
|
|
enum class SheetType : uint8_t {
|
|
|
|
Agent, // CSS
|
|
|
|
User, // CSS
|
|
|
|
PresHint,
|
|
|
|
Doc, // CSS
|
2017-11-16 04:37:17 +03:00
|
|
|
ScopedDoc, // CSS
|
2015-10-20 02:16:20 +03:00
|
|
|
StyleAttr,
|
|
|
|
Override, // CSS
|
|
|
|
Animation,
|
|
|
|
Transition,
|
|
|
|
|
|
|
|
Count,
|
|
|
|
Unknown = 0xff
|
|
|
|
};
|
|
|
|
|
2017-11-16 04:37:17 +03:00
|
|
|
// Returns whether aSheetType represents a level of the cascade that uses
|
|
|
|
// a StyleSheet object.
|
|
|
|
inline bool
|
|
|
|
IsCSSSheetType(SheetType aSheetType)
|
|
|
|
{
|
|
|
|
switch (aSheetType) {
|
|
|
|
case SheetType::Agent:
|
|
|
|
case SheetType::User:
|
|
|
|
case SheetType::Doc:
|
|
|
|
case SheetType::ScopedDoc:
|
|
|
|
case SheetType::Override:
|
|
|
|
return true;
|
|
|
|
default:
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-10-20 02:16:20 +03:00
|
|
|
} // namespace mozilla
|
|
|
|
|
|
|
|
#endif // mozilla_SheetType_h
|