Tests: Add AliExpress trace

Test: angle_perftests --gtest_filter="*aliexpress*"
TBR: jmadill@google.com,timvp@google.com
Bug: b/180565449
Bug: angleproject:5660
Change-Id: I61ac0e7dbfbe6fd23c71b63fa6f8c00b20a94006
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2703735
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
diff --git a/scripts/code_generation_hashes/restricted_traces.json b/scripts/code_generation_hashes/restricted_traces.json
index d87dd3e..f54d338 100644
--- a/scripts/code_generation_hashes/restricted_traces.json
+++ b/scripts/code_generation_hashes/restricted_traces.json
@@ -1,6 +1,8 @@
 {
   "src/tests/restricted_traces/.gitignore":
-    "9f8c06acdef42593c7e64fc16c73ebd8",
+    "f515811fc13d80f8537a4645a316030d",
+  "src/tests/restricted_traces/aliexpress.tar.gz.sha1":
+    "12f48ff0c4ca7980ea879c81b0c9518b",
   "src/tests/restricted_traces/angry_birds_2_1500.tar.gz.sha1":
     "2b5d6505d6a8b6f3bbfbad2c8405a89d",
   "src/tests/restricted_traces/arena_of_valor.tar.gz.sha1":
@@ -80,13 +82,13 @@
   "src/tests/restricted_traces/real_gangster_crime.tar.gz.sha1":
     "c85be329035a760edad673eb2ca7c3f1",
   "src/tests/restricted_traces/restricted_traces.json":
-    "3268b18d8e847d9c799a85a0467d6ddf",
+    "76c5854d9b9924005f0dcb61720475ac",
   "src/tests/restricted_traces/restricted_traces_autogen.cpp":
-    "f0bef406ba544b4aad8276b3734004c7",
+    "530f704cfc2289698acc715a235e8b49",
   "src/tests/restricted_traces/restricted_traces_autogen.gni":
-    "297936bf8a465953a24e94c408506017",
+    "7f98c20536e7486ec8b2757e36e8170d",
   "src/tests/restricted_traces/restricted_traces_autogen.h":
-    "9d4592e09551a0795ba7531f423d9ec0",
+    "bc47103e5dd89f5f16f9935503997cd2",
   "src/tests/restricted_traces/rise_of_kingdoms.tar.gz.sha1":
     "d4618f857c44f0dfa642ae3af8f161d9",
   "src/tests/restricted_traces/romancing_saga.tar.gz.sha1":
diff --git a/src/tests/restricted_traces/.gitignore b/src/tests/restricted_traces/.gitignore
index bf7f249..b2dd27b 100644
--- a/src/tests/restricted_traces/.gitignore
+++ b/src/tests/restricted_traces/.gitignore
@@ -1,3 +1,5 @@
+aliexpress.tar.gz
+aliexpress/
 angry_birds_2_1500.tar.gz
 angry_birds_2_1500/
 arena_of_valor.tar.gz
diff --git a/src/tests/restricted_traces/aliexpress.tar.gz.sha1 b/src/tests/restricted_traces/aliexpress.tar.gz.sha1
new file mode 100644
index 0000000..80b69a2
--- /dev/null
+++ b/src/tests/restricted_traces/aliexpress.tar.gz.sha1
@@ -0,0 +1 @@
+87342919c07138ba6195b6278057344ace5d3486
\ No newline at end of file
diff --git a/src/tests/restricted_traces/restricted_traces.json b/src/tests/restricted_traces/restricted_traces.json
index 25196d8..f07a5bf 100644
--- a/src/tests/restricted_traces/restricted_traces.json
+++ b/src/tests/restricted_traces/restricted_traces.json
@@ -7,6 +7,7 @@
     "restricted_traces.json: List of restricted trace tests in ANGLE."
   ],
   "traces": [
+    "aliexpress",
     "angry_birds_2_1500",
     "arena_of_valor",
     "asphalt_8",
diff --git a/src/tests/restricted_traces/restricted_traces_autogen.cpp b/src/tests/restricted_traces/restricted_traces_autogen.cpp
index 24d91ff..f16cdb5 100644
--- a/src/tests/restricted_traces/restricted_traces_autogen.cpp
+++ b/src/tests/restricted_traces/restricted_traces_autogen.cpp
@@ -11,6 +11,7 @@
 
 #include "common/PackedEnums.h"
 
+#include "aliexpress/aliexpress_capture_context1.h"
 #include "angry_birds_2_1500/angry_birds_2_1500_capture_context1.h"
 #include "arena_of_valor/arena_of_valor_capture_context1.h"
 #include "asphalt_8/asphalt_8_capture_context2.h"
@@ -68,6 +69,9 @@
 namespace
 {
 constexpr angle::PackedEnumMap<RestrictedTraceID, TraceInfo> kTraceInfos = {
+    {RestrictedTraceID::aliexpress,
+     {aliexpress::kReplayFrameStart, aliexpress::kReplayFrameEnd,
+      aliexpress::kReplayDrawSurfaceWidth, aliexpress::kReplayDrawSurfaceHeight, "aliexpress"}},
     {RestrictedTraceID::angry_birds_2_1500,
      {angry_birds_2_1500::kReplayFrameStart, angry_birds_2_1500::kReplayFrameEnd,
       angry_birds_2_1500::kReplayDrawSurfaceWidth, angry_birds_2_1500::kReplayDrawSurfaceHeight,
@@ -267,6 +271,9 @@
 {
     switch (traceID)
     {
+        case RestrictedTraceID::aliexpress:
+            aliexpress::ReplayContext1Frame(frameIndex);
+            break;
         case RestrictedTraceID::angry_birds_2_1500:
             angry_birds_2_1500::ReplayContext1Frame(frameIndex);
             break;
@@ -431,6 +438,9 @@
 {
     switch (traceID)
     {
+        case RestrictedTraceID::aliexpress:
+            aliexpress::ResetContext1Replay();
+            break;
         case RestrictedTraceID::angry_birds_2_1500:
             angry_birds_2_1500::ResetContext1Replay();
             break;
@@ -595,6 +605,9 @@
 {
     switch (traceID)
     {
+        case RestrictedTraceID::aliexpress:
+            aliexpress::SetupContext1Replay();
+            break;
         case RestrictedTraceID::angry_birds_2_1500:
             angry_birds_2_1500::SetupContext1Replay();
             break;
@@ -759,6 +772,9 @@
 {
     switch (traceID)
     {
+        case RestrictedTraceID::aliexpress:
+            aliexpress::SetBinaryDataDir(dataDir);
+            break;
         case RestrictedTraceID::angry_birds_2_1500:
             angry_birds_2_1500::SetBinaryDataDir(dataDir);
             break;
@@ -923,6 +939,9 @@
 {
     switch (traceID)
     {
+        case RestrictedTraceID::aliexpress:
+            aliexpress::SetBinaryDataDecompressCallback(callback);
+            break;
         case RestrictedTraceID::angry_birds_2_1500:
             angry_birds_2_1500::SetBinaryDataDecompressCallback(callback);
             break;
diff --git a/src/tests/restricted_traces/restricted_traces_autogen.gni b/src/tests/restricted_traces/restricted_traces_autogen.gni
index 80ef8dc..3354cae 100644
--- a/src/tests/restricted_traces/restricted_traces_autogen.gni
+++ b/src/tests/restricted_traces/restricted_traces_autogen.gni
@@ -9,6 +9,7 @@
 # Can be consumed by tests/BUILD.gn.
 
 angle_restricted_traces = [
+  "aliexpress 1",
   "angry_birds_2_1500 1",
   "arena_of_valor 1",
   "asphalt_8 2",
diff --git a/src/tests/restricted_traces/restricted_traces_autogen.h b/src/tests/restricted_traces/restricted_traces_autogen.h
index 795be57..6d77922 100644
--- a/src/tests/restricted_traces/restricted_traces_autogen.h
+++ b/src/tests/restricted_traces/restricted_traces_autogen.h
@@ -54,6 +54,7 @@
 {
 enum class RestrictedTraceID
 {
+    aliexpress,
     angry_birds_2_1500,
     arena_of_valor,
     asphalt_8,