add new copyTo version to SkBitmap, which takes SkColorType

BUG=skia:
R=scroggo@google.com, halcanary@google.com, bsalomon@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13553 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/dm/DMWriteTask.cpp b/dm/DMWriteTask.cpp
index dc31d29..5adb1d0 100644
--- a/dm/DMWriteTask.cpp
+++ b/dm/DMWriteTask.cpp
@@ -113,12 +113,10 @@
         return false;
     }
 
-    SkImageInfo info;
-    SkAssertResult(bitmap.asImageInfo(&info));
+    const SkImageInfo info = bitmap.info();
 
     SkBitmap expected;
-    expected.setConfig(info);
-    expected.allocPixels();
+    expected.allocPixels(info);
 
     // expected will be unpremultiplied.
     decoder->setRequireUnpremultipliedColors(true);
@@ -128,19 +126,18 @@
     }
 
     // We always seem to decode to 8888.  This puts 565 back in 565.
-    if (expected.config() != bitmap.config()) {
+    if (expected.colorType() != bitmap.colorType()) {
         SkBitmap converted;
-        SkAssertResult(expected.copyTo(&converted, bitmap.config()));
+        SkAssertResult(expected.copyTo(&converted, bitmap.colorType()));
         expected.swap(converted);
     }
     SkASSERT(expected.config() == bitmap.config());
 
     // Manually unpremultiply 8888 bitmaps to match expected.
     // Their pixels are shared, concurrently even, so we must copy them.
-    if (info.fColorType == kPMColor_SkColorType) {
+    if (info.colorType() == kPMColor_SkColorType) {
         SkBitmap unpremul;
-        unpremul.setConfig(info);
-        unpremul.allocPixels();
+        unpremul.allocPixels(info);
 
         SkAutoLockPixels lockSrc(bitmap), lockDst(unpremul);
         const SkPMColor* src = (SkPMColor*)bitmap.getPixels();