[Views AX] Prefer WrapUnique in BrowserAccessibility*::Create
In preparation of moving BrowserAccessibility and
BrowserAccessibilityManager to the ui/ layer, I am cleaning up anything
that can be done ahead of time. Using the default constructor of
unique_ptr creates a presubmit error, as std::make_unique or
base::WraptUnique is preferred.
Moving BrowserAccessibility and BrowserAccessibilityManager to the UI
layer will allow us to share the functionality of these classes with
Views as well, allowing us to have a consistent accessibility
implementation, while also enabling Views to utilize our caching
mechanisms, allowing us to stop recomputing everything on each
accessibility API call to views.
Bug: 40672441
Change-Id: Ifdd5a71517ce9285643c2a08e4760b8c3c4459ad
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5444259
Reviewed-by: Javier Contreras <javiercon@microsoft.com>
Reviewed-by: Benjamin Beaudry <benjamin.beaudry@microsoft.com>
Commit-Queue: Jacques Newman <janewman@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1285476}
diff --git a/content/browser/accessibility/browser_accessibility.cc b/content/browser/accessibility/browser_accessibility.cc
index 1636bae..e164a66 100644
--- a/content/browser/accessibility/browser_accessibility.cc
+++ b/content/browser/accessibility/browser_accessibility.cc
@@ -11,6 +11,7 @@
#include "base/containers/contains.h"
#include "base/debug/dump_without_crashing.h"
#include "base/logging.h"
+#include "base/memory/ptr_util.h"
#include "base/ranges/algorithm.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
@@ -46,8 +47,7 @@
std::unique_ptr<BrowserAccessibility> BrowserAccessibility::Create(
BrowserAccessibilityManager* manager,
ui::AXNode* node) {
- return std::unique_ptr<BrowserAccessibility>(
- new BrowserAccessibility(manager, node));
+ return base::WrapUnique(new BrowserAccessibility(manager, node));
}
#endif // !BUILDFLAG(HAS_PLATFORM_ACCESSIBILITY_SUPPORT)
diff --git a/content/browser/accessibility/browser_accessibility_android.cc b/content/browser/accessibility/browser_accessibility_android.cc
index acacc03a..6deb03e9 100644
--- a/content/browser/accessibility/browser_accessibility_android.cc
+++ b/content/browser/accessibility/browser_accessibility_android.cc
@@ -11,6 +11,7 @@
#include "base/functional/bind.h"
#include "base/i18n/break_iterator.h"
#include "base/lazy_instance.h"
+#include "base/memory/ptr_util.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
@@ -81,8 +82,7 @@
std::unique_ptr<BrowserAccessibility> BrowserAccessibility::Create(
BrowserAccessibilityManager* manager,
ui::AXNode* node) {
- return std::unique_ptr<BrowserAccessibilityAndroid>(
- new BrowserAccessibilityAndroid(manager, node));
+ return base::WrapUnique(new BrowserAccessibilityAndroid(manager, node));
}
using UniqueIdMap = std::unordered_map<int32_t, BrowserAccessibilityAndroid*>;
diff --git a/content/browser/accessibility/browser_accessibility_mac.mm b/content/browser/accessibility/browser_accessibility_mac.mm
index 3d607c07..5e72bd2e 100644
--- a/content/browser/accessibility/browser_accessibility_mac.mm
+++ b/content/browser/accessibility/browser_accessibility_mac.mm
@@ -7,6 +7,7 @@
#import <Cocoa/Cocoa.h>
#include "base/debug/stack_trace.h"
+#include "base/memory/ptr_util.h"
#include "base/memory/scoped_policy.h"
#import "base/task/single_thread_task_runner.h"
#include "base/task/single_thread_task_runner.h"
@@ -20,8 +21,7 @@
std::unique_ptr<BrowserAccessibility> BrowserAccessibility::Create(
BrowserAccessibilityManager* manager,
ui::AXNode* node) {
- return std::unique_ptr<BrowserAccessibilityMac>(
- new BrowserAccessibilityMac(manager, node));
+ return base::WrapUnique(new BrowserAccessibilityMac(manager, node));
}
BrowserAccessibilityMac::BrowserAccessibilityMac(
diff --git a/content/browser/accessibility/browser_accessibility_win.cc b/content/browser/accessibility/browser_accessibility_win.cc
index 08d84cd70..ee2c6912 100644
--- a/content/browser/accessibility/browser_accessibility_win.cc
+++ b/content/browser/accessibility/browser_accessibility_win.cc
@@ -4,10 +4,10 @@
#include "content/browser/accessibility/browser_accessibility_win.h"
+#include "base/memory/ptr_util.h"
#include "content/browser/accessibility/browser_accessibility_manager.h"
#include "content/browser/accessibility/browser_accessibility_manager_win.h"
#include "content/browser/accessibility/browser_accessibility_state_impl.h"
-
#include "ui/base/win/atl_module.h"
namespace content {
@@ -16,8 +16,7 @@
std::unique_ptr<BrowserAccessibility> BrowserAccessibility::Create(
BrowserAccessibilityManager* manager,
ui::AXNode* node) {
- return std::unique_ptr<BrowserAccessibilityWin>(
- new BrowserAccessibilityWin(manager, node));
+ return base::WrapUnique(new BrowserAccessibilityWin(manager, node));
}
BrowserAccessibilityWin::BrowserAccessibilityWin(