remove SkDeviceFactory from the collective consciousness, now that devices know
how to create compatible siblings.



git-svn-id: http://skia.googlecode.com/svn/trunk@1808 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index d5a2d15..3c17351 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -419,17 +419,10 @@
     return this->setDevice(device);
 }
 
-SkCanvas::SkCanvas(SkDeviceFactory* factory)
-        : fMCStack(sizeof(MCRec), fMCRecStorage, sizeof(fMCRecStorage)) {
+SkCanvas::SkCanvas()
+: fMCStack(sizeof(MCRec), fMCRecStorage, sizeof(fMCRecStorage)) {
     inc_canvas();
-
-    if (factory) {
-        factory->ref();
-    } else {
-        factory = SkNEW(SkRasterDeviceFactory);
-    }
-    fDeviceFactory = factory;
-
+    
     this->init(NULL);
 }
 
@@ -437,9 +430,6 @@
         : fMCStack(sizeof(MCRec), fMCRecStorage, sizeof(fMCRecStorage)) {
     inc_canvas();
 
-    fDeviceFactory = device->getDeviceFactory();
-    SkSafeRef(fDeviceFactory);
-
     this->init(device);
 }
 
@@ -447,11 +437,7 @@
         : fMCStack(sizeof(MCRec), fMCRecStorage, sizeof(fMCRecStorage)) {
     inc_canvas();
 
-    SkDevice* device = SkNEW_ARGS(SkDevice, (bitmap));
-    fDeviceFactory = device->getDeviceFactory();
-    SkSafeRef(fDeviceFactory);
-
-    this->init(device)->unref();
+    this->init(SkNEW_ARGS(SkDevice, (bitmap)))->unref();
 }
 
 SkCanvas::~SkCanvas() {
@@ -460,7 +446,6 @@
     this->internalRestore();    // restore the last, since we're going away
 
     SkSafeUnref(fBounder);
-    SkSafeUnref(fDeviceFactory);
 
     dec_canvas();
 }
@@ -508,10 +493,6 @@
        things like lock/unlock their pixels, etc.
     */
     if (device) {
-        // To mirror our (SkDevice*) constructor, we grab the factory from the
-        // new device
-        this->setDeviceFactory(device->getDeviceFactory());
-
         device->lockPixels();
     }
     if (rootDevice) {
@@ -573,11 +554,6 @@
     return device->readPixels(srcRect, bitmap);
 }
 
-SkDeviceFactory* SkCanvas::setDeviceFactory(SkDeviceFactory* factory) {
-    SkRefCnt_SafeAssign(fDeviceFactory, factory);
-    return factory;
-}
-
 //////////////////////////////////////////////////////////////////////////////
 
 bool SkCanvas::readPixels(SkBitmap* bitmap) {
@@ -1185,13 +1161,12 @@
 SkDevice* SkCanvas::createLayerDevice(SkBitmap::Config config,
                                       int width, int height,
                                       bool isOpaque) {
-    if (fDeviceFactory) {
-        return fDeviceFactory->newDevice(this, config, width, height,
-                                         isOpaque, true);
+    SkDevice* device = this->getDevice();
+    if (device) {
+        return device->createCompatibleDeviceForSaveLayer(config, width, height,
+                                                          isOpaque);
     } else {
-        return this->getDevice()->createCompatibleDeviceForSaveLayer(
-                                config, width, height,
-                                isOpaque);
+        return NULL;
     }
 }
 
@@ -1200,8 +1175,7 @@
                                            bool isOpaque) {
     SkDevice* device = this->getDevice();
     if (device) {
-        return device->createCompatibleDevice(config, width, height,
-                                              isOpaque);
+        return device->createCompatibleDevice(config, width, height, isOpaque);
     } else {
         return NULL;
     }