#include "third_party/blink/renderer/core/svg/svg_resource.h"
#include "services/network/public/mojom/content_security_policy.mojom-blink.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/dom/tree_scope.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/layout/svg/layout_svg_resource_container.h"
#include "third_party/blink/renderer/core/loader/resource/image_resource_content.h"
#include "third_party/blink/renderer/core/svg/graphics/svg_image.h"
#include "third_party/blink/renderer/core/svg/svg_resource_client.h"
#include "third_party/blink/renderer/core/svg/svg_resource_document_content.h"
#include "third_party/blink/renderer/core/svg/svg_uri_reference.h"
#include "third_party/blink/renderer/platform/bindings/script_forbidden_scope.h"
#include "third_party/blink/renderer/platform/loader/fetch/fetch_initiator_type_names.h"
#include "third_party/blink/renderer/platform/loader/fetch/fetch_parameters.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource.h"
namespace blink {
SVGResource::SVGResource() = default;
SVGResource::~SVGResource() = default;
void SVGResource::Trace(Visitor* visitor) const { … }
void SVGResource::AddClient(SVGResourceClient& client) { … }
void SVGResource::RemoveClient(SVGResourceClient& client) { … }
class SVGResource::ImageResourceObserverWrapper
: public GarbageCollected<SVGResource::ImageResourceObserverWrapper>,
public SVGResourceClient { … };
void SVGResource::AddObserver(ImageResourceObserver& observer) { … }
void SVGResource::RemoveObserver(ImageResourceObserver& observer) { … }
SVGResourceClient* SVGResource::GetObserverResourceClient(
ImageResourceObserver& observer) { … }
void SVGResource::InvalidateCycleCache() { … }
void SVGResource::NotifyContentChanged() { … }
LayoutSVGResourceContainer* SVGResource::ResourceContainerNoCycleCheck() const { … }
LayoutSVGResourceContainer* SVGResource::ResourceContainer(
SVGResourceClient& client) const { … }
bool SVGResource::FindCycle(SVGResourceClient& client) const { … }
LocalSVGResource::LocalSVGResource(TreeScope& tree_scope,
const AtomicString& id)
: … { … }
void LocalSVGResource::Unregister() { … }
void LocalSVGResource::NotifyFilterPrimitiveChanged(
SVGFilterPrimitiveStandardAttributes& primitive,
const QualifiedName& attribute) { … }
void LocalSVGResource::TargetChanged(const AtomicString& id) { … }
void LocalSVGResource::Trace(Visitor* visitor) const { … }
ExternalSVGResourceDocumentContent::ExternalSVGResourceDocumentContent(
const KURL& url)
: … { … }
void ExternalSVGResourceDocumentContent::Load(
Document& document,
CrossOriginAttributeValue cross_origin) { … }
void ExternalSVGResourceDocumentContent::LoadWithoutCSP(Document& document) { … }
void ExternalSVGResourceDocumentContent::ResourceNotifyFinished(
SVGResourceDocumentContent* document_content) { … }
void ExternalSVGResourceDocumentContent::ResourceContentChanged(
SVGResourceDocumentContent* document_content) { … }
Element* ExternalSVGResourceDocumentContent::ResolveTarget() { … }
void ExternalSVGResourceDocumentContent::Trace(Visitor* visitor) const { … }
ExternalSVGResourceImageContent::ExternalSVGResourceImageContent(
ImageResourceContent* image_content,
const AtomicString& fragment)
: … { … }
void ExternalSVGResourceImageContent::Prefinalize() { … }
Element* ExternalSVGResourceImageContent::ResolveTarget() { … }
void ExternalSVGResourceImageContent::ImageNotifyFinished(
ImageResourceContent*) { … }
String ExternalSVGResourceImageContent::DebugName() const { … }
void ExternalSVGResourceImageContent::Trace(Visitor* visitor) const { … }
}