Commit 2b11dda5 authored by Yuki Awano's avatar Yuki Awano Committed by Commit Bot

Remove observer in OnConnectionClosed

- Remove observer in OnConnectionClosed instead of Shutdown. Shutdown is
  called in different life cycle. OnConnectionReady can be called more
  than once for a single Shutdown call. It can cause helper bridge to
  register observer more than once.

Bug: 833731
Test: None
Change-Id: I7057f8d11364687f0d7f9fb5d3b5d213a18e18db
Reviewed-on: https://chromium-review.googlesource.com/1018781Reviewed-by: default avatarDavid Tseng <dtseng@chromium.org>
Commit-Queue: Yuki Awano <yawano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#552236}
parent 44896a2a
...@@ -193,10 +193,6 @@ void ArcAccessibilityHelperBridge::Shutdown() { ...@@ -193,10 +193,6 @@ void ArcAccessibilityHelperBridge::Shutdown() {
arc_bridge_service_->accessibility_helper()->RemoveObserver(this); arc_bridge_service_->accessibility_helper()->RemoveObserver(this);
arc_bridge_service_->accessibility_helper()->SetHost(nullptr); arc_bridge_service_->accessibility_helper()->SetHost(nullptr);
auto* surface_manager = ArcNotificationSurfaceManager::Get();
if (surface_manager)
surface_manager->RemoveObserver(this);
} }
void ArcAccessibilityHelperBridge::OnConnectionReady() { void ArcAccessibilityHelperBridge::OnConnectionReady() {
...@@ -216,6 +212,12 @@ void ArcAccessibilityHelperBridge::OnConnectionReady() { ...@@ -216,6 +212,12 @@ void ArcAccessibilityHelperBridge::OnConnectionReady() {
surface_manager->AddObserver(this); surface_manager->AddObserver(this);
} }
void ArcAccessibilityHelperBridge::OnConnectionClosed() {
auto* surface_manager = ArcNotificationSurfaceManager::Get();
if (surface_manager)
surface_manager->RemoveObserver(this);
}
void ArcAccessibilityHelperBridge::OnAccessibilityEventDeprecated( void ArcAccessibilityHelperBridge::OnAccessibilityEventDeprecated(
mojom::AccessibilityEventType event_type, mojom::AccessibilityEventType event_type,
mojom::AccessibilityNodeInfoDataPtr event_source) { mojom::AccessibilityNodeInfoDataPtr event_source) {
......
...@@ -63,6 +63,7 @@ class ArcAccessibilityHelperBridge ...@@ -63,6 +63,7 @@ class ArcAccessibilityHelperBridge
// ConnectionObserver<mojom::AccessibilityHelperInstance> overrides. // ConnectionObserver<mojom::AccessibilityHelperInstance> overrides.
void OnConnectionReady() override; void OnConnectionReady() override;
void OnConnectionClosed() override;
// mojom::AccessibilityHelperHost overrides. // mojom::AccessibilityHelperHost overrides.
void OnAccessibilityEventDeprecated( void OnAccessibilityEventDeprecated(
......
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