summaryrefslogtreecommitdiff
path: root/Base
diff options
context:
space:
mode:
authorPeter Nelson <peter@peterdn.com>2020-08-30 16:16:41 +0100
committerAndreas Kling <kling@serenityos.org>2020-08-31 18:54:44 +0200
commitf63592f8711f0391db7d9376a81e9a2c038dab57 (patch)
tree1bd7a6e94f1a961e67ae7a83d8c2a33106626b89 /Base
parent8be708454c65eb5872bec2858a84fca52c461848 (diff)
downloadserenity-f63592f8711f0391db7d9376a81e9a2c038dab57.zip
LibGfx: add GIF test suite
Adds a GIF test suite HTML page that contains a selection of test GIF images and reference PNGs for each frame Adds a link to the GIF test suite on welcome.html
Diffstat (limited to 'Base')
-rw-r--r--Base/res/html/misc/gifsuite.html138
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_interlaced_loop-0.pngbin0 -> 789 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_interlaced_loop-1.pngbin0 -> 804 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_interlaced_loop-2.pngbin0 -> 814 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_interlaced_loop-3.pngbin0 -> 776 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_interlaced_loop.gifbin0 -> 878 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_loop-0.pngbin0 -> 789 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_loop-1.pngbin0 -> 804 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_loop-2.pngbin0 -> 814 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_loop-3.pngbin0 -> 776 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_loop.gifbin0 -> 873 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_loop_variable_delay-0.pngbin0 -> 789 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_loop_variable_delay-1.pngbin0 -> 804 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_loop_variable_delay-2.pngbin0 -> 814 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_loop_variable_delay-3.pngbin0 -> 776 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_loop_variable_delay.gifbin0 -> 873 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_noloop-0.pngbin0 -> 789 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_noloop-1.pngbin0 -> 804 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_noloop-2.pngbin0 -> 814 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_noloop-3.pngbin0 -> 776 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_noloop.gifbin0 -> 854 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-0.pngbin0 -> 479 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-1.pngbin0 -> 554 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-2.pngbin0 -> 609 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-3.pngbin0 -> 653 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop.gifbin0 -> 685 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-0.pngbin0 -> 479 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-1.pngbin0 -> 554 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-2.pngbin0 -> 642 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-3.pngbin0 -> 703 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop.gifbin0 -> 685 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-0.pngbin0 -> 479 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-1.pngbin0 -> 554 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-2.pngbin0 -> 562 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-3.pngbin0 -> 556 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop.gifbin0 -> 685 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_loop-0.pngbin0 -> 479 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_loop-1.pngbin0 -> 488 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_loop-2.pngbin0 -> 500 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_loop-3.pngbin0 -> 490 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_loop.gifbin0 -> 536 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-0.pngbin0 -> 479 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-1.pngbin0 -> 488 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-2.pngbin0 -> 501 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-3.pngbin0 -> 493 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop.gifbin0 -> 536 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/bkgd.pngbin0 -> 160 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/static_nontransparent.gifbin0 -> 678 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/static_nontransparent.pngbin0 -> 789 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/static_transparent.gifbin0 -> 341 bytes
-rw-r--r--Base/res/html/misc/gifsuite_files/static_transparent.pngbin0 -> 479 bytes
-rw-r--r--Base/res/html/misc/welcome.html1
52 files changed, 139 insertions, 0 deletions
diff --git a/Base/res/html/misc/gifsuite.html b/Base/res/html/misc/gifsuite.html
new file mode 100644
index 0000000000..4122c22be0
--- /dev/null
+++ b/Base/res/html/misc/gifsuite.html
@@ -0,0 +1,138 @@
+<!DOCTYPE html>
+<html><head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<meta charset="UTF-8">
+
+<title>GIF Suite Image List</title>
+
+<style>
+ .b { background:url(gifsuite_files/bkgd.png); }
+</style>
+
+</head>
+
+<body class="vsc-initialized">
+
+<h1>GIF Suite Image List</h1>
+
+<p>
+ Test GIF images are displayed in the leftmost column. Where they contain multiple frames,
+ each frame is rendered as a reference PNG in subsequent columns, exactly as it should appear.
+ Any differences indicate a bug in the GIF decoder.
+</p>
+
+<table cellpadding="8" border="1">
+<tbody>
+ <tr>
+ <th>Image</th>
+ <th>Frame 1</th>
+ <th>Frame 2</th>
+ <th>Frame 3</th>
+ <th>Frame 4</th>
+ <th>Notes</th>
+ </tr>
+
+ <tr>
+ <td class="b"><img src="gifsuite_files/static_nontransparent.gif"></td>
+ <td class="b"><img src="gifsuite_files/static_nontransparent.png"></td>
+ <td class="b">N/A</td>
+ <td class="b">N/A</td>
+ <td class="b">N/A</td>
+ <td>Static gif with no animation, no transparency</td>
+ </tr>
+
+ <tr>
+ <td class="b"><img src="gifsuite_files/animated_noloop.gif"></td>
+ <td class="b"><img src="gifsuite_files/animated_noloop-0.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_noloop-1.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_noloop-2.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_noloop-3.png"></td>
+ <td>Animated gif with 4 frames, no loop, no transparency</td>
+ </tr>
+
+ <tr>
+ <td class="b"><img src="gifsuite_files/animated_loop.gif"></td>
+ <td class="b"><img src="gifsuite_files/animated_loop-0.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_loop-1.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_loop-2.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_loop-3.png"></td>
+ <td>Animated gif with 4 frames, looping forever, no transparency</td>
+ </tr>
+
+ <tr>
+ <td class="b"><img src="gifsuite_files/animated_interlaced_loop.gif"></td>
+ <td class="b"><img src="gifsuite_files/animated_interlaced_loop-0.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_interlaced_loop-1.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_interlaced_loop-2.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_interlaced_loop-3.png"></td>
+ <td>Interlaced gif with 4 frames, looping forever, no transparency</td>
+ </tr>
+
+ <tr>
+ <td class="b"><img src="gifsuite_files/animated_loop_variable_delay.gif"></td>
+ <td class="b"><img src="gifsuite_files/animated_loop_variable_delay-0.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_loop_variable_delay-1.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_loop_variable_delay-2.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_loop_variable_delay-3.png"></td>
+ <td>Animated gif with 4 frames, looping forever, no transparency, shorter delay between frames 2 and 3</td>
+ </tr>
+
+ <tr>
+ <td class="b"><img src="gifsuite_files/static_transparent.gif"></td>
+ <td class="b"><img src="gifsuite_files/static_transparent.png"></td>
+ <td class="b">N/A</td>
+ <td class="b">N/A</td>
+ <td class="b">N/A</td>
+ <td>Static transparent gif with no animation</td>
+ </tr>
+
+ <tr>
+ <td class="b"><img src="gifsuite_files/animated_transparent_loop.gif"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_loop-0.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_loop-1.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_loop-2.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_loop-3.png"></td>
+ <td>Transparent gif with 4 frames, loops forever</td>
+ </tr>
+
+ <tr>
+ <td class="b"><img src="gifsuite_files/animated_transparent_restoreprev_loop.gif"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_restoreprev_loop-0.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_restoreprev_loop-1.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_restoreprev_loop-2.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_restoreprev_loop-3.png"></td>
+ <td>Transparent gif with 4 frames, loops forever, restore previous</td>
+ </tr>
+
+ <tr>
+ <td class="b"><img src="gifsuite_files/animated_transparent_frame_norestore_loop.gif"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_frame_norestore_loop-0.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_frame_norestore_loop-1.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_frame_norestore_loop-2.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_frame_norestore_loop-3.png"></td>
+ <td>Transparent gif with 4 transparent frames, loops forever, no dispose</td>
+ </tr>
+
+ <tr>
+ <td class="b"><img src="gifsuite_files/animated_transparent_frame_restorebackground_loop.gif"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_frame_restorebackground_loop-0.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_frame_restorebackground_loop-1.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_frame_restorebackground_loop-2.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_frame_restorebackground_loop-3.png"></td>
+ <td>Transparent gif with 4 transparent frames, loops forever, restore background</td>
+ </tr>
+
+ <tr>
+ <td class="b"><img src="gifsuite_files/animated_transparent_frame_restoreprev_loop.gif"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_frame_restoreprev_loop-0.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_frame_restoreprev_loop-1.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_frame_restoreprev_loop-2.png"></td>
+ <td class="b"><img src="gifsuite_files/animated_transparent_frame_restoreprev_loop-3.png"></td>
+ <td>Transparent gif with 4 transparent frames, loops forever, restore previous</td>
+ </tr>
+
+</tbody>
+</table>
+
+</body>
+</html>
diff --git a/Base/res/html/misc/gifsuite_files/animated_interlaced_loop-0.png b/Base/res/html/misc/gifsuite_files/animated_interlaced_loop-0.png
new file mode 100644
index 0000000000..4a36664b90
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_interlaced_loop-0.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_interlaced_loop-1.png b/Base/res/html/misc/gifsuite_files/animated_interlaced_loop-1.png
new file mode 100644
index 0000000000..237b22cbe1
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_interlaced_loop-1.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_interlaced_loop-2.png b/Base/res/html/misc/gifsuite_files/animated_interlaced_loop-2.png
new file mode 100644
index 0000000000..ba73b8f768
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_interlaced_loop-2.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_interlaced_loop-3.png b/Base/res/html/misc/gifsuite_files/animated_interlaced_loop-3.png
new file mode 100644
index 0000000000..4cd267c83d
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_interlaced_loop-3.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_interlaced_loop.gif b/Base/res/html/misc/gifsuite_files/animated_interlaced_loop.gif
new file mode 100644
index 0000000000..36b4de1d55
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_interlaced_loop.gif
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_loop-0.png b/Base/res/html/misc/gifsuite_files/animated_loop-0.png
new file mode 100644
index 0000000000..527f98e38d
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_loop-0.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_loop-1.png b/Base/res/html/misc/gifsuite_files/animated_loop-1.png
new file mode 100644
index 0000000000..916906364b
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_loop-1.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_loop-2.png b/Base/res/html/misc/gifsuite_files/animated_loop-2.png
new file mode 100644
index 0000000000..324691189e
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_loop-2.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_loop-3.png b/Base/res/html/misc/gifsuite_files/animated_loop-3.png
new file mode 100644
index 0000000000..961b3e97ea
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_loop-3.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_loop.gif b/Base/res/html/misc/gifsuite_files/animated_loop.gif
new file mode 100644
index 0000000000..5012b9c5bc
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_loop.gif
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_loop_variable_delay-0.png b/Base/res/html/misc/gifsuite_files/animated_loop_variable_delay-0.png
new file mode 100644
index 0000000000..527f98e38d
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_loop_variable_delay-0.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_loop_variable_delay-1.png b/Base/res/html/misc/gifsuite_files/animated_loop_variable_delay-1.png
new file mode 100644
index 0000000000..916906364b
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_loop_variable_delay-1.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_loop_variable_delay-2.png b/Base/res/html/misc/gifsuite_files/animated_loop_variable_delay-2.png
new file mode 100644
index 0000000000..324691189e
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_loop_variable_delay-2.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_loop_variable_delay-3.png b/Base/res/html/misc/gifsuite_files/animated_loop_variable_delay-3.png
new file mode 100644
index 0000000000..961b3e97ea
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_loop_variable_delay-3.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_loop_variable_delay.gif b/Base/res/html/misc/gifsuite_files/animated_loop_variable_delay.gif
new file mode 100644
index 0000000000..2ccda95c46
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_loop_variable_delay.gif
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_noloop-0.png b/Base/res/html/misc/gifsuite_files/animated_noloop-0.png
new file mode 100644
index 0000000000..cf961f07e9
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_noloop-0.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_noloop-1.png b/Base/res/html/misc/gifsuite_files/animated_noloop-1.png
new file mode 100644
index 0000000000..23229c8d16
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_noloop-1.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_noloop-2.png b/Base/res/html/misc/gifsuite_files/animated_noloop-2.png
new file mode 100644
index 0000000000..d5de775635
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_noloop-2.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_noloop-3.png b/Base/res/html/misc/gifsuite_files/animated_noloop-3.png
new file mode 100644
index 0000000000..5aa2d5d2f9
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_noloop-3.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_noloop.gif b/Base/res/html/misc/gifsuite_files/animated_noloop.gif
new file mode 100644
index 0000000000..034a5cbdae
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_noloop.gif
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-0.png b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-0.png
new file mode 100644
index 0000000000..c41b45d6e1
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-0.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-1.png b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-1.png
new file mode 100644
index 0000000000..3f3d944589
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-1.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-2.png b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-2.png
new file mode 100644
index 0000000000..44fe6adf84
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-2.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-3.png b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-3.png
new file mode 100644
index 0000000000..f530800d96
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-3.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop.gif b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop.gif
new file mode 100644
index 0000000000..6d68c1219c
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop.gif
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-0.png b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-0.png
new file mode 100644
index 0000000000..c41b45d6e1
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-0.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-1.png b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-1.png
new file mode 100644
index 0000000000..3f3d944589
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-1.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-2.png b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-2.png
new file mode 100644
index 0000000000..69197255d7
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-2.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-3.png b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-3.png
new file mode 100644
index 0000000000..e1b9f67753
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-3.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop.gif b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop.gif
new file mode 100644
index 0000000000..6e41330b27
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop.gif
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-0.png b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-0.png
new file mode 100644
index 0000000000..b02702bfe0
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-0.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-1.png b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-1.png
new file mode 100644
index 0000000000..504c75faad
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-1.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-2.png b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-2.png
new file mode 100644
index 0000000000..fad298430d
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-2.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-3.png b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-3.png
new file mode 100644
index 0000000000..5e65861d0f
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-3.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop.gif b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop.gif
new file mode 100644
index 0000000000..f6b7195213
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop.gif
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_loop-0.png b/Base/res/html/misc/gifsuite_files/animated_transparent_loop-0.png
new file mode 100644
index 0000000000..c41b45d6e1
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_loop-0.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_loop-1.png b/Base/res/html/misc/gifsuite_files/animated_transparent_loop-1.png
new file mode 100644
index 0000000000..b33086dd37
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_loop-1.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_loop-2.png b/Base/res/html/misc/gifsuite_files/animated_transparent_loop-2.png
new file mode 100644
index 0000000000..bc02a73518
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_loop-2.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_loop-3.png b/Base/res/html/misc/gifsuite_files/animated_transparent_loop-3.png
new file mode 100644
index 0000000000..068d503e71
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_loop-3.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_loop.gif b/Base/res/html/misc/gifsuite_files/animated_transparent_loop.gif
new file mode 100644
index 0000000000..41967fc2ea
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_loop.gif
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-0.png b/Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-0.png
new file mode 100644
index 0000000000..c41b45d6e1
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-0.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-1.png b/Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-1.png
new file mode 100644
index 0000000000..b33086dd37
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-1.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-2.png b/Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-2.png
new file mode 100644
index 0000000000..e57d462ae9
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-2.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-3.png b/Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-3.png
new file mode 100644
index 0000000000..744b5b5934
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-3.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop.gif b/Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop.gif
new file mode 100644
index 0000000000..61891a5492
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop.gif
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/bkgd.png b/Base/res/html/misc/gifsuite_files/bkgd.png
new file mode 100644
index 0000000000..84586f0dbc
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/bkgd.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/static_nontransparent.gif b/Base/res/html/misc/gifsuite_files/static_nontransparent.gif
new file mode 100644
index 0000000000..43dd1091d8
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/static_nontransparent.gif
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/static_nontransparent.png b/Base/res/html/misc/gifsuite_files/static_nontransparent.png
new file mode 100644
index 0000000000..cf961f07e9
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/static_nontransparent.png
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/static_transparent.gif b/Base/res/html/misc/gifsuite_files/static_transparent.gif
new file mode 100644
index 0000000000..ab35df088e
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/static_transparent.gif
Binary files differ
diff --git a/Base/res/html/misc/gifsuite_files/static_transparent.png b/Base/res/html/misc/gifsuite_files/static_transparent.png
new file mode 100644
index 0000000000..c41b45d6e1
--- /dev/null
+++ b/Base/res/html/misc/gifsuite_files/static_transparent.png
Binary files differ
diff --git a/Base/res/html/misc/welcome.html b/Base/res/html/misc/welcome.html
index ee69c0b3b1..3d5046bb30 100644
--- a/Base/res/html/misc/welcome.html
+++ b/Base/res/html/misc/welcome.html
@@ -40,6 +40,7 @@ span#ua {
<li><a href="many-buggies.html">many buggies</a></li>
<li><a href="bmpsuite.html">BMP test suite</a></li>
<li><a href="jpg.html">JPG Images</a></li>
+ <li><a href="gifsuite.html">GIF test suite</a></li>
<li><a href="palette.html">system palette color css extension</a></li>
<li><a href="inline-block-link.html">link inside display: inline-block</a></li>
<li><a href="set-interval.html">setInterval() test</a></li>