Implement QueryGL.

Passes all tests in:
 * dEQP-GLES3.functional.occlusion_query
 * angle_end2end_tests

BUG=angleproject:887

Change-Id: I643ab4c28cb545de9e7b0e1740e3fd8e2aa9d3d9
Reviewed-on: https://chromium-review.googlesource.com/302338
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/Data.cpp b/src/libANGLE/Data.cpp
index 7832e21..fc9e001 100644
--- a/src/libANGLE/Data.cpp
+++ b/src/libANGLE/Data.cpp
@@ -12,10 +12,15 @@
 namespace gl
 {
 
-Data::Data(GLint clientVersionIn, const State &stateIn, const Caps &capsIn,
-           const TextureCapsMap &textureCapsIn, const Extensions &extensionsIn,
+Data::Data(uintptr_t contextIn,
+           GLint clientVersionIn,
+           const State &stateIn,
+           const Caps &capsIn,
+           const TextureCapsMap &textureCapsIn,
+           const Extensions &extensionsIn,
            const ResourceManager *resourceManagerIn)
-    : clientVersion(clientVersionIn),
+    : context(contextIn),
+      clientVersion(clientVersionIn),
       state(&stateIn),
       caps(&capsIn),
       textureCaps(&textureCapsIn),
@@ -27,25 +32,4 @@
 {
 }
 
-Data::Data(const Data &other)
-    : clientVersion(other.clientVersion),
-      state(other.state),
-      caps(other.caps),
-      textureCaps(other.textureCaps),
-      extensions(other.extensions),
-      resourceManager(other.resourceManager)
-{
-}
-
-Data &Data::operator=(const Data &other)
-{
-    clientVersion = other.clientVersion;
-    state = other.state;
-    caps = other.caps;
-    textureCaps = other.textureCaps;
-    extensions = other.extensions;
-    resourceManager = other.resourceManager;
-    return *this;
-}
-
 }