Ver código fonte

Optimise lookup of properties, so they don't hit the style sheet specification at each lookup.

Lloyd Weehuizen 15 anos atrás
pai
commit
4f9d03679e
1 arquivos alterados com 6 adições e 2 exclusões
  1. 6 2
      Source/Core/ElementStyle.cpp

+ 6 - 2
Source/Core/ElementStyle.cpp

@@ -291,9 +291,13 @@ const Property* ElementStyle::GetProperty(const String& name)
 	if (property->IsInherited())
 	{
 		Element* parent = element->GetParentNode();
-		if (parent != NULL)
+		while (parent != NULL)
 		{
-			return parent->GetProperty(name);
+			const Property* parent_property = parent->style->GetLocalProperty(name);
+			if (parent_property)
+				return parent_property;
+			
+			parent = parent->GetParentNode();
 		}
 	}