Virtual GL

BUG=155557


Review URL: https://chromiumcodereview.appspot.com/11275120

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166442 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/gpu/command_buffer/service/context_state.h b/gpu/command_buffer/service/context_state.h
index 6997d60..b011ab2b 100644
--- a/gpu/command_buffer/service/context_state.h
+++ b/gpu/command_buffer/service/context_state.h
@@ -7,6 +7,7 @@
 #ifndef GPU_COMMAND_BUFFER_SERVICE_CONTEXT_STATE_H_
 #define GPU_COMMAND_BUFFER_SERVICE_CONTEXT_STATE_H_
 
+#include <vector>
 #include "base/logging.h"
 #include "gpu/command_buffer/service/gl_utils.h"
 #include "gpu/command_buffer/service/buffer_manager.h"
@@ -83,8 +84,9 @@
 
   void Initialize();
 
-  void InitCapabilities();
-  void InitState();
+  void RestoreState() const;
+  void InitCapabilities() const;
+  void InitState() const;
 
   #include "gpu/command_buffer/service/context_state_autogen.h"
 
@@ -101,16 +103,12 @@
   // be 2.
   GLuint active_texture_unit;
 
-  // Cached values of the currently assigned viewport dimensions.
-  GLsizei viewport_max_width;
-  GLsizei viewport_max_height;
-
   // The currently bound array buffer. If this is 0 it is illegal to call
   // glVertexAttribPointer.
   BufferManager::BufferInfo::Ref bound_array_buffer;
 
   // Which textures are bound to texture units through glActiveTexture.
-  scoped_array<TextureUnit> texture_units;
+  std::vector<TextureUnit> texture_units;
 
   // Class that manages vertex attribs.
   VertexAttribManager::Ref vertex_attrib_manager;