#include "third_party/blink/renderer/core/svg/svg_uri_reference.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/dom/element.h"
#include "third_party/blink/renderer/core/dom/id_target_observer.h"
#include "third_party/blink/renderer/core/html/parser/html_parser_idioms.h"
#include "third_party/blink/renderer/core/svg/svg_animated_href.h"
#include "third_party/blink/renderer/core/svg/svg_element.h"
#include "third_party/blink/renderer/core/xlink_names.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"
namespace blink {
namespace {
class SVGElementReferenceObserver : public IdTargetObserver { … };
}
SVGURIReference::SVGURIReference(SVGElement* element)
: … { … }
const String& SVGURIReference::HrefString() const { … }
SVGAnimatedString* SVGURIReference::href() const { … }
SVGAnimatedPropertyBase* SVGURIReference::PropertyFromAttribute(
const QualifiedName& attribute_name) const { … }
void SVGURIReference::SynchronizeAllSVGAttributes() const { … }
void SVGURIReference::Trace(Visitor* visitor) const { … }
bool SVGURIReference::IsKnownAttribute(const QualifiedName& attr_name) { … }
const AtomicString& SVGURIReference::LegacyHrefString(
const SVGElement& element) { … }
KURL SVGURIReference::LegacyHrefURL(const Document& document) const { … }
SVGURLReferenceResolver::SVGURLReferenceResolver(const String& url_string,
const Document& document)
: … { … }
KURL SVGURLReferenceResolver::AbsoluteUrl() const { … }
bool SVGURLReferenceResolver::IsLocal() const { … }
AtomicString SVGURLReferenceResolver::FragmentIdentifier() const { … }
AtomicString SVGURIReference::FragmentIdentifierFromIRIString(
const String& url_string,
const TreeScope& tree_scope) { … }
Element* SVGURIReference::TargetElementFromIRIString(
const String& url_string,
const TreeScope& tree_scope,
AtomicString* fragment_identifier) { … }
Element* SVGURIReference::ObserveTarget(Member<IdTargetObserver>& observer,
SVGElement& context_element) { … }
Element* SVGURIReference::ObserveTarget(Member<IdTargetObserver>& observer,
SVGElement& context_element,
const String& href_string) { … }
Element* SVGURIReference::ObserveTarget(Member<IdTargetObserver>& observer,
TreeScope& tree_scope,
const AtomicString& id,
base::RepeatingClosure closure) { … }
void SVGURIReference::UnobserveTarget(Member<IdTargetObserver>& observer) { … }
}