Restore samplers' state across virtualized GL contexts.

Tested with new WebGL conformance test being added in
https://github.com/KhronosGroup/WebGL/pull/2383 .

BUG=713127
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2837213003
Cr-Commit-Position: refs/heads/master@{#467520}
diff --git a/gpu/command_buffer/service/context_state.h b/gpu/command_buffer/service/context_state.h
index 056dd4f6..676f1b8 100644
--- a/gpu/command_buffer/service/context_state.h
+++ b/gpu/command_buffer/service/context_state.h
@@ -211,7 +211,8 @@
   void InitState(const ContextState* prev_state) const;
 
   void RestoreActiveTexture() const;
-  void RestoreAllTextureUnitBindings(const ContextState* prev_state) const;
+  void RestoreAllTextureUnitAndSamplerBindings(
+      const ContextState* prev_state) const;
   void RestoreActiveTextureUnitBinding(unsigned int target) const;
   void RestoreVertexAttribValues() const;
   void RestoreVertexAttribArrays(
@@ -225,6 +226,7 @@
   void RestoreIndexedUniformBufferBindings(const ContextState* prev_state);
   void RestoreTextureUnitBindings(
       GLuint unit, const ContextState* prev_state) const;
+  void RestoreSamplerBinding(GLuint unit, const ContextState* prev_state) const;
 
   void PushTextureDecompressionUnpackState() const;
   void RestoreUnpackState() const;