Use rx::ImplFactory in ResourceManager.

This will make mocking easier for unit testing ResourceManager.

BUG=angleproject:942

Change-Id: I24b9d0be550991845225141d6e7d5630383a8718
Reviewed-on: https://chromium-review.googlesource.com/258901
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/ResourceManager.cpp b/src/libANGLE/ResourceManager.cpp
index 75fbc64..71a6a32 100644
--- a/src/libANGLE/ResourceManager.cpp
+++ b/src/libANGLE/ResourceManager.cpp
@@ -20,8 +20,8 @@
 
 namespace gl
 {
-ResourceManager::ResourceManager(rx::Renderer *renderer)
-    : mRenderer(renderer),
+ResourceManager::ResourceManager(rx::ImplFactory *factory)
+    : mFactory(factory),
       mRefCount(1)
 {
 }
@@ -94,7 +94,7 @@
 
     if (type == GL_VERTEX_SHADER || type == GL_FRAGMENT_SHADER)
     {
-        mShaderMap[handle] = new Shader(this, mRenderer->createShader(type), type, handle);
+        mShaderMap[handle] = new Shader(this, mFactory->createShader(type), type, handle);
     }
     else UNREACHABLE();
 
@@ -106,7 +106,7 @@
 {
     GLuint handle = mProgramShaderHandleAllocator.allocate();
 
-    mProgramMap[handle] = new Program(mRenderer->createProgram(), this, handle);
+    mProgramMap[handle] = new Program(mFactory->createProgram(), this, handle);
 
     return handle;
 }
@@ -146,7 +146,7 @@
 {
     GLuint handle = mFenceSyncHandleAllocator.allocate();
 
-    FenceSync *fenceSync = new FenceSync(mRenderer->createFenceSync(), handle);
+    FenceSync *fenceSync = new FenceSync(mFactory->createFenceSync(), handle);
     fenceSync->addRef();
     mFenceSyncMap[handle] = fenceSync;
 
@@ -360,7 +360,7 @@
 {
     if (buffer != 0 && !getBuffer(buffer))
     {
-        Buffer *bufferObject = new Buffer(mRenderer->createBuffer(), buffer);
+        Buffer *bufferObject = new Buffer(mFactory->createBuffer(), buffer);
         mBufferMap[buffer] = bufferObject;
         bufferObject->addRef();
     }
@@ -370,7 +370,7 @@
 {
     if (!getTexture(texture) && texture != 0)
     {
-        Texture *textureObject = new Texture(mRenderer->createTexture(type), texture, type);
+        Texture *textureObject = new Texture(mFactory->createTexture(type), texture, type);
         mTextureMap[texture] = textureObject;
         textureObject->addRef();
     }
@@ -380,7 +380,7 @@
 {
     if (renderbuffer != 0 && !getRenderbuffer(renderbuffer))
     {
-        Renderbuffer *renderbufferObject = new Renderbuffer(mRenderer->createRenderbuffer(), renderbuffer);
+        Renderbuffer *renderbufferObject = new Renderbuffer(mFactory->createRenderbuffer(), renderbuffer);
         mRenderbufferMap[renderbuffer] = renderbufferObject;
         renderbufferObject->addRef();
     }