Commit b419bb16 authored by Ryan Daum's avatar Ryan Daum Committed by Commit Bot

Move chromecast accessibility manager.

Re-submission with fixes of cl 1081234 (reverted by 1087371.)

  * Move the cast AccessibilityManager into
    chromecast/browser/accessibility.
  * Only compile and create AccessibilityManager if extensions
    enabled.

Bug: none
Test: manual
Change-Id: Id81fdb1711af84d8eecefd2061cca061826df39a
Reviewed-on: https://chromium-review.googlesource.com/1087650Reviewed-by: default avatarAlex Sakhartchouk <alexst@chromium.org>
Reviewed-by: default avatarWez <wez@chromium.org>
Reviewed-by: default avatarSadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Ryan Daum <rdaum@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565023}
parent 43e6203f
......@@ -284,6 +284,8 @@ cast_source_set("browser") {
]
if (use_aura) {
sources += [
"accessibility/accessibility_manager.cc",
"accessibility/accessibility_manager.h",
"cast_web_view_extension.h",
"cast_web_view_extension.h",
"ui/aura/accessibility/automation_manager_aura.cc",
......@@ -309,6 +311,7 @@ cast_source_set("browser") {
"//extensions/common/api",
"//google_apis:google_apis",
"//ui/views:views",
"//ui/wm/public:public",
]
}
......
......@@ -49,6 +49,7 @@ include_rules = [
"+ui/display",
"+ui/ozone",
"+ui/views",
"+ui/wm",
# TODO(sanfin): Remove this by fixing the crash handler on android.
"!chromecast/app",
......
......@@ -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 "chromecast/graphics/accessibility/accessibility_manager.h"
#include "chromecast/browser/accessibility/accessibility_manager.h"
#include "chromecast/graphics/accessibility/focus_ring_controller.h"
#include "ui/aura/window.h"
......@@ -10,6 +10,7 @@
#include "ui/wm/public/activation_client.h"
namespace chromecast {
namespace shell {
AccessibilityManager::AccessibilityManager(
aura::WindowTreeHost* window_tree_host) {
......@@ -65,4 +66,5 @@ void AccessibilityManager::SetTouchAccessibilityAnchorPoint(
// TODO(rdaum): Implement
}
} // namespace shell
} // namespace chromecast
......@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROMECAST_GRAPHICS_ACCESSIBILITY_ACCESSIBILITY_MANAGER_H_
#define CHROMECAST_GRAPHICS_ACCESSIBILITY_ACCESSIBILITY_MANAGER_H_
#ifndef CHROMECAST_BROWSER_ACCESSIBILITY_ACCESSIBILITY_MANAGER_H_
#define CHROMECAST_BROWSER_ACCESSIBILITY_ACCESSIBILITY_MANAGER_H_
#include <memory>
#include <vector>
......@@ -18,6 +18,8 @@ namespace chromecast {
class FocusRingController;
namespace shell {
// Responsible for delegating chromecast browser process accessibility functions
// to the responsible party.
class AccessibilityManager {
......@@ -60,6 +62,7 @@ class AccessibilityManager {
accessibility_focus_ring_controller_;
};
} // namespace shell
} // namespace chromecast
#endif // CHROMECAST_GRAPHICS_ACCESSIBILITY_ACCESSIBILITY_MANAGER_H_
#endif // CHROMECAST_BROWSER_ACCESSIBILITY_ACCESSIBILITY_MANAGER_H_
......@@ -91,8 +91,8 @@
// gn check ignored on OverlayManagerCast as it's not a public ozone
// header, but is exported to allow injecting the overlay-composited
// callback.
#include "chromecast/browser/accessibility/accessibility_manager.h"
#include "chromecast/browser/cast_display_configurator.h"
#include "chromecast/graphics/accessibility/accessibility_manager.h"
#include "chromecast/graphics/cast_screen.h"
#include "chromecast/graphics/cast_window_manager_aura.h"
#include "components/viz/service/display/overlay_strategy_underlay_cast.h" // nogncheck
......@@ -535,12 +535,16 @@ void CastBrowserMainParts::PreMainMessageLoopRun() {
CAST_IS_DEBUG_BUILD() ||
GetSwitchValueBoolean(switches::kEnableInput, false));
window_manager_->Setup();
#if BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
cast_browser_process_->SetAccessibilityManager(
std::make_unique<AccessibilityManager>(
window_manager_->window_tree_host()));
#else
#endif // BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
#else // defined(USE_AURA)
window_manager_ = std::make_unique<CastWindowManagerDefault>();
#endif
#endif // defined(USE_AURA)
cast_browser_process_->SetCastService(
cast_browser_process_->browser_client()->CreateCastService(
......
......@@ -17,7 +17,11 @@
#include "components/prefs/pref_service.h"
#if defined(USE_AURA)
#include "chromecast/graphics/accessibility/accessibility_manager.h"
#if BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
#include "chromecast/browser/accessibility/accessibility_manager.h"
#endif // BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
#include "chromecast/graphics/cast_screen.h"
#endif // defined(USE_AURA)
......@@ -73,11 +77,14 @@ void CastBrowserProcess::SetCastScreen(
cast_screen_ = std::move(cast_screen);
}
#if BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
void CastBrowserProcess::SetAccessibilityManager(
std::unique_ptr<AccessibilityManager> accessibility_manager) {
DCHECK(!accessibility_manager_);
accessibility_manager_ = std::move(accessibility_manager);
}
#endif // BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
#endif // defined(USE_AURA)
void CastBrowserProcess::SetMetricsServiceClient(
......
......@@ -10,6 +10,7 @@
#include "base/macros.h"
#include "base/memory/ref_counted.h"
#include "build/build_config.h"
#include "chromecast/chromecast_buildflags.h"
class TtsController;
class PrefService;
......@@ -19,9 +20,6 @@ class NetLog;
} // namespace net
namespace chromecast {
#if defined(USE_AURA)
class AccessibilityManager;
#endif // defined(USE_AURA)
class CastService;
class CastScreen;
class ConnectivityChecker;
......@@ -31,6 +29,11 @@ class CastMetricsServiceClient;
} // namespace metrics
namespace shell {
#if defined(USE_AURA) && BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
class AccessibilityManager;
#endif // defined(USE_AURA) && BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
class CastBrowserContext;
class CastContentBrowserClient;
class RemoteDebuggingServer;
......@@ -49,8 +52,12 @@ class CastBrowserProcess {
void SetCastService(std::unique_ptr<CastService> cast_service);
#if defined(USE_AURA)
#if BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
void SetAccessibilityManager(
std::unique_ptr<AccessibilityManager> accessibility_manager);
#endif // BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
void SetCastScreen(std::unique_ptr<CastScreen> cast_screen);
#endif // defined(USE_AURA)
void SetMetricsServiceClient(
......@@ -71,9 +78,13 @@ class CastBrowserProcess {
CastService* cast_service() const { return cast_service_.get(); }
#if defined(USE_AURA)
CastScreen* cast_screen() const { return cast_screen_.get(); }
#if BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
AccessibilityManager* accessibility_manager() const {
return accessibility_manager_.get();
}
#endif // BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
#endif // defined(USE_AURA)
metrics::CastMetricsServiceClient* metrics_service_client() const {
return metrics_service_client_.get();
......@@ -93,7 +104,11 @@ class CastBrowserProcess {
// CastBrowserMainParts.
#if defined(USE_AURA)
std::unique_ptr<CastScreen> cast_screen_;
#if BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
std::unique_ptr<AccessibilityManager> accessibility_manager_;
#endif // BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
#endif // defined(USE_AURA)
std::unique_ptr<PrefService> pref_service_;
scoped_refptr<ConnectivityChecker> connectivity_checker_;
......
......@@ -4,9 +4,9 @@
#include "chromecast/browser/extensions/api/accessibility_private/accessibility_extension_api.h"
#include "chromecast/browser/accessibility/accessibility_manager.h"
#include "chromecast/browser/cast_browser_process.h"
#include "chromecast/common/extensions_api/accessibility_private.h"
#include "chromecast/graphics/accessibility/accessibility_manager.h"
#include "content/public/browser/browser_accessibility_state.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/common/service_manager_connection.h"
......
......@@ -32,8 +32,6 @@ cast_source_set("graphics") {
"accessibility/accessibility_highlight_layer.h",
"accessibility/accessibility_layer.cc",
"accessibility/accessibility_layer.h",
"accessibility/accessibility_manager.cc",
"accessibility/accessibility_manager.h",
"accessibility/accessibility_observer.h",
"accessibility/focus_ring_controller.cc",
"accessibility/focus_ring_controller.h",
......
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