Use SkMatrix44 for the underlying implementation of ui::Transform

BUG=
TEST=ui_unittest

Review URL: http://codereview.chromium.org/7044062
Patch from Ian Vollick <[email protected]>.

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91855 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/views/view.cc b/views/view.cc
index 5f126a7e..98ae12ba 100644
--- a/views/view.cc
+++ b/views/view.cc
@@ -17,6 +17,7 @@
 #include "ui/gfx/compositor/compositor.h"
 #include "ui/gfx/compositor/layer.h"
 #include "ui/gfx/path.h"
+#include "ui/gfx/point3.h"
 #include "ui/gfx/transform.h"
 #include "views/background.h"
 #include "views/context_menu_controller.h"
@@ -1715,7 +1716,9 @@
   ui::Transform trans;
   // TODO(sad): Have some way of caching the transformation results.
   bool result = GetTransformRelativeTo(ancestor, &trans);
-  trans.TransformPoint(point);
+  gfx::Point3f p(*point);
+  trans.TransformPoint(p);
+  *point = p.AsPoint();
   return result;
 }
 
@@ -1723,7 +1726,9 @@
                                     gfx::Point* point) const {
   ui::Transform trans;
   bool result = GetTransformRelativeTo(ancestor, &trans);
-  trans.TransformPointReverse(point);
+  gfx::Point3f p(*point);
+  trans.TransformPointReverse(p);
+  *point = p.AsPoint();
   return result;
 }