Add a ValidationContext class helper.

This class is a wrapper around gl::Data, aka the metadata describing
a gl::Context. We can use it for unit-testing validation functions
by passing that through the validation methods instead of a Context,
and using mocks to expect certain errors.

BUG=angleproject:747
BUG=angleproject:597

Change-Id: I7bd85c7662860ba9a3a13406579a088d447e5631
Reviewed-on: https://chromium-review.googlesource.com/309637
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/Data.cpp b/src/libANGLE/Data.cpp
index fc9e001..57657c4 100644
--- a/src/libANGLE/Data.cpp
+++ b/src/libANGLE/Data.cpp
@@ -18,18 +18,37 @@
            const Caps &capsIn,
            const TextureCapsMap &textureCapsIn,
            const Extensions &extensionsIn,
-           const ResourceManager *resourceManagerIn)
+           const ResourceManager *resourceManagerIn,
+           const Limitations &limitationsIn)
     : context(contextIn),
       clientVersion(clientVersionIn),
       state(&stateIn),
       caps(&capsIn),
       textureCaps(&textureCapsIn),
       extensions(&extensionsIn),
-      resourceManager(resourceManagerIn)
+      resourceManager(resourceManagerIn),
+      limitations(&limitationsIn)
 {}
 
 Data::~Data()
 {
 }
 
+ValidationContext::ValidationContext(GLint clientVersion,
+                                     const State &state,
+                                     const Caps &caps,
+                                     const TextureCapsMap &textureCaps,
+                                     const Extensions &extensions,
+                                     const ResourceManager *resourceManager,
+                                     const Limitations &limitations)
+    : mData(reinterpret_cast<uintptr_t>(this),
+            clientVersion,
+            state,
+            caps,
+            textureCaps,
+            extensions,
+            resourceManager,
+            limitations)
+{
+}
 }