Create stubs for the FramebufferImpl class.

BUG=angle:841

Change-Id: I089409981604abe9c65c3019765d8d9eeffe38f5
Reviewed-on: https://chromium-review.googlesource.com/232381
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/Framebuffer.cpp b/src/libANGLE/Framebuffer.cpp
index 10a9578..b20444b 100644
--- a/src/libANGLE/Framebuffer.cpp
+++ b/src/libANGLE/Framebuffer.cpp
@@ -100,12 +100,15 @@
 namespace gl
 {
 
-Framebuffer::Framebuffer(GLuint id)
-    : mId(id),
+Framebuffer::Framebuffer(rx::FramebufferImpl *impl, GLuint id)
+    : mImpl(impl),
+      mId(id),
       mReadBufferState(GL_COLOR_ATTACHMENT0_EXT),
       mDepthbuffer(NULL),
       mStencilbuffer(NULL)
 {
+    ASSERT(mImpl != nullptr);
+
     for (unsigned int colorAttachment = 0; colorAttachment < IMPLEMENTATION_MAX_DRAW_BUFFERS; colorAttachment++)
     {
         mColorbuffers[colorAttachment] = NULL;
@@ -116,6 +119,7 @@
 
 Framebuffer::~Framebuffer()
 {
+    SafeDelete(mImpl);
     for (unsigned int colorAttachment = 0; colorAttachment < IMPLEMENTATION_MAX_DRAW_BUFFERS; colorAttachment++)
     {
         SafeDelete(mColorbuffers[colorAttachment]);
@@ -542,9 +546,9 @@
     return Error(GL_NO_ERROR);
 }
 
-DefaultFramebuffer::DefaultFramebuffer(rx::DefaultAttachmentImpl *colorAttachment, rx::DefaultAttachmentImpl *depthAttachment,
-                                       rx::DefaultAttachmentImpl *stencilAttachment)
-    : Framebuffer(0)
+DefaultFramebuffer::DefaultFramebuffer(rx::FramebufferImpl *impl, rx::DefaultAttachmentImpl *colorAttachment,
+                                       rx::DefaultAttachmentImpl *depthAttachment, rx::DefaultAttachmentImpl *stencilAttachment)
+    : Framebuffer(impl, 0)
 {
     ASSERT(colorAttachment);
     mColorbuffers[0] = new DefaultAttachment(GL_BACK, colorAttachment);