Fixes to the Skia merge at revision 6890.

Change-Id: I4d660b49051add2407fbe4eb1dcbd2c661ad39ee
diff --git a/include/core/SkCanvas.h b/include/core/SkCanvas.h
index 3b3dbc4..74ecbbc 100644
--- a/include/core/SkCanvas.h
+++ b/include/core/SkCanvas.h
@@ -30,6 +30,13 @@
 class SkRRect;
 class SkSurface_Base;
 
+#ifdef SK_BUILD_FOR_ANDROID
+namespace WebCore {
+  class RasterRenderer;
+  class GaneshRenderer;
+}
+#endif
+
 /** \class SkCanvas
 
     A Canvas encapsulates all of the state about drawing into a device (bitmap).
@@ -1005,6 +1012,11 @@
      */
     virtual SkDevice* setDevice(SkDevice* device);
 
+#ifdef SK_BUILD_FOR_ANDROID
+    friend class WebCore::GaneshRenderer;
+    friend class WebCore::RasterRenderer;
+#endif
+
 private:
     class MCRec;
 
diff --git a/include/gpu/GrBackendEffectFactory.h b/include/gpu/GrBackendEffectFactory.h
index 2bfefb9..fdadcd7 100644
--- a/include/gpu/GrBackendEffectFactory.h
+++ b/include/gpu/GrBackendEffectFactory.h
@@ -63,6 +63,8 @@
     GrBackendEffectFactory() {
         fEffectClassID = kIllegalEffectClassID;
     }
+    virtual ~GrBackendEffectFactory() {}
+
 
     static EffectKey GenID() {
         GR_DEBUGCODE(static const int32_t kClassIDBits = 8 * sizeof(EffectKey) -
diff --git a/src/core/SkScan_Antihair.cpp b/src/core/SkScan_Antihair.cpp
index bf1b81f..3cbd809 100644
--- a/src/core/SkScan_Antihair.cpp
+++ b/src/core/SkScan_Antihair.cpp
@@ -89,6 +89,7 @@
 class SkAntiHairBlitter {
 public:
     SkAntiHairBlitter() : fBlitter(NULL) {}
+    virtual ~SkAntiHairBlitter() {}
 
     SkBlitter* getBlitter() const { return fBlitter; }