Browse Source

Cache BR tag in Rocket::String for faster comparisons.

Lloyd Weehuizen 15 years ago
parent
commit
08fe99d56f
2 changed files with 5 additions and 5 deletions
  1. 2 4
      Source/Core/ElementDefinition.cpp
  2. 3 1
      Source/Core/LayoutEngine.cpp

+ 2 - 4
Source/Core/ElementDefinition.cpp

@@ -344,8 +344,7 @@ void ElementDefinition::BuildPropertyGroup(PropertyGroupMap& groups, const Strin
 {
 {
 	String property_suffix = "-" + group_type;
 	String property_suffix = "-" + group_type;
 
 
-	PropertyMap::const_iterator property_iterator;
-	for (property_iterator = element_properties.GetProperties().begin(); property_iterator != element_properties.GetProperties().end(); ++property_iterator)
+	for (PropertyMap::const_iterator property_iterator = element_properties.GetProperties().begin(); property_iterator != element_properties.GetProperties().end(); ++property_iterator)
 	{
 	{
 		const String& property_name = (*property_iterator).first;
 		const String& property_name = (*property_iterator).first;
 		if (property_name.Length() > property_suffix.Length() &&
 		if (property_name.Length() > property_suffix.Length() &&
@@ -412,8 +411,7 @@ int ElementDefinition::BuildPropertyGroupDictionary(PropertyDictionary& group_pr
 {
 {
 	int num_properties = 0;
 	int num_properties = 0;
 
 
-	PropertyMap::const_iterator property_iterator;
-	for (property_iterator = element_properties.GetProperties().begin(); property_iterator != element_properties.GetProperties().end(); ++property_iterator)
+	for (PropertyMap::const_iterator property_iterator = element_properties.GetProperties().begin(); property_iterator != element_properties.GetProperties().end(); ++property_iterator)
 	{
 	{
 		const String& full_property_name = (*property_iterator).first;
 		const String& full_property_name = (*property_iterator).first;
 		if (full_property_name.Length() > group_name.Length() + 1 &&
 		if (full_property_name.Length() > group_name.Length() + 1 &&

+ 3 - 1
Source/Core/LayoutEngine.cpp

@@ -403,8 +403,10 @@ void LayoutEngine::FormatElementReplaced(Element* element)
 // Executes any special formatting for special elements.
 // Executes any special formatting for special elements.
 bool LayoutEngine::FormatElementSpecial(Element* element)
 bool LayoutEngine::FormatElementSpecial(Element* element)
 {
 {
+	static String br("br");
+	
 	// Check for a <br> tag.
 	// Check for a <br> tag.
-	if (element->GetTagName() == "br")
+	if (element->GetTagName() == br)
 	{
 	{
 		block_context_box->AddBreak();
 		block_context_box->AddBreak();
 		element->OnLayout();
 		element->OnLayout();