Update from https://crrev.com/306655

Includes updates to ui/ and mojo/services for cc and gpu changes and
a minor update to a unit test in sky/ for skia interface changes.

Review URL: https://codereview.chromium.org/761903003
diff --git a/gpu/angle_unittest_main.cc b/gpu/angle_unittest_main.cc
index 67e91ed..e7667f6 100644
--- a/gpu/angle_unittest_main.cc
+++ b/gpu/angle_unittest_main.cc
@@ -3,22 +3,33 @@
 // found in the LICENSE file.
 
 #include "base/at_exit.h"
+#include "base/bind.h"
 #include "base/command_line.h"
+#include "base/message_loop/message_loop.h"
+#include "base/test/launcher/unit_test_launcher.h"
+#include "base/test/test_suite.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/angle/include/GLSLANG/ShaderLang.h"
 
+namespace {
+
+int RunHelper(base::TestSuite* test_suite) {
+  base::MessageLoopForIO message_loop;
+  return test_suite->Run();
+}
+
+}  // namespace
+
 int main(int argc, char** argv) {
-  // On Android, AtExitManager is created in
-  // testing/android/native_test_wrapper.cc before main() is called.
-  // The same thing is also done in base/test/test_suite.cc
-#if !defined(OS_ANDROID)
-  base::AtExitManager exit_manager;
-#endif
   CommandLine::Init(argc, argv);
   testing::InitGoogleMock(&argc, argv);
   ShInitialize();
-  int rt = RUN_ALL_TESTS();
+  base::TestSuite test_suite(argc, argv);
+  int rt = base::LaunchUnitTestsSerially(
+      argc,
+      argv,
+      base::Bind(&RunHelper, base::Unretained(&test_suite)));
   ShFinalize();
   return rt;
 }