Commit b11c5b64 authored by Lei Zhang's avatar Lei Zhang Committed by Commit Bot

Fix some nits in AXAuraObjCache and AXViewObjWrapper.

Change-Id: I2d2be9d78f2fdc36929fafac0986b4b58ca0efa2
Reviewed-on: https://chromium-review.googlesource.com/1121635
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: default avatarDominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571972}
parent cecbfb20
......@@ -4,7 +4,6 @@
#include "ui/views/accessibility/ax_aura_obj_cache.h"
#include "base/memory/ptr_util.h"
#include "base/memory/singleton.h"
#include "base/strings/string_util.h"
#include "ui/aura/client/aura_constants.h"
......@@ -70,8 +69,9 @@ void AXAuraObjCache::Remove(Widget* widget) {
// When an entire widget is deleted, it doesn't always send a notification
// on each of its views, so we need to explore them recursively.
if (widget->GetRootView())
RemoveViewSubtree(widget->GetRootView());
auto* view = widget->GetRootView();
if (view)
RemoveViewSubtree(view);
}
void AXAuraObjCache::Remove(aura::Window* window, aura::Window* parent) {
......@@ -84,28 +84,14 @@ void AXAuraObjCache::Remove(aura::Window* window, aura::Window* parent) {
AXAuraObjWrapper* AXAuraObjCache::Get(int32_t id) {
auto it = cache_.find(id);
if (it == cache_.end())
return nullptr;
return it->second.get();
}
void AXAuraObjCache::Remove(int32_t id) {
AXAuraObjWrapper* obj = Get(id);
if (id == -1 || !obj)
return;
cache_.erase(id);
return it != cache_.end() ? it->second.get() : nullptr;
}
void AXAuraObjCache::GetTopLevelWindows(
std::vector<AXAuraObjWrapper*>* children) {
for (auto it = window_to_id_map_.begin(); it != window_to_id_map_.end();
++it) {
if (!it->first->parent())
children->push_back(GetOrCreate(it->first));
for (const auto& it : window_to_id_map_) {
if (!it.first->parent())
children->push_back(GetOrCreate(it.first));
}
}
......@@ -213,11 +199,11 @@ AXAuraObjWrapper* AXAuraObjCache::CreateInternal(
if (it != aura_view_to_id_map.end())
return Get(it->second);
AXAuraObjWrapper* wrapper = new AuraViewWrapper(aura_view);
auto wrapper = std::make_unique<AuraViewWrapper>(aura_view);
int32_t id = wrapper->GetUniqueId().Get();
aura_view_to_id_map[aura_view] = id;
cache_[id] = base::WrapUnique(wrapper);
return wrapper;
cache_[id] = std::move(wrapper);
return cache_[id].get();
}
template <typename AuraView>
......@@ -228,10 +214,7 @@ int32_t AXAuraObjCache::GetIDInternal(
return -1;
auto it = aura_view_to_id_map.find(aura_view);
if (it != aura_view_to_id_map.end())
return it->second;
return -1;
return it != aura_view_to_id_map.end() ? it->second : -1;
}
template <typename AuraView>
......@@ -242,7 +225,7 @@ void AXAuraObjCache::RemoveInternal(
if (id == -1)
return;
aura_view_to_id_map.erase(aura_view);
Remove(id);
cache_.erase(id);
}
} // namespace views
......@@ -69,9 +69,6 @@ class VIEWS_EXPORT AXAuraObjCache : public aura::client::FocusChangeObserver {
// Lookup a cached entry based on an id.
AXAuraObjWrapper* Get(int32_t id);
// Remove a cached entry based on an id.
void Remove(int32_t id);
// Get all top level windows this cache knows about.
void GetTopLevelWindows(std::vector<AXAuraObjWrapper*>* children);
......
......@@ -4,10 +4,8 @@
#include "ui/views/accessibility/ax_view_obj_wrapper.h"
#include "base/strings/utf_string_conversions.h"
#include "ui/accessibility/ax_action_data.h"
#include "ui/accessibility/ax_node_data.h"
#include "ui/events/event_utils.h"
#include "ui/views/accessibility/ax_aura_obj_cache.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/view.h"
......@@ -30,7 +28,7 @@ AXAuraObjWrapper* AXViewObjWrapper::GetParent() {
if (view_->GetWidget())
return cache->GetOrCreate(view_->GetWidget());
return NULL;
return nullptr;
}
void AXViewObjWrapper::GetChildren(
......
......@@ -29,7 +29,7 @@ class AXViewObjWrapper : public AXAuraObjWrapper {
bool HandleAccessibleAction(const ui::AXActionData& action) override;
private:
View* view_;
View* const view_;
DISALLOW_COPY_AND_ASSIGN(AXViewObjWrapper);
};
......
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