Commit 36ea08c4 authored by Anna Offenwanger's avatar Anna Offenwanger Committed by Commit Bot

Removing an unneeded Untraced from vr_display

Untraced should be avoided where possible.

Bug: 874627
Cq-Include-Trybots: luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I1e9c4ed7e800362f3a4b9a7ecd5aaf148ddd8a9a
Reviewed-on: https://chromium-review.googlesource.com/1180166Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Commit-Queue: Anna Offenwanger <offenwanger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584482}
parent 4a6986f2
...@@ -120,6 +120,9 @@ void SessionClientBinding::OnBlur() { ...@@ -120,6 +120,9 @@ void SessionClientBinding::OnBlur() {
void SessionClientBinding::OnFocus() { void SessionClientBinding::OnFocus() {
display_->OnFocus(is_immersive_); display_->OnFocus(is_immersive_);
}; };
void SessionClientBinding::Trace(blink::Visitor* visitor) {
visitor->Trace(display_);
}
VRDisplay::VRDisplay(NavigatorVR* navigator_vr, VRDisplay::VRDisplay(NavigatorVR* navigator_vr,
device::mojom::blink::XRDevicePtr device) device::mojom::blink::XRDevicePtr device)
...@@ -560,7 +563,7 @@ void VRDisplay::OnRequestImmersiveSessionReturned( ...@@ -560,7 +563,7 @@ void VRDisplay::OnRequestImmersiveSessionReturned(
if (immersive_client_binding_) if (immersive_client_binding_)
immersive_client_binding_->Close(); immersive_client_binding_->Close();
immersive_client_binding_ = std::make_unique<SessionClientBinding>( immersive_client_binding_ = new SessionClientBinding(
this, false, std::move(session->client_request)); this, false, std::move(session->client_request));
Update(std::move(session->display_info)); Update(std::move(session->display_info));
...@@ -585,8 +588,8 @@ void VRDisplay::OnNonImmersiveSessionRequestReturned( ...@@ -585,8 +588,8 @@ void VRDisplay::OnNonImmersiveSessionRequestReturned(
return; return;
} }
non_immersive_provider_.Bind(std::move(session->data_provider)); non_immersive_provider_.Bind(std::move(session->data_provider));
non_immersive_client_binding_ = std::make_unique<SessionClientBinding>( non_immersive_client_binding_ =
this, false, std::move(session->client_request)); new SessionClientBinding(this, false, std::move(session->client_request));
RequestVSync(); RequestVSync();
} }
...@@ -1184,6 +1187,8 @@ void VRDisplay::Trace(blink::Visitor* visitor) { ...@@ -1184,6 +1187,8 @@ void VRDisplay::Trace(blink::Visitor* visitor) {
visitor->Trace(rendering_context_); visitor->Trace(rendering_context_);
visitor->Trace(frame_transport_); visitor->Trace(frame_transport_);
visitor->Trace(scripted_animation_controller_); visitor->Trace(scripted_animation_controller_);
visitor->Trace(non_immersive_client_binding_);
visitor->Trace(immersive_client_binding_);
visitor->Trace(pending_present_resolvers_); visitor->Trace(pending_present_resolvers_);
EventTargetWithInlineData::Trace(visitor); EventTargetWithInlineData::Trace(visitor);
ContextLifecycleObserver::Trace(visitor); ContextLifecycleObserver::Trace(visitor);
......
...@@ -41,7 +41,9 @@ class WebGLRenderingContextBase; ...@@ -41,7 +41,9 @@ class WebGLRenderingContextBase;
// Wrapper class to allow the VRDisplay to distinguish between immersive and // Wrapper class to allow the VRDisplay to distinguish between immersive and
// non-immersive XRSession events. // non-immersive XRSession events.
class SessionClientBinding : public device::mojom::blink::XRSessionClient { class SessionClientBinding
: public GarbageCollectedFinalized<SessionClientBinding>,
public device::mojom::blink::XRSessionClient {
public: public:
SessionClientBinding(VRDisplay* display, SessionClientBinding(VRDisplay* display,
bool is_immersive, bool is_immersive,
...@@ -49,6 +51,8 @@ class SessionClientBinding : public device::mojom::blink::XRSessionClient { ...@@ -49,6 +51,8 @@ class SessionClientBinding : public device::mojom::blink::XRSessionClient {
~SessionClientBinding() override; ~SessionClientBinding() override;
void Close(); void Close();
void Trace(blink::Visitor*);
private: private:
void OnChanged(device::mojom::blink::VRDisplayInfoPtr) override; void OnChanged(device::mojom::blink::VRDisplayInfoPtr) override;
void OnExitPresent() override; void OnExitPresent() override;
...@@ -57,7 +61,7 @@ class SessionClientBinding : public device::mojom::blink::XRSessionClient { ...@@ -57,7 +61,7 @@ class SessionClientBinding : public device::mojom::blink::XRSessionClient {
// VRDisplay keeps all references to SessionClientBinding, so as soon as // VRDisplay keeps all references to SessionClientBinding, so as soon as
// VRDisplay is destroyed, so is the SessionClientBinding. // VRDisplay is destroyed, so is the SessionClientBinding.
UntracedMember<VRDisplay> display_; Member<VRDisplay> display_;
bool is_immersive_; bool is_immersive_;
mojo::Binding<device::mojom::blink::XRSessionClient> client_binding_; mojo::Binding<device::mojom::blink::XRSessionClient> client_binding_;
}; };
...@@ -250,8 +254,8 @@ class VRDisplay final : public EventTargetWithInlineData, ...@@ -250,8 +254,8 @@ class VRDisplay final : public EventTargetWithInlineData,
bool present_image_needs_copy_ = false; bool present_image_needs_copy_ = false;
std::unique_ptr<SessionClientBinding> non_immersive_client_binding_; Member<SessionClientBinding> non_immersive_client_binding_;
std::unique_ptr<SessionClientBinding> immersive_client_binding_; Member<SessionClientBinding> immersive_client_binding_;
mojo::Binding<device::mojom::blink::VRDisplayClient> display_client_binding_; mojo::Binding<device::mojom::blink::VRDisplayClient> display_client_binding_;
device::mojom::blink::XRFrameDataProviderPtr vr_presentation_data_provider_; device::mojom::blink::XRFrameDataProviderPtr vr_presentation_data_provider_;
device::mojom::blink::XRPresentationProviderPtr vr_presentation_provider_; device::mojom::blink::XRPresentationProviderPtr vr_presentation_provider_;
......
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