#include "third_party/blink/renderer/core/layout/svg/layout_svg_foreign_object.h"
#include "third_party/blink/renderer/core/layout/block_node.h"
#include "third_party/blink/renderer/core/layout/constraint_space_builder.h"
#include "third_party/blink/renderer/core/layout/hit_test_result.h"
#include "third_party/blink/renderer/core/layout/layout_result.h"
#include "third_party/blink/renderer/core/layout/svg/svg_layout_info.h"
#include "third_party/blink/renderer/core/layout/svg/svg_resources.h"
#include "third_party/blink/renderer/core/layout/svg/transformed_hit_test_location.h"
#include "third_party/blink/renderer/core/paint/paint_layer.h"
#include "third_party/blink/renderer/core/svg/svg_foreign_object_element.h"
#include "third_party/blink/renderer/core/svg/svg_length_functions.h"
namespace blink {
LayoutSVGForeignObject::LayoutSVGForeignObject(Element* element)
: … { … }
const char* LayoutSVGForeignObject::GetName() const { … }
bool LayoutSVGForeignObject::IsChildAllowed(LayoutObject* child,
const ComputedStyle& style) const { … }
bool LayoutSVGForeignObject::IsObjectBoundingBoxValid() const { … }
gfx::RectF LayoutSVGForeignObject::ObjectBoundingBox() const { … }
gfx::RectF LayoutSVGForeignObject::StrokeBoundingBox() const { … }
gfx::RectF LayoutSVGForeignObject::DecoratedBoundingBox() const { … }
gfx::RectF LayoutSVGForeignObject::VisualRectInLocalSVGCoordinates() const { … }
AffineTransform LayoutSVGForeignObject::LocalToSVGParentTransform() const { … }
LayoutPoint LayoutSVGForeignObject::LocationInternal() const { … }
PaintLayerType LayoutSVGForeignObject::LayerTypeRequired() const { … }
bool LayoutSVGForeignObject::CreatesNewFormattingContext() const { … }
SVGLayoutResult LayoutSVGForeignObject::UpdateSVGLayout(
const SVGLayoutInfo& layout_info) { … }
bool LayoutSVGForeignObject::UpdateAfterSVGLayout(
const SVGLayoutInfo& layout_info,
bool bounds_changed) { … }
void LayoutSVGForeignObject::StyleDidChange(StyleDifference diff,
const ComputedStyle* old_style) { … }
bool LayoutSVGForeignObject::NodeAtPointFromSVG(
HitTestResult& result,
const HitTestLocation& hit_test_location,
const PhysicalOffset& accumulated_offset,
HitTestPhase) { … }
}