Handle ARC notifications in ash

Makes ui/arc code run inside ash instead of the browser. The code
itself will be moved to //ash in follow-up CLs.

- ArcNotificationManager lives in ash::MessageCenterController;
- Arc bridge host forwards the NotificationsInstance mojo interface
  to ash via AshMessageCenterController interface;
- ArcNotificationSurfaceManager lives in ash::WaylandServerController;

Bug: 768439
Change-Id: Id3572a64cd4d8fac709cd2c22f86b392571d5041
Reviewed-on: https://chromium-review.googlesource.com/1011205
Commit-Queue: Xiyuan Xia <[email protected]>
Reviewed-by: Scott Violet <[email protected]>
Reviewed-by: Tom Sepez <[email protected]>
Reviewed-by: Evan Stade <[email protected]>
Reviewed-by: Yoshiki Iguchi <[email protected]>
Reviewed-by: Hidehiko Abe <[email protected]>
Cr-Commit-Position: refs/heads/master@{#553397}
diff --git a/chrome/browser/exo_parts.cc b/chrome/browser/exo_parts.cc
index 6d737613..e7edc34 100644
--- a/chrome/browser/exo_parts.cc
+++ b/chrome/browser/exo_parts.cc
@@ -23,7 +23,6 @@
 #include "content/public/common/drop_data.h"
 #include "storage/browser/fileapi/file_system_context.h"
 #include "storage/browser/fileapi/file_system_url.h"
-#include "ui/arc/notification/arc_notification_surface_manager_impl.h"
 
 namespace {
 
@@ -123,10 +122,7 @@
 
 ExoParts::ExoParts() {
   DCHECK(!ash_util::IsRunningInMash());
-  arc_notification_surface_manager_ =
-      std::make_unique<arc::ArcNotificationSurfaceManagerImpl>();
   std::unique_ptr<ChromeFileHelper> file_helper =
       std::make_unique<ChromeFileHelper>();
-  ash::Shell::Get()->InitWaylandServer(arc_notification_surface_manager_.get(),
-                                       std::move(file_helper));
+  ash::Shell::Get()->InitWaylandServer(std::move(file_helper));
 }