chromium/third_party/blink/renderer/core/layout/svg/layout_svg_root.cc

/*
 * Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <[email protected]>
 * Copyright (C) 2004, 2005, 2007, 2008, 2009 Rob Buis <[email protected]>
 * Copyright (C) 2007 Eric Seidel <[email protected]>
 * Copyright (C) 2009 Google, Inc.
 * Copyright (C) Research In Motion Limited 2011. All rights reserved.
 *
 * 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/layout/svg/layout_svg_root.h"

#include "third_party/blink/renderer/core/editing/position_with_affinity.h"
#include "third_party/blink/renderer/core/frame/frame_owner.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/web_feature.h"
#include "third_party/blink/renderer/core/layout/hit_test_location.h"
#include "third_party/blink/renderer/core/layout/hit_test_result.h"
#include "third_party/blink/renderer/core/layout/intrinsic_sizing_info.h"
#include "third_party/blink/renderer/core/layout/layout_embedded_content.h"
#include "third_party/blink/renderer/core/layout/layout_view.h"
#include "third_party/blink/renderer/core/layout/svg/layout_svg_resource_container.h"
#include "third_party/blink/renderer/core/layout/svg/layout_svg_text.h"
#include "third_party/blink/renderer/core/layout/svg/svg_layout_info.h"
#include "third_party/blink/renderer/core/layout/svg/svg_layout_support.h"
#include "third_party/blink/renderer/core/layout/svg/svg_resources.h"
#include "third_party/blink/renderer/core/layout/svg/transform_helper.h"
#include "third_party/blink/renderer/core/layout/svg/transformed_hit_test_location.h"
#include "third_party/blink/renderer/core/page/chrome_client.h"
#include "third_party/blink/renderer/core/paint/compositing/compositing_reason_finder.h"
#include "third_party/blink/renderer/core/paint/paint_layer.h"
#include "third_party/blink/renderer/core/paint/svg_root_painter.h"
#include "third_party/blink/renderer/core/svg/graphics/svg_image.h"
#include "third_party/blink/renderer/core/svg/svg_animated_length.h"
#include "third_party/blink/renderer/core/svg/svg_animated_rect.h"
#include "third_party/blink/renderer/core/svg/svg_element.h"
#include "third_party/blink/renderer/core/svg/svg_svg_element.h"
#include "third_party/blink/renderer/platform/geometry/length_functions.h"

namespace blink {

LayoutSVGRoot::LayoutSVGRoot(SVGElement* node)
    :{}

LayoutSVGRoot::~LayoutSVGRoot() = default;

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

void LayoutSVGRoot::UnscaledIntrinsicSizingInfo(
    const SVGRect* override_viewbox,
    IntrinsicSizingInfo& intrinsic_sizing_info) const {}

void LayoutSVGRoot::ComputeIntrinsicSizingInfo(
    IntrinsicSizingInfo& intrinsic_sizing_info) const {}

bool LayoutSVGRoot::IsEmbeddedThroughSVGImage() const {}

bool LayoutSVGRoot::IsEmbeddedThroughFrameContainingSVGDocument() const {}

double LayoutSVGRoot::LogicalSizeScaleFactorForPercentageLengths() const {}

void LayoutSVGRoot::LayoutRoot(const PhysicalRect& content_rect) {}

void LayoutSVGRoot::RecalcVisualOverflow() {}

PhysicalRect LayoutSVGRoot::ComputeContentsVisualOverflow() const {}

void LayoutSVGRoot::PaintReplaced(const PaintInfo& paint_info,
                                  const PhysicalOffset& paint_offset) const {}

void LayoutSVGRoot::WillBeDestroyed() {}

bool LayoutSVGRoot::IntrinsicSizeIsFontMetricsDependent() const {}

bool LayoutSVGRoot::StyleChangeAffectsIntrinsicSize(
    const ComputedStyle& old_style) const {}

void LayoutSVGRoot::IntrinsicSizingInfoChanged() {}

void LayoutSVGRoot::StyleDidChange(StyleDifference diff,
                                   const ComputedStyle* old_style) {}

bool LayoutSVGRoot::IsChildAllowed(LayoutObject* child,
                                   const ComputedStyle&) const {}

void LayoutSVGRoot::AddChild(LayoutObject* child, LayoutObject* before_child) {}

void LayoutSVGRoot::RemoveChild(LayoutObject* child) {}

bool LayoutSVGRoot::HasNonIsolatedBlendingDescendants() const {}

void LayoutSVGRoot::DescendantIsolationRequirementsChanged(
    DescendantIsolationState state) {}

void LayoutSVGRoot::InsertedIntoTree() {}

void LayoutSVGRoot::WillBeRemovedFromTree() {}

PositionWithAffinity LayoutSVGRoot::PositionForPoint(
    const PhysicalOffset& point) const {}

// LayoutBox methods will expect coordinates w/o any transforms in coordinates
// relative to our borderBox origin.  This method gives us exactly that.
SVGTransformChange LayoutSVGRoot::BuildLocalToBorderBoxTransform(
    const PhysicalRect& content_rect) {}

AffineTransform LayoutSVGRoot::LocalToSVGParentTransform() const {}

gfx::RectF LayoutSVGRoot::ViewBoxRect() const {}

gfx::SizeF LayoutSVGRoot::ViewportSize() const {}

// This method expects local CSS box coordinates.
// Callers with local SVG viewport coordinates should first apply the
// localToBorderBoxTransform to convert from SVG viewport coordinates to local
// CSS box coordinates.
void LayoutSVGRoot::MapLocalToAncestor(const LayoutBoxModelObject* ancestor,
                                       TransformState& transform_state,
                                       MapCoordinatesFlags mode) const {}

bool LayoutSVGRoot::HitTestChildren(HitTestResult& result,
                                    const HitTestLocation& hit_test_location,
                                    const PhysicalOffset& accumulated_offset,
                                    HitTestPhase phase) {}

bool LayoutSVGRoot::IsInSelfHitTestingPhase(HitTestPhase phase) const {}

void LayoutSVGRoot::IntersectChildren(HitTestResult& result,
                                      const HitTestLocation& location) const {}

void LayoutSVGRoot::AddSvgTextDescendant(LayoutSVGText& svg_text) {}

void LayoutSVGRoot::RemoveSvgTextDescendant(LayoutSVGText& svg_text) {}

PaintLayerType LayoutSVGRoot::LayerTypeRequired() const {}

OverflowClipAxes LayoutSVGRoot::ComputeOverflowClipAxes() const {}

}  // namespace blink