Less html? calls in Element#available_namespaces
Previously it would always call the "html?" method, even if the available namespaces were already set.
This commit is contained in:
parent
b5e63dc50e
commit
b9145d83f8
|
@ -320,21 +320,23 @@ module Oga
|
|||
#
|
||||
def available_namespaces
|
||||
# HTML(5) completely ignores namespaces
|
||||
if html?
|
||||
return @available_namespaces ||= {}
|
||||
elsif !@available_namespaces
|
||||
merged = namespaces.dup
|
||||
node = parent
|
||||
unless @available_namespaces
|
||||
if html?
|
||||
@available_namespaces = {}
|
||||
else
|
||||
merged = namespaces.dup
|
||||
node = parent
|
||||
|
||||
while node && node.respond_to?(:namespaces)
|
||||
node.namespaces.each do |prefix, ns|
|
||||
merged[prefix] = ns unless merged[prefix]
|
||||
while node && node.respond_to?(:namespaces)
|
||||
node.namespaces.each do |prefix, ns|
|
||||
merged[prefix] = ns unless merged[prefix]
|
||||
end
|
||||
|
||||
node = node.parent
|
||||
end
|
||||
|
||||
node = node.parent
|
||||
@available_namespaces = merged
|
||||
end
|
||||
|
||||
@available_namespaces = merged
|
||||
end
|
||||
|
||||
return @available_namespaces
|
||||
|
|
Loading…
Reference in New Issue