chromium/third_party/blink/renderer/core/svg/svg_use_element.cc

/*
 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann
 * <[email protected]>
 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <[email protected]>
 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved.
 * Copyright (C) 2011 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
 * Copyright (C) 2012 University of Szeged
 * Copyright (C) 2012 Renata Hodovan <[email protected]>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public License
 * along with this library; see the file COPYING.LIB.  If not, write to
 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 * Boston, MA 02110-1301, USA.
 */

#include "third_party/blink/renderer/core/svg/svg_use_element.h"

#include "third_party/blink/public/platform/task_type.h"
#include "third_party/blink/renderer/core/css/style_change_reason.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/dom/element_traversal.h"
#include "third_party/blink/renderer/core/dom/events/event.h"
#include "third_party/blink/renderer/core/dom/id_target_observer.h"
#include "third_party/blink/renderer/core/dom/increment_load_event_delay_count.h"
#include "third_party/blink/renderer/core/dom/node_cloning_data.h"
#include "third_party/blink/renderer/core/dom/shadow_root.h"
#include "third_party/blink/renderer/core/dom/xml_document.h"
#include "third_party/blink/renderer/core/frame/deprecation/deprecation.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/layout/svg/layout_svg_transformable_container.h"
#include "third_party/blink/renderer/core/svg/svg_animated_length.h"
#include "third_party/blink/renderer/core/svg/svg_circle_element.h"
#include "third_party/blink/renderer/core/svg/svg_ellipse_element.h"
#include "third_party/blink/renderer/core/svg/svg_g_element.h"
#include "third_party/blink/renderer/core/svg/svg_length_context.h"
#include "third_party/blink/renderer/core/svg/svg_path_element.h"
#include "third_party/blink/renderer/core/svg/svg_polygon_element.h"
#include "third_party/blink/renderer/core/svg/svg_polyline_element.h"
#include "third_party/blink/renderer/core/svg/svg_rect_element.h"
#include "third_party/blink/renderer/core/svg/svg_resource_document_content.h"
#include "third_party/blink/renderer/core/svg/svg_svg_element.h"
#include "third_party/blink/renderer/core/svg/svg_symbol_element.h"
#include "third_party/blink/renderer/core/svg/svg_text_element.h"
#include "third_party/blink/renderer/core/svg/svg_title_element.h"
#include "third_party/blink/renderer/core/svg_names.h"
#include "third_party/blink/renderer/core/xlink_names.h"
#include "third_party/blink/renderer/core/xml/parser/xml_document_parser.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.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_fetcher.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_loader_options.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"

namespace blink {

SVGUseElement::SVGUseElement(Document& document)
    :{}

SVGUseElement::~SVGUseElement() = default;

void SVGUseElement::Trace(Visitor* visitor) const {}

#if DCHECK_IS_ON()
static inline bool IsWellFormedDocument(const Document& document) {}
#endif

Node::InsertionNotificationRequest SVGUseElement::InsertedInto(
    ContainerNode& root_parent) {}

void SVGUseElement::RemovedFrom(ContainerNode& root_parent) {}

void SVGUseElement::DidMoveToNewDocument(Document& old_document) {}

static void TransferUseWidthAndHeightIfNeeded(
    const SVGUseElement& use,
    SVGElement& shadow_element,
    const SVGElement& original_element) {}

void SVGUseElement::CollectStyleForPresentationAttribute(
    const QualifiedName& name,
    const AtomicString& value,
    MutableCSSPropertyValueSet* style) {}

bool SVGUseElement::IsStructurallyExternal() const {}

bool SVGUseElement::HaveLoadedRequiredResources() {}

void SVGUseElement::UpdateDocumentContent(
    SVGResourceDocumentContent* document_content) {}

void SVGUseElement::UpdateTargetReference() {}

void SVGUseElement::SvgAttributeChanged(
    const SvgAttributeChangedParams& params) {}

static bool IsDisallowedElement(const Element& element) {}

void SVGUseElement::ScheduleShadowTreeRecreation() {}

void SVGUseElement::CancelShadowTreeRecreation() {}

void SVGUseElement::ClearResourceReference() {}

Element* SVGUseElement::ResolveTargetElement() {}

SVGElement* SVGUseElement::InstanceRoot() const {}

void SVGUseElement::BuildPendingResource() {}

String SVGUseElement::title() const {}

static void PostProcessInstanceTree(SVGElement& target_root,
                                    SVGElement& instance_root) {}

static void MoveChildrenToReplacementElement(ContainerNode& source_root,
                                             ContainerNode& destination_root) {}

SVGElement* SVGUseElement::CreateInstanceTree(SVGElement& target_root) const {}

void SVGUseElement::AttachShadowTree(SVGElement& target) {}

void SVGUseElement::DetachShadowTree() {}

LayoutObject* SVGUseElement::CreateLayoutObject(const ComputedStyle&) {}

static bool IsDirectReference(const SVGElement& element) {}

Path SVGUseElement::ToClipPath() const {}

SVGGraphicsElement* SVGUseElement::VisibleTargetGraphicsElementForClipping()
    const {}

bool SVGUseElement::HasCycleUseReferencing(const ContainerNode& target_instance,
                                           const SVGElement& target) const {}

bool SVGUseElement::ShadowTreeRebuildPending() const {}

void SVGUseElement::InvalidateShadowTree() {}

void SVGUseElement::InvalidateTargetReference() {}

bool SVGUseElement::SelfHasRelativeLengths() const {}

gfx::RectF SVGUseElement::GetBBox() {}

void SVGUseElement::QueueOrDispatchPendingEvent(
    const AtomicString& event_name) {}

void SVGUseElement::ResourceNotifyFinished(
    SVGResourceDocumentContent* document_content) {}

SVGAnimatedPropertyBase* SVGUseElement::PropertyFromAttribute(
    const QualifiedName& attribute_name) const {}

void SVGUseElement::SynchronizeAllSVGAttributes() const {}

void SVGUseElement::CollectExtraStyleForPresentationAttribute(
    MutableCSSPropertyValueSet* style) {}

}  // namespace blink