Add a Resize method to OSWindow.

BUG=angle:730

Change-Id: I64106f05eb4188305eb34bbabe7d1cde037e1948
Reviewed-on: https://chromium-review.googlesource.com/213293
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/util/OSWindow.h b/util/OSWindow.h
index 89aadc7..814fb02 100644
--- a/util/OSWindow.h
+++ b/util/OSWindow.h
@@ -33,8 +33,9 @@
     void pushEvent(Event event);
 
     virtual void setMousePosition(int x, int y) = 0;
+    virtual bool resize(int width, int height) = 0;
 
-  private:
+  protected:
     int mWidth;
     int mHeight;
 
diff --git a/util/win32/Win32Window.cpp b/util/win32/Win32Window.cpp
index b375482..355b00d 100644
--- a/util/win32/Win32Window.cpp
+++ b/util/win32/Win32Window.cpp
@@ -474,3 +474,22 @@
 {
     return new Win32Window();
 }
+
+bool Win32Window::resize(int width, int height)
+{
+    RECT windowRect;
+    if (!GetWindowRect(mNativeWindow, &windowRect))
+    {
+        return false;
+    }
+
+    if (!MoveWindow(mNativeWindow, windowRect.left, windowRect.top, width, height, FALSE))
+    {
+        return false;
+    }
+
+    mWidth = width;
+    mHeight = height;
+
+    return true;
+}
diff --git a/util/win32/Win32Window.h b/util/win32/Win32Window.h
index 640441c..c58ba3f 100644
--- a/util/win32/Win32Window.h
+++ b/util/win32/Win32Window.h
@@ -29,6 +29,7 @@
     void pushEvent(Event event);
 
     void setMousePosition(int x, int y);
+    bool resize(int width, int height);
 
   private:
     std::string mClassName;