Commit c4a2225c authored by Henrique Ferreiro's avatar Henrique Ferreiro Committed by Commit Bot

Replace WebFloatPoint3D with blink::FloatPoint3D

blink::WebFloatPoint3D is defined in public/platform but it has no users
outside of //third_party/blink. Replace it with blink::FloatPoint3D.

Bug: 919392
Change-Id: Ie637185f1aa81c7793f724b7afe94dce1edf8762
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1886812Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Henrique Ferreiro <hferreiro@igalia.com>
Cr-Commit-Position: refs/heads/master@{#710749}
parent bdf51f8a
......@@ -237,7 +237,6 @@ source_set("blink_headers") {
"platform/web_fetch_client_settings_object.h",
"platform/web_file_system_type.h",
"platform/web_float_point.h",
"platform/web_float_point_3d.h",
"platform/web_float_rect.h",
"platform/web_float_size.h",
"platform/web_focus_type.h",
......
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_FLOAT_POINT_3D_H_
#define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_FLOAT_POINT_3D_H_
#include "third_party/blink/public/platform/web_common.h"
#if INSIDE_BLINK
#include "third_party/blink/renderer/platform/geometry/float_point_3d.h" // nogncheck
#else
#include <ui/gfx/geometry/point3_f.h>
#endif
namespace blink {
struct WebFloatPoint3D {
float x;
float y;
float z;
WebFloatPoint3D() : x(0.0f), y(0.0f), z(0.0f) {}
WebFloatPoint3D(float x, float y, float z) : x(x), y(y), z(z) {}
#if INSIDE_BLINK
WebFloatPoint3D(const FloatPoint3D& p) : x(p.X()), y(p.Y()), z(p.Z()) {}
WebFloatPoint3D& operator=(const FloatPoint3D& p) {
x = p.X();
y = p.Y();
z = p.Z();
return *this;
}
operator FloatPoint3D() const { return FloatPoint3D(x, y, z); }
#else
WebFloatPoint3D(const gfx::Point3F& p) : x(p.x()), y(p.y()), z(p.z()) {}
WebFloatPoint3D& operator=(const gfx::Point3F& p) {
x = p.x();
y = p.y();
return *this;
}
operator gfx::Point3F() const { return gfx::Point3F(x, y, z); }
#endif
};
inline bool operator==(const WebFloatPoint3D& a, const WebFloatPoint3D& b) {
return a.x == b.x && a.y == b.y && a.z == b.z;
}
inline bool operator!=(const WebFloatPoint3D& a, const WebFloatPoint3D& b) {
return !(a == b);
}
} // namespace blink
#endif
......@@ -4,11 +4,12 @@
#include "third_party/blink/renderer/modules/vr/vr_frame_data.h"
#include <cmath>
#include "device/vr/public/mojom/vr_service.mojom-blink.h"
#include "third_party/blink/renderer/modules/vr/vr_eye_parameters.h"
#include "third_party/blink/renderer/modules/vr/vr_pose.h"
#include <cmath>
#include "third_party/blink/renderer/platform/float_point_3d.h"
namespace {
......@@ -48,10 +49,10 @@ void ProjectionFromFieldOfView(blink::DOMFloat32Array* out_array,
}
// Create a matrix from a rotation and translation.
void MatrixfromRotationTranslation(
void MatrixFromRotationTranslation(
blink::DOMFloat32Array* out_array,
const base::Optional<gfx::Quaternion>& rotation,
const base::Optional<blink::WebFloatPoint3D>& translation) {
const base::Optional<blink::FloatPoint3D>& translation) {
// Quaternion math
float x = rotation ? rotation->x() : 0.0f;
float y = rotation ? rotation->y() : 0.0f;
......@@ -84,9 +85,9 @@ void MatrixfromRotationTranslation(
out[9] = yz - wx;
out[10] = 1 - (xx + yy);
out[11] = 0;
out[12] = translation ? translation->x : 0.0f;
out[13] = translation ? translation->y : 0.0f;
out[14] = translation ? translation->z : 0.0f;
out[12] = translation ? translation->X() : 0.0f;
out[13] = translation ? translation->Y() : 0.0f;
out[14] = translation ? translation->Z() : 0.0f;
out[15] = 1;
}
......@@ -213,10 +214,10 @@ bool VRFrameData::Update(const device::mojom::blink::VRPosePtr& pose,
// Build the view matrices
left_view_matrix_ = EnsureMatrix(left_view_matrix_);
MatrixfromRotationTranslation(left_view_matrix_, pose->orientation,
MatrixFromRotationTranslation(left_view_matrix_, pose->orientation,
pose->position);
right_view_matrix_ = EnsureMatrix(right_view_matrix_);
MatrixfromRotationTranslation(right_view_matrix_, pose->orientation,
MatrixFromRotationTranslation(right_view_matrix_, pose->orientation,
pose->position);
if (left_eye && right_eye) {
......
......@@ -5,6 +5,7 @@
#include "third_party/blink/renderer/modules/vr/vr_pose.h"
#include "device/vr/public/mojom/vr_service.mojom-blink.h"
#include "third_party/blink/renderer/platform/float_point_3d.h"
namespace blink {
......@@ -40,15 +41,15 @@ DOMFloat32Array* Vector3dFToFloat32Array(
}
DOMFloat32Array* WebPoint3DToFloat32Array(
const base::Optional<WebFloatPoint3D>& p) {
const base::Optional<FloatPoint3D>& p) {
if (!p)
return nullptr;
auto* dom_array = DOMFloat32Array::Create(3);
float* data = dom_array->Data();
data[0] = p->x;
data[1] = p->y;
data[2] = p->z;
data[0] = p->X();
data[1] = p->Y();
data[2] = p->Z();
return dom_array;
}
......
......@@ -4,6 +4,8 @@
#include "third_party/blink/renderer/modules/xr/type_converters.h"
#include "third_party/blink/renderer/platform/geometry/float_point_3d.h"
namespace mojo {
base::Optional<blink::XRPlane::Orientation>
......@@ -45,9 +47,9 @@ TypeConverter<blink::TransformationMatrix, device::mojom::blink::VRPosePtr>::
}
if (pose->position) {
decomp.translate_x = pose->position->x;
decomp.translate_y = pose->position->y;
decomp.translate_z = pose->position->z;
decomp.translate_x = pose->position->X();
decomp.translate_y = pose->position->Y();
decomp.translate_z = pose->position->Z();
}
result.Recompose(decomp);
......
......@@ -4,11 +4,14 @@
#include "third_party/blink/renderer/modules/xr/xr_bounded_reference_space.h"
#include <memory>
#include "device/vr/public/mojom/vr_service.mojom-blink.h"
#include "third_party/blink/renderer/modules/xr/xr_reference_space_event.h"
#include "third_party/blink/renderer/modules/xr/xr_rigid_transform.h"
#include "third_party/blink/renderer/modules/xr/xr_session.h"
#include "third_party/blink/renderer/modules/xr/xr_utils.h"
#include "third_party/blink/renderer/platform/geometry/float_point_3d.h"
namespace blink {
......@@ -56,7 +59,7 @@ void XRBoundedReferenceSpace::EnsureUpdated() {
for (const auto& bound : *(display_info->stage_parameters->bounds)) {
FloatPoint3D p =
bounds_transform.MapPoint(FloatPoint3D(bound.x, 0.0, bound.z));
bounds_transform.MapPoint(FloatPoint3D(bound.X(), 0.0, bound.Z()));
bounds_geometry_.push_back(
DOMPointReadOnly::Create(p.X(), p.Y(), p.Z(), 1.0));
}
......
......@@ -4,6 +4,7 @@
#include "third_party/blink/renderer/modules/xr/xr_session.h"
#include <algorithm>
#include <memory>
#include <utility>
......@@ -45,6 +46,7 @@
#include "third_party/blink/renderer/modules/xr/xr_world_tracking_state.h"
#include "third_party/blink/renderer/modules/xr/xr_world_tracking_state_init.h"
#include "third_party/blink/renderer/platform/bindings/v8_throw_exception.h"
#include "third_party/blink/renderer/platform/geometry/float_point_3d.h"
#include "third_party/blink/renderer/platform/heap/heap.h"
#include "third_party/blink/renderer/platform/transforms/transformation_matrix.h"
......@@ -464,13 +466,13 @@ ScriptPromise XRSession::CreateAnchor(ScriptState* script_state,
pose_ptr->orientation =
gfx::Quaternion(-decomposed.quaternion_x, -decomposed.quaternion_y,
-decomposed.quaternion_z, decomposed.quaternion_w);
pose_ptr->position = blink::WebFloatPoint3D(
pose_ptr->position = blink::FloatPoint3D(
decomposed.translate_x, decomposed.translate_y, decomposed.translate_z);
DVLOG(3) << __func__
<< ": pose_ptr->orientation = " << pose_ptr->orientation->ToString()
<< ", pose_ptr->position = [" << pose_ptr->position->x << ", "
<< pose_ptr->position->y << ", " << pose_ptr->position->z << "]";
<< ", pose_ptr->position = [" << pose_ptr->position->X() << ", "
<< pose_ptr->position->Y() << ", " << pose_ptr->position->Z() << "]";
if (plane) {
xr_->xrEnvironmentProviderRemote()->CreatePlaneAnchor(
......@@ -549,8 +551,8 @@ ScriptPromise XRSession::requestHitTest(ScriptState* script_state,
device::mojom::blink::XRRayPtr ray_mojo = device::mojom::blink::XRRay::New();
ray_mojo->origin = WebFloatPoint3D(ray->origin()->x(), ray->origin()->y(),
ray->origin()->z());
ray_mojo->origin =
FloatPoint3D(ray->origin()->x(), ray->origin()->y(), ray->origin()->z());
ray_mojo->direction = {ray->direction()->x(), ray->direction()->y(),
ray->direction()->z()};
......@@ -609,7 +611,7 @@ ScriptPromise XRSession::requestHitTestSource(
device::mojom::blink::XRRayPtr ray_mojo = device::mojom::blink::XRRay::New();
ray_mojo->origin = WebFloatPoint3D(origin_from_ray.MapPoint({0, 0, 0}));
ray_mojo->origin = FloatPoint3D(origin_from_ray.MapPoint({0, 0, 0}));
// Zero out the translation of origin_from_ray matrix to correctly map a 3D
// vector.
......
......@@ -56,10 +56,6 @@ float FloatPoint3D::AngleBetween(const FloatPoint3D& y) const {
return 0;
}
FloatPoint3D::operator gfx::Point3F() const {
return gfx::Point3F(x_, y_, z_);
}
std::ostream& operator<<(std::ostream& ostream, const FloatPoint3D& point) {
return ostream << point.ToString();
}
......
......@@ -111,7 +111,7 @@ class PLATFORM_EXPORT FloatPoint3D {
float DistanceTo(const FloatPoint3D& a) const;
operator SkPoint3() const { return SkPoint3::Make(x_, y_, z_); }
operator gfx::Point3F() const;
operator gfx::Point3F() const { return gfx::Point3F(x_, y_, z_); }
String ToString() const;
......
......@@ -23,3 +23,9 @@ include_rules = [
"+third_party/blink/renderer/platform/weborigin",
"+third_party/blink/renderer/platform/wtf",
]
specific_include_rules = {
"geometry_mojom_traits*": [
"+third_party/blink/renderer/platform/geometry",
],
}
......@@ -8,10 +8,10 @@ public_headers = [
"//ui/gfx/geometry/vector3d_f.h",
"//third_party/blink/public/platform/web_float_rect.h",
"//third_party/blink/public/platform/web_float_point.h",
"//third_party/blink/public/platform/web_float_point_3d.h",
"//third_party/blink/public/platform/web_point.h",
"//third_party/blink/public/platform/web_rect.h",
"//third_party/blink/public/platform/web_size.h",
"//third_party/blink/renderer/platform/geometry/float_point_3d.h",
]
traits_headers = [
"//third_party/blink/renderer/platform/mojo/geometry_mojom_traits.h",
......@@ -32,7 +32,7 @@ public_deps = [
type_mappings = [
"gfx.mojom.Point=::blink::WebPoint",
"gfx.mojom.PointF=::blink::WebFloatPoint",
"gfx.mojom.Point3F=::blink::WebFloatPoint3D",
"gfx.mojom.Point3F=::blink::FloatPoint3D",
"gfx.mojom.Quaternion=::gfx::Quaternion",
"gfx.mojom.RectF=::blink::WebFloatRect",
"gfx.mojom.Rect=::blink::WebRect",
......
......@@ -50,12 +50,12 @@ bool StructTraits<gfx::mojom::PointFDataView, ::blink::WebFloatPoint>::Read(
return true;
}
bool StructTraits<gfx::mojom::Point3FDataView, ::blink::WebFloatPoint3D>::Read(
bool StructTraits<gfx::mojom::Point3FDataView, ::blink::FloatPoint3D>::Read(
gfx::mojom::Point3FDataView data,
::blink::WebFloatPoint3D* out) {
out->x = data.x();
out->y = data.y();
out->z = data.z();
::blink::FloatPoint3D* out) {
out->SetX(data.x());
out->SetY(data.y());
out->SetZ(data.z());
return true;
}
......
......@@ -6,11 +6,11 @@
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_MOJO_GEOMETRY_MOJOM_TRAITS_H_
#include "third_party/blink/public/platform/web_float_point.h"
#include "third_party/blink/public/platform/web_float_point_3d.h"
#include "third_party/blink/public/platform/web_float_rect.h"
#include "third_party/blink/public/platform/web_point.h"
#include "third_party/blink/public/platform/web_rect.h"
#include "third_party/blink/public/platform/web_size.h"
#include "third_party/blink/renderer/platform/geometry/float_point_3d.h"
#include "ui/gfx/geometry/mojom/geometry.mojom-blink.h"
namespace mojo {
......@@ -30,12 +30,12 @@ struct StructTraits<gfx::mojom::PointFDataView, ::blink::WebFloatPoint> {
};
template <>
struct StructTraits<gfx::mojom::Point3FDataView, ::blink::WebFloatPoint3D> {
struct StructTraits<gfx::mojom::Point3FDataView, ::blink::FloatPoint3D> {
static float x(const gfx::Point3F& p) { return p.x(); }
static float y(const gfx::Point3F& p) { return p.y(); }
static float z(const gfx::Point3F& p) { return p.z(); }
static bool Read(gfx::mojom::Point3FDataView data,
::blink::WebFloatPoint3D* out);
::blink::FloatPoint3D* out);
};
template <>
......
......@@ -8,6 +8,7 @@
#include "mojo/public/cpp/bindings/receiver_set.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/renderer/platform/geometry/float_point_3d.h"
#include "ui/gfx/geometry/mojom/geometry.mojom-blink.h"
#include "ui/gfx/geometry/mojom/geometry_traits_test_service.mojom-blink.h"
......@@ -40,7 +41,7 @@ class GeometryStructTraitsTest
std::move(callback).Run(p);
}
void EchoPoint3F(const WebFloatPoint3D& p,
void EchoPoint3F(const FloatPoint3D& p,
EchoPoint3FCallback callback) override {
std::move(callback).Run(p);
}
......@@ -142,10 +143,10 @@ TEST_F(GeometryStructTraitsTest, Point3D) {
const float kX = 1.234;
const float kY = 5.678;
const float kZ = 9.098;
WebFloatPoint3D input(kX, kY, kZ);
FloatPoint3D input(kX, kY, kZ);
mojo::Remote<gfx::mojom::blink::GeometryTraitsTestService> proxy =
GetTraitsTestProxy();
WebFloatPoint3D output;
FloatPoint3D output;
proxy->EchoPoint3F(input, &output);
EXPECT_EQ(input, output);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment