Bug 1358037 - Inline the methods of nsHtml5ElementName and nsHtml5AttributeName. r=wchen
Moving methods that refer to constant to the header that defines the constants makes it infeasible to #define the constants at the end of the header. To avoid introducing a new pass over the Java AST, this patch turns the primitive constants that were previously #defined into C++ contants, which, according to Stroustrup 3rd ed., are handled at compile-time and don't consume storage. MozReview-Commit-ID: JnaDgW2OM7t
This commit is contained in:
@@ -42,12 +42,13 @@
|
||||
#include "nsIUnicodeDecoder.h"
|
||||
#include "nsHtml5Macros.h"
|
||||
#include "nsIContentHandle.h"
|
||||
#include "nsHtml5Portability.h"
|
||||
|
||||
#include "nsHtml5AttributeName.h"
|
||||
#include "nsHtml5ElementName.h"
|
||||
#include "nsHtml5Tokenizer.h"
|
||||
#include "nsHtml5TreeBuilder.h"
|
||||
#include "nsHtml5MetaScanner.h"
|
||||
#include "nsHtml5AttributeName.h"
|
||||
#include "nsHtml5ElementName.h"
|
||||
#include "nsHtml5UTF16Buffer.h"
|
||||
#include "nsHtml5StateSnapshot.h"
|
||||
#include "nsHtml5Portability.h"
|
||||
@@ -57,31 +58,31 @@
|
||||
int32_t
|
||||
nsHtml5StackNode::getGroup()
|
||||
{
|
||||
return flags & NS_HTML5ELEMENT_NAME_GROUP_MASK;
|
||||
return flags & nsHtml5ElementName::GROUP_MASK;
|
||||
}
|
||||
|
||||
bool
|
||||
nsHtml5StackNode::isScoping()
|
||||
{
|
||||
return (flags & NS_HTML5ELEMENT_NAME_SCOPING);
|
||||
return (flags & nsHtml5ElementName::SCOPING);
|
||||
}
|
||||
|
||||
bool
|
||||
nsHtml5StackNode::isSpecial()
|
||||
{
|
||||
return (flags & NS_HTML5ELEMENT_NAME_SPECIAL);
|
||||
return (flags & nsHtml5ElementName::SPECIAL);
|
||||
}
|
||||
|
||||
bool
|
||||
nsHtml5StackNode::isFosterParenting()
|
||||
{
|
||||
return (flags & NS_HTML5ELEMENT_NAME_FOSTER_PARENTING);
|
||||
return (flags & nsHtml5ElementName::FOSTER_PARENTING);
|
||||
}
|
||||
|
||||
bool
|
||||
nsHtml5StackNode::isHtmlIntegrationPoint()
|
||||
{
|
||||
return (flags & NS_HTML5ELEMENT_NAME_HTML_INTEGRATION_POINT);
|
||||
return (flags & nsHtml5ElementName::HTML_INTEGRATION_POINT);
|
||||
}
|
||||
|
||||
|
||||
@@ -174,9 +175,12 @@ nsHtml5StackNode::nsHtml5StackNode(nsHtml5ElementName* elementName,
|
||||
int32_t
|
||||
nsHtml5StackNode::prepareSvgFlags(int32_t flags)
|
||||
{
|
||||
flags &= ~(NS_HTML5ELEMENT_NAME_FOSTER_PARENTING | NS_HTML5ELEMENT_NAME_SCOPING | NS_HTML5ELEMENT_NAME_SPECIAL | NS_HTML5ELEMENT_NAME_OPTIONAL_END_TAG);
|
||||
if ((flags & NS_HTML5ELEMENT_NAME_SCOPING_AS_SVG)) {
|
||||
flags |= (NS_HTML5ELEMENT_NAME_SCOPING | NS_HTML5ELEMENT_NAME_SPECIAL | NS_HTML5ELEMENT_NAME_HTML_INTEGRATION_POINT);
|
||||
flags &=
|
||||
~(nsHtml5ElementName::FOSTER_PARENTING | nsHtml5ElementName::SCOPING |
|
||||
nsHtml5ElementName::SPECIAL | nsHtml5ElementName::OPTIONAL_END_TAG);
|
||||
if ((flags & nsHtml5ElementName::SCOPING_AS_SVG)) {
|
||||
flags |= (nsHtml5ElementName::SCOPING | nsHtml5ElementName::SPECIAL |
|
||||
nsHtml5ElementName::HTML_INTEGRATION_POINT);
|
||||
}
|
||||
return flags;
|
||||
}
|
||||
@@ -184,12 +188,14 @@ nsHtml5StackNode::prepareSvgFlags(int32_t flags)
|
||||
int32_t
|
||||
nsHtml5StackNode::prepareMathFlags(int32_t flags, bool markAsIntegrationPoint)
|
||||
{
|
||||
flags &= ~(NS_HTML5ELEMENT_NAME_FOSTER_PARENTING | NS_HTML5ELEMENT_NAME_SCOPING | NS_HTML5ELEMENT_NAME_SPECIAL | NS_HTML5ELEMENT_NAME_OPTIONAL_END_TAG);
|
||||
if ((flags & NS_HTML5ELEMENT_NAME_SCOPING_AS_MATHML)) {
|
||||
flags |= (NS_HTML5ELEMENT_NAME_SCOPING | NS_HTML5ELEMENT_NAME_SPECIAL);
|
||||
flags &=
|
||||
~(nsHtml5ElementName::FOSTER_PARENTING | nsHtml5ElementName::SCOPING |
|
||||
nsHtml5ElementName::SPECIAL | nsHtml5ElementName::OPTIONAL_END_TAG);
|
||||
if ((flags & nsHtml5ElementName::SCOPING_AS_MATHML)) {
|
||||
flags |= (nsHtml5ElementName::SCOPING | nsHtml5ElementName::SPECIAL);
|
||||
}
|
||||
if (markAsIntegrationPoint) {
|
||||
flags |= NS_HTML5ELEMENT_NAME_HTML_INTEGRATION_POINT;
|
||||
flags |= nsHtml5ElementName::HTML_INTEGRATION_POINT;
|
||||
}
|
||||
return flags;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user