Implemented screen rotation animation experiment.

This patch implements 2 different animations for when the  screen orientation changes.  These animations are still experimental and will be disabled by default.

Depends on: https://codereview.chromium.org/983933002/

BUG=337596

Review URL: https://codereview.chromium.org/975943002

Cr-Commit-Position: refs/heads/master@{#320391}
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 0fa370c..95298274 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -395,6 +395,20 @@
     autofill::switches::kEnableFillOnAccountSelectNoHighlighting, "" },
 };
 
+#if defined(USE_ASH)
+const Experiment::Choice kAshScreenRotationAnimationChoices[] = {
+  { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, "", "" },
+  { IDS_ASH_SCREEN_ROTATION_ANIMATION_PARTIAL_ROTATION,
+    ash::switches::kAshEnableScreenRotationAnimation, "partial-rotation" },
+  { IDS_ASH_SCREEN_ROTATION_ANIMATION_PARTIAL_ROTATION_SLOW,
+    ash::switches::kAshEnableScreenRotationAnimation, "partial-rotation-slow" },
+  { IDS_ASH_SCREEN_ROTATION_ANIMATION_FULL_ROTATION,
+    ash::switches::kAshEnableScreenRotationAnimation, "full-rotation" },
+  { IDS_ASH_SCREEN_ROTATION_ANIMATION_FULL_ROTATION_SLOW,
+    ash::switches::kAshEnableScreenRotationAnimation, "full-rotation-slow" }
+};
+#endif
+
 // RECORDING USER METRICS FOR FLAGS:
 // -----------------------------------------------------------------------------
 // The first line of the experiment is the internal name. If you'd like to
@@ -981,6 +995,13 @@
     kOsCrOS,
     SINGLE_VALUE_TYPE(ash::switches::kAshEnableMirroredScreen),
   },
+  {
+    "ash-enable-screen-rotation-animations",
+    IDS_FLAGS_ASH_ENABLE_SCREEN_ROTATION_ANIMATION_NAME,
+    IDS_FLAGS_ASH_ENABLE_SCREEN_ROTATION_ANIMATION_DESCRIPTION,
+    kOsCrOS,
+    MULTI_VALUE_TYPE(kAshScreenRotationAnimationChoices)
+  },
 #endif  // defined(USE_ASH)
 #if defined(OS_CHROMEOS)
   {