Manually revert "4x allocation in PipeController is probably overkill."

This reverts commit 2d91efffdb57646a495de5bf859ff281ef86dd12.

Conflicts:
	src/pipe/SkGPipeWrite.cpp

BUG=372671
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/277653004

git-svn-id: http://skia.googlecode.com/svn/trunk@14725 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/pipe/utils/SamplePipeControllers.cpp b/src/pipe/utils/SamplePipeControllers.cpp
index de26346..1e25cb6 100644
--- a/src/pipe/utils/SamplePipeControllers.cpp
+++ b/src/pipe/utils/SamplePipeControllers.cpp
@@ -13,16 +13,23 @@
 #include "SkMatrix.h"
 
 PipeController::PipeController(SkCanvas* target, SkPicture::InstallPixelRefProc proc)
-    : fReader(target), fBlockSize(0), fBytesWritten(0) {
+:fReader(target) {
+    fBlock = NULL;
+    fBlockSize = fBytesWritten = 0;
     fReader.setBitmapDecoder(proc);
 }
 
-void* PipeController::requestBlock(size_t minRequest, size_t* actual) {
-    fBlockSize = minRequest;
-    fBlock.reset(fBlockSize);
+PipeController::~PipeController() {
+    sk_free(fBlock);
+}
+
+void* PipeController::requestBlock(size_t minRequest, size_t *actual) {
+    sk_free(fBlock);
+    fBlockSize = minRequest * 4;
+    fBlock = sk_malloc_throw(fBlockSize);
     fBytesWritten = 0;
     *actual = fBlockSize;
-    return fBlock.get();
+    return fBlock;
 }
 
 void PipeController::notifyWritten(size_t bytes) {