Skip to content

Commit

Permalink
Reland "Rename AXTreeIDRegistry to AXActionHandlerRegistry"
Browse files Browse the repository at this point in the history
This is a reland of 4e383b0
The original CL had a compile-time error due to another CL landing at a
similar time.

Original change's description:
> Rename AXTreeIDRegistry to AXActionHandlerRegistry
>
> This CL is a refactor with no intended behavior change.
>
> Bug: 1185764
> Change-Id: I67445850c293b5d5146039137259ae8bc259eafb
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2765724
> Reviewed-by: David Tseng <dtseng@chromium.org>
> Reviewed-by: Avi Drissman <avi@chromium.org>
> Reviewed-by: Sean Topping <seantopping@chromium.org>
> Commit-Queue: Erik Chen <erikchen@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#863660}

AX-Relnotes: n/a.
Bug: 1185764
Change-Id: Ic3732cf50ffb2c1fe9097d6dc170b4d792e77f2f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2768219
Reviewed-by: Sean Topping <seantopping@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#864071}
  • Loading branch information
erikchen authored and Chromium LUCI CQ committed Mar 18, 2021
1 parent e6b063c commit 2ccece5
Show file tree
Hide file tree
Showing 20 changed files with 68 additions and 60 deletions.
1 change: 0 additions & 1 deletion chrome/browser/ash/crosapi/automation_ash.cc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
#include "components/version_info/channel.h"
#include "extensions/browser/api/automation_internal/automation_event_router.h"
#include "extensions/common/extension_messages.h"
#include "ui/accessibility/ax_tree_id_registry.h"
#include "ui/views/widget/widget.h"
#include "ui/views/widget/widget_delegate.h"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
#include "ui/accessibility/aura/aura_window_properties.h"
#include "ui/accessibility/ax_action_data.h"
#include "ui/accessibility/ax_action_handler_base.h"
#include "ui/accessibility/ax_action_handler_registry.h"
#include "ui/accessibility/ax_enum_util.h"
#include "ui/accessibility/ax_enums.mojom.h"
#include "ui/accessibility/ax_event.h"
#include "ui/accessibility/ax_tree_id_registry.h"
#include "ui/accessibility/ax_tree_source_checker.h"
#include "ui/aura/env.h"
#include "ui/aura/window.h"
Expand Down Expand Up @@ -303,7 +303,8 @@ void AutomationManagerAura::PerformHitTest(
// If the window has a child AX tree ID, forward the action to the
// associated AXActionHandlerBase.
if (child_ax_tree_id != ui::AXTreeIDUnknown()) {
ui::AXTreeIDRegistry* registry = ui::AXTreeIDRegistry::GetInstance();
ui::AXActionHandlerRegistry* registry =
ui::AXActionHandlerRegistry::GetInstance();
ui::AXActionHandlerBase* action_handler =
registry->GetActionHandler(child_ax_tree_id);
CHECK(action_handler);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@ void FindAllHostsOfWebContentsWithAXTreeID(

// A helper to retrieve an ax tree id given a RenderFrameHost.
ui::AXTreeID GetAXTreeIDFromRenderFrameHost(content::RenderFrameHost* rfh) {
auto* registry = ui::AXTreeIDRegistry::GetInstance();
return registry->GetAXTreeID(ui::AXTreeIDRegistry::FrameID(
auto* registry = ui::AXActionHandlerRegistry::GetInstance();
return registry->GetAXTreeID(ui::AXActionHandlerRegistry::FrameID(
rfh->GetProcess()->GetID(), rfh->GetRoutingID()));
}

Expand Down Expand Up @@ -424,8 +424,9 @@ IN_PROC_BROWSER_TEST_F(AutomationManagerAuraBrowserTest,
}

IN_PROC_BROWSER_TEST_F(AutomationManagerAuraBrowserTest,
AXTreeIDRegistryUpdates) {
ui::AXTreeIDRegistry* registry = ui::AXTreeIDRegistry::GetInstance();
AXActionHandlerRegistryUpdates) {
ui::AXActionHandlerRegistry* registry =
ui::AXActionHandlerRegistry::GetInstance();
AutomationManagerAura* manager = AutomationManagerAura::GetInstance();
ui::AXTreeID tree_id = manager->ax_tree_id();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include "chromecast/browser/cast_web_contents.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/web_contents.h"
#include "ui/accessibility/ax_tree_id_registry.h"
#include "ui/accessibility/ax_action_handler_registry.h"

using gallium::castos::ActionProperties;
using gallium::castos::BooleanProperties;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
#include "extensions/browser/api/automation_internal/automation_event_router_interface.h"
#include "ui/accessibility/aura/aura_window_properties.h"
#include "ui/accessibility/ax_action_data.h"
#include "ui/accessibility/ax_action_handler_registry.h"
#include "ui/accessibility/ax_enum_util.h"
#include "ui/accessibility/ax_enums.mojom.h"
#include "ui/accessibility/ax_event.h"
#include "ui/accessibility/ax_tree_id_registry.h"
#include "ui/aura/env.h"
#include "ui/aura/window.h"
#include "ui/aura/window_tree_host.h"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
using content::IsUseZoomForDSFEnabled;
using content::OneShotAccessibilityTreeSearch;
using ui::AXNodeData;
using ui::AXTreeIDRegistry;
using ui::AXActionHandlerRegistry;

static_assert(
std::is_trivially_copyable<BrowserAccessibility::SerializedPosition>::value,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@
#include "content/public/browser/web_contents_observer.h"
#include "third_party/blink/public/web/web_ax_enums.h"
#include "ui/accessibility/ax_action_data.h"
#include "ui/accessibility/ax_action_handler_registry.h"
#include "ui/accessibility/ax_event_generator.h"
#include "ui/accessibility/ax_node.h"
#include "ui/accessibility/ax_node_data.h"
#include "ui/accessibility/ax_node_position.h"
#include "ui/accessibility/ax_range.h"
#include "ui/accessibility/ax_serializable_tree.h"
#include "ui/accessibility/ax_tree.h"
#include "ui/accessibility/ax_tree_id_registry.h"
#include "ui/accessibility/ax_tree_manager.h"
#include "ui/accessibility/ax_tree_observer.h"
#include "ui/accessibility/ax_tree_update.h"
Expand Down
13 changes: 7 additions & 6 deletions content/browser/renderer_host/render_frame_host_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -248,9 +248,9 @@
#include "third_party/blink/public/mojom/timing/resource_timing.mojom.h"
#include "third_party/blink/public/mojom/usb/web_usb_service.mojom.h"
#include "third_party/blink/public/mojom/webauthn/virtual_authenticator.mojom.h"
#include "ui/accessibility/ax_action_handler_registry.h"
#include "ui/accessibility/ax_common.h"
#include "ui/accessibility/ax_tree.h"
#include "ui/accessibility/ax_tree_id_registry.h"
#include "ui/accessibility/ax_tree_update.h"
#include "ui/events/event_constants.h"
#include "ui/gfx/geometry/quad_f.h"
Expand Down Expand Up @@ -1032,8 +1032,8 @@ RenderFrameHost* RenderFrameHost::FromAXTreeID(ui::AXTreeID ax_tree_id) {
RenderFrameHostImpl* RenderFrameHostImpl::FromAXTreeID(
ui::AXTreeID ax_tree_id) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
ui::AXTreeIDRegistry::FrameID frame_id =
ui::AXTreeIDRegistry::GetInstance()->GetFrameID(ax_tree_id);
ui::AXActionHandlerRegistry::FrameID frame_id =
ui::AXActionHandlerRegistry::GetInstance()->GetFrameID(ax_tree_id);
return RenderFrameHostImpl::FromID(frame_id.first, frame_id.second);
}

Expand Down Expand Up @@ -10568,11 +10568,12 @@ void RenderFrameHostImpl::SetEmbeddingToken(
embedding_token_ = embedding_token;

// The AXTreeID of a frame is backed by its embedding token, so we need to
// update its AXTreeID, as well as the associated mapping in AXTreeIDRegistry.
// update its AXTreeID, as well as the associated mapping in
// AXActionHandlerRegistry.
ui::AXTreeID ax_tree_id = ui::AXTreeID::FromToken(embedding_token);
SetAXTreeID(ax_tree_id);
ui::AXTreeIDRegistry::GetInstance()->SetFrameIDForAXTreeID(
ui::AXTreeIDRegistry::FrameID(GetProcess()->GetID(), routing_id_),
ui::AXActionHandlerRegistry::GetInstance()->SetFrameIDForAXTreeID(
ui::AXActionHandlerRegistry::FrameID(GetProcess()->GetID(), routing_id_),
ax_tree_id);

// Also important to notify the delegate so that the relevant observers can
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
#include "third_party/blink/public/mojom/input/input_event_result.mojom-shared.h"
#include "third_party/blink/public/mojom/page/record_content_to_visible_time_request.mojom-forward.h"
#include "third_party/skia/include/core/SkImageInfo.h"
#include "ui/accessibility/ax_tree_id_registry.h"
#include "ui/accessibility/ax_action_handler_registry.h"
#include "ui/base/ime/mojom/text_input_state.mojom-forward.h"
#include "ui/base/ime/text_input_mode.h"
#include "ui/base/ime/text_input_type.h"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@
#include "extensions/common/permissions/permissions_data.h"
#include "ui/accessibility/ax_action_data.h"
#include "ui/accessibility/ax_action_handler_base.h"
#include "ui/accessibility/ax_action_handler_registry.h"
#include "ui/accessibility/ax_enum_util.h"
#include "ui/accessibility/ax_tree_id_registry.h"

#if defined(USE_AURA)
#include "ui/aura/env.h"
Expand Down Expand Up @@ -353,7 +353,8 @@ ExtensionFunction::ResponseAction AutomationInternalEnableTreeFunction::Run() {
EXTENSION_FUNCTION_VALIDATE(params.get());

ui::AXTreeID ax_tree_id = ui::AXTreeID::FromString(params->tree_id);
ui::AXTreeIDRegistry* registry = ui::AXTreeIDRegistry::GetInstance();
ui::AXActionHandlerRegistry* registry =
ui::AXActionHandlerRegistry::GetInstance();
ui::AXActionHandlerBase* action_handler =
registry->GetActionHandler(ax_tree_id);
if (action_handler) {
Expand Down Expand Up @@ -590,7 +591,8 @@ AutomationInternalPerformActionFunction::Run() {
using api::automation_internal::PerformAction::Params;
std::unique_ptr<Params> params(Params::Create(*args_));
EXTENSION_FUNCTION_VALIDATE(params.get());
ui::AXTreeIDRegistry* registry = ui::AXTreeIDRegistry::GetInstance();
ui::AXActionHandlerRegistry* registry =
ui::AXActionHandlerRegistry::GetInstance();
ui::AXActionHandlerBase* action_handler = registry->GetActionHandler(
ui::AXTreeID::FromString(params->args.tree_id));
if (action_handler) {
Expand Down
4 changes: 2 additions & 2 deletions ui/accessibility/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ component("ax_base") {
"ax_action_handler.h",
"ax_action_handler_base.cc",
"ax_action_handler_base.h",
"ax_action_handler_registry.cc",
"ax_action_handler_registry.h",
"ax_base_export.h",
"ax_enum_util.cc",
"ax_enum_util.h",
Expand All @@ -69,8 +71,6 @@ component("ax_base") {
"ax_tree_data.h",
"ax_tree_id.cc",
"ax_tree_id.h",
"ax_tree_id_registry.cc",
"ax_tree_id_registry.h",
"ax_tree_update.cc",
"ax_tree_update.h",
"ax_tree_update_forward.h",
Expand Down
4 changes: 2 additions & 2 deletions ui/accessibility/ax_action_handler.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@

#include "ui/accessibility/ax_action_handler.h"

#include "ui/accessibility/ax_tree_id_registry.h"
#include "ui/accessibility/ax_action_handler_registry.h"

namespace ui {

AXActionHandler::AXActionHandler()
: AXActionHandlerBase(
AXTreeIDRegistry::GetInstance()->GetOrCreateAXTreeID(this)) {}
AXActionHandlerRegistry::GetInstance()->GetOrCreateAXTreeID(this)) {}

} // namespace ui
3 changes: 2 additions & 1 deletion ui/accessibility/ax_action_handler.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ namespace ui {

// The class you normally want to inherit from other classes when you want to
// make them visible to accessibility clients, since it automatically registers
// a valid AXTreeID with the AXTreeIDRegistry when constructing the instance.
// a valid AXTreeID with the AXActionHandlerRegistry when constructing the
// instance.
//
// If you need more control over how the AXTreeID associated to this class is
// set, please inherit directly from AXActionHandlerBase instead.
Expand Down
8 changes: 4 additions & 4 deletions ui/accessibility/ax_action_handler_base.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

#include "ui/accessibility/ax_action_handler_base.h"

#include "ui/accessibility/ax_tree_id_registry.h"
#include "ui/accessibility/ax_action_handler_registry.h"

namespace ui {

Expand All @@ -19,14 +19,14 @@ AXActionHandlerBase::AXActionHandlerBase(const AXTreeID& ax_tree_id)
: tree_id_(ax_tree_id) {}

AXActionHandlerBase::~AXActionHandlerBase() {
AXTreeIDRegistry::GetInstance()->RemoveAXTreeID(tree_id_);
AXActionHandlerRegistry::GetInstance()->RemoveAXTreeID(tree_id_);
}

void AXActionHandlerBase::SetAXTreeID(AXTreeID new_ax_tree_id) {
DCHECK_NE(new_ax_tree_id, ui::AXTreeIDUnknown());
AXTreeIDRegistry::GetInstance()->RemoveAXTreeID(tree_id_);
AXActionHandlerRegistry::GetInstance()->RemoveAXTreeID(tree_id_);
tree_id_ = new_ax_tree_id;
AXTreeIDRegistry::GetInstance()->SetAXTreeID(tree_id_, this);
AXActionHandlerRegistry::GetInstance()->SetAXTreeID(tree_id_, this);
}

} // namespace ui
2 changes: 1 addition & 1 deletion ui/accessibility/ax_action_handler_base.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ class AX_BASE_EXPORT AXActionHandlerBase {
void SetAXTreeID(AXTreeID new_ax_tree_id);

private:
// Register or unregister this class with |AXTreeIDRegistry|.
// Register or unregister this class with |AXActionHandlerRegistry|.
void UpdateActiveState(bool active);

// Manually set in this base class, but automatically set by instances of the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "ui/accessibility/ax_tree_id_registry.h"
#include "ui/accessibility/ax_action_handler_registry.h"

#include "base/memory/singleton.h"
#include "base/strings/string_number_conversions.h"
Expand All @@ -11,12 +11,13 @@
namespace ui {

// static
AXTreeIDRegistry* AXTreeIDRegistry::GetInstance() {
return base::Singleton<AXTreeIDRegistry>::get();
AXActionHandlerRegistry* AXActionHandlerRegistry::GetInstance() {
return base::Singleton<AXActionHandlerRegistry>::get();
}

void AXTreeIDRegistry::SetFrameIDForAXTreeID(const FrameID& frame_id,
const AXTreeID& ax_tree_id) {
void AXActionHandlerRegistry::SetFrameIDForAXTreeID(
const FrameID& frame_id,
const AXTreeID& ax_tree_id) {
auto it = frame_to_ax_tree_id_map_.find(frame_id);
if (it != frame_to_ax_tree_id_map_.end()) {
NOTREACHED();
Expand All @@ -27,7 +28,7 @@ void AXTreeIDRegistry::SetFrameIDForAXTreeID(const FrameID& frame_id,
ax_tree_to_frame_id_map_[ax_tree_id] = frame_id;
}

AXTreeIDRegistry::FrameID AXTreeIDRegistry::GetFrameID(
AXActionHandlerRegistry::FrameID AXActionHandlerRegistry::GetFrameID(
const AXTreeID& ax_tree_id) {
auto it = ax_tree_to_frame_id_map_.find(ax_tree_id);
if (it != ax_tree_to_frame_id_map_.end())
Expand All @@ -36,15 +37,17 @@ AXTreeIDRegistry::FrameID AXTreeIDRegistry::GetFrameID(
return FrameID(-1, -1);
}

AXTreeID AXTreeIDRegistry::GetAXTreeID(AXTreeIDRegistry::FrameID frame_id) {
AXTreeID AXActionHandlerRegistry::GetAXTreeID(
AXActionHandlerRegistry::FrameID frame_id) {
auto it = frame_to_ax_tree_id_map_.find(frame_id);
if (it != frame_to_ax_tree_id_map_.end())
return it->second;

return ui::AXTreeIDUnknown();
}

AXTreeID AXTreeIDRegistry::GetOrCreateAXTreeID(AXActionHandlerBase* handler) {
AXTreeID AXActionHandlerRegistry::GetOrCreateAXTreeID(
AXActionHandlerBase* handler) {
for (auto it : id_to_action_handler_) {
if (it.second == handler)
return it.first;
Expand All @@ -54,20 +57,21 @@ AXTreeID AXTreeIDRegistry::GetOrCreateAXTreeID(AXActionHandlerBase* handler) {
return new_id;
}

AXActionHandlerBase* AXTreeIDRegistry::GetActionHandler(AXTreeID ax_tree_id) {
AXActionHandlerBase* AXActionHandlerRegistry::GetActionHandler(
AXTreeID ax_tree_id) {
auto it = id_to_action_handler_.find(ax_tree_id);
if (it == id_to_action_handler_.end())
return nullptr;
return it->second;
}

void AXTreeIDRegistry::SetAXTreeID(const ui::AXTreeID& id,
AXActionHandlerBase* action_handler) {
void AXActionHandlerRegistry::SetAXTreeID(const ui::AXTreeID& id,
AXActionHandlerBase* action_handler) {
DCHECK(id_to_action_handler_.find(id) == id_to_action_handler_.end());
id_to_action_handler_[id] = action_handler;
}

void AXTreeIDRegistry::RemoveAXTreeID(AXTreeID ax_tree_id) {
void AXActionHandlerRegistry::RemoveAXTreeID(AXTreeID ax_tree_id) {
auto frame_it = ax_tree_to_frame_id_map_.find(ax_tree_id);
if (frame_it != ax_tree_to_frame_id_map_.end()) {
frame_to_ax_tree_id_map_.erase(frame_it->second);
Expand All @@ -79,9 +83,8 @@ void AXTreeIDRegistry::RemoveAXTreeID(AXTreeID ax_tree_id) {
id_to_action_handler_.erase(action_it);
}

AXTreeIDRegistry::AXTreeIDRegistry() {
}
AXActionHandlerRegistry::AXActionHandlerRegistry() {}

AXTreeIDRegistry::~AXTreeIDRegistry() {}
AXActionHandlerRegistry::~AXActionHandlerRegistry() {}

} // namespace ui
Loading

0 comments on commit 2ccece5

Please sign in to comment.