re-guard against negative dimensions on no-draw canvas

We used to (incidentally) guard for this when we used bitmapdevice as our backnig.
Now that we have a (faster) nodrawdevice, we need to explicitly guard for it.

BUG=skia:

Change-Id: I9cbbf064cbfced78f0004a2e5aff60aa3ded6215
Reviewed-on: https://skia-review.googlesource.com/9530
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/tests/CanvasTest.cpp b/tests/CanvasTest.cpp
index e84b7ba..c35e7b0 100644
--- a/tests/CanvasTest.cpp
+++ b/tests/CanvasTest.cpp
@@ -93,6 +93,12 @@
     REPORTER_ASSERT(reporter, rect == SkRect::MakeEmpty());
     REPORTER_ASSERT(reporter, !canvas.getLocalClipBounds(&rect2));
     REPORTER_ASSERT(reporter, rect == rect2);
+
+    // Test for wacky sizes that we (historically) have guarded against
+    {
+        SkCanvas c(-10, -20);
+        REPORTER_ASSERT(reporter, c.getBaseLayerSize() == SkISize::MakeEmpty());
+    }
 }
 
 static const int kWidth = 2, kHeight = 2;