Introduce AutomationController for using UIAutomation in Chrome

Refactor most of SettingsAppMonitor into a base class.
Move some functions to a utility header.

Bug: 717696
Change-Id: Ia5d3765db6450ef5dd8e66d5ff607422914b37dc
Reviewed-on: https://chromium-review.googlesource.com/907542
Reviewed-by: Gabriel Charette <[email protected]>
Reviewed-by: Chris Hamilton <[email protected]>
Commit-Queue: Patrick Monette <[email protected]>
Cr-Commit-Position: refs/heads/master@{#537672}
diff --git a/chrome/browser/shell_integration_win.cc b/chrome/browser/shell_integration_win.cc
index a063b45..02cab87 100644
--- a/chrome/browser/shell_integration_win.cc
+++ b/chrome/browser/shell_integration_win.cc
@@ -235,7 +235,7 @@
 }
 
 // A recorder of user actions in the Windows Settings app.
-class DefaultBrowserActionRecorder : public win::SettingsAppMonitor::Delegate {
+class DefaultBrowserActionRecorder : public SettingsAppMonitor::Delegate {
  public:
   // Creates the recorder and the monitor that drives it. |continuation| will be
   // run once the monitor's initialization completes (regardless of success or
@@ -297,7 +297,7 @@
 
   // Monitors user interaction with the Windows Settings app for the sake of
   // reporting user actions.
-  win::SettingsAppMonitor settings_app_monitor_;
+  SettingsAppMonitor settings_app_monitor_;
 
   DISALLOW_COPY_AND_ASSIGN(DefaultBrowserActionRecorder);
 };