Pass matrix to CPDF_ClipPath::Transform() by const-ref.

It's never null - either &var or the caller is checking for nullness first.

Change-Id: I84ab44275095eda3023810312b27d84d85fb0293
Reviewed-on: https://pdfium-review.googlesource.com/c/47513
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/page/cpdf_clippath.cpp b/core/fpdfapi/page/cpdf_clippath.cpp
index 9782469..220e7f8 100644
--- a/core/fpdfapi/page/cpdf_clippath.cpp
+++ b/core/fpdfapi/page/cpdf_clippath.cpp
@@ -105,7 +105,8 @@
 void CPDF_ClipPath::Transform(const CFX_Matrix& matrix) {
   PathData* pData = m_Ref.GetPrivateCopy();
   for (auto& obj : pData->m_PathAndTypeList)
-    obj.first.Transform(&matrix);
+    obj.first.Transform(matrix);
+
   for (auto& text : pData->m_TextList) {
     if (text)
       text->Transform(matrix);
diff --git a/core/fpdfapi/page/cpdf_contentparser.cpp b/core/fpdfapi/page/cpdf_contentparser.cpp
index 90d6925..b3b7371 100644
--- a/core/fpdfapi/page/cpdf_contentparser.cpp
+++ b/core/fpdfapi/page/cpdf_contentparser.cpp
@@ -81,9 +81,9 @@
     ClipPath.Emplace();
     ClipPath.AppendRect(form_bbox.left, form_bbox.bottom, form_bbox.right,
                         form_bbox.top);
-    ClipPath.Transform(&form_matrix);
+    ClipPath.Transform(form_matrix);
     if (pParentMatrix)
-      ClipPath.Transform(pParentMatrix);
+      ClipPath.Transform(*pParentMatrix);
 
     form_bbox = form_matrix.TransformRect(form_bbox);
     if (pParentMatrix)
diff --git a/core/fpdfapi/page/cpdf_path.cpp b/core/fpdfapi/page/cpdf_path.cpp
index b56249c..b23c5dd 100644
--- a/core/fpdfapi/page/cpdf_path.cpp
+++ b/core/fpdfapi/page/cpdf_path.cpp
@@ -37,8 +37,8 @@
   return m_Ref.GetObject()->IsRect();
 }
 
-void CPDF_Path::Transform(const CFX_Matrix* pMatrix) {
-  m_Ref.GetPrivateCopy()->Transform(pMatrix);
+void CPDF_Path::Transform(const CFX_Matrix& matrix) {
+  m_Ref.GetPrivateCopy()->Transform(matrix);
 }
 
 void CPDF_Path::Append(const CPDF_Path& other, const CFX_Matrix* pMatrix) {
diff --git a/core/fpdfapi/page/cpdf_path.h b/core/fpdfapi/page/cpdf_path.h
index 56df5db..3c68856 100644
--- a/core/fpdfapi/page/cpdf_path.h
+++ b/core/fpdfapi/page/cpdf_path.h
@@ -30,7 +30,7 @@
   CFX_FloatRect GetBoundingBox(float line_width, float miter_limit) const;
 
   bool IsRect() const;
-  void Transform(const CFX_Matrix* pMatrix);
+  void Transform(const CFX_Matrix& matrix);
 
   void Append(const CPDF_Path& other, const CFX_Matrix* pMatrix);
   void Append(const CFX_PathData* pData, const CFX_Matrix* pMatrix);
diff --git a/core/fpdfapi/page/cpdf_streamcontentparser.cpp b/core/fpdfapi/page/cpdf_streamcontentparser.cpp
index ebdff44..e703e7b 100644
--- a/core/fpdfapi/page/cpdf_streamcontentparser.cpp
+++ b/core/fpdfapi/page/cpdf_streamcontentparser.cpp
@@ -1481,7 +1481,7 @@
   }
   if (PathClipType) {
     if (!matrix.IsIdentity())
-      Path.Transform(&matrix);
+      Path.Transform(matrix);
     m_pCurStates->m_ClipPath.AppendPath(Path, PathClipType, true);
   }
 }
diff --git a/core/fpdfapi/render/cpdf_imagerenderer.cpp b/core/fpdfapi/render/cpdf_imagerenderer.cpp
index 0494791..90e1960 100644
--- a/core/fpdfapi/render/cpdf_imagerenderer.cpp
+++ b/core/fpdfapi/render/cpdf_imagerenderer.cpp
@@ -467,7 +467,7 @@
   if (m_pDIBBase->IsOpaqueImage()) {
     CFX_PathData path;
     path.AppendRect(0, 0, 1, 1);
-    path.Transform(&m_ImageMatrix);
+    path.Transform(m_ImageMatrix);
     uint32_t fill_color =
         ArgbEncode(0xff, m_BitmapAlpha, m_BitmapAlpha, m_BitmapAlpha);
     m_pRenderStatus->GetRenderDevice()->DrawPath(&path, nullptr, nullptr,
diff --git a/core/fxge/cfx_pathdata.cpp b/core/fxge/cfx_pathdata.cpp
index ac1ff42..ae7d2d4 100644
--- a/core/fxge/cfx_pathdata.cpp
+++ b/core/fxge/cfx_pathdata.cpp
@@ -291,11 +291,9 @@
   return rect;
 }
 
-void CFX_PathData::Transform(const CFX_Matrix* pMatrix) {
-  if (!pMatrix)
-    return;
+void CFX_PathData::Transform(const CFX_Matrix& matrix) {
   for (auto& point : m_Points)
-    point.m_Point = pMatrix->Transform(point.m_Point);
+    point.m_Point = matrix.Transform(point.m_Point);
 }
 
 bool CFX_PathData::GetZeroAreaPath(const CFX_Matrix* pMatrix,
diff --git a/core/fxge/cfx_pathdata.h b/core/fxge/cfx_pathdata.h
index 9d96407..705447c 100644
--- a/core/fxge/cfx_pathdata.h
+++ b/core/fxge/cfx_pathdata.h
@@ -49,7 +49,7 @@
   CFX_FloatRect GetBoundingBox() const;
   CFX_FloatRect GetBoundingBox(float line_width, float miter_limit) const;
 
-  void Transform(const CFX_Matrix* pMatrix);
+  void Transform(const CFX_Matrix& matrix);
   bool IsRect() const;
   bool GetZeroAreaPath(const CFX_Matrix* pMatrix,
                        bool bAdjust,
diff --git a/core/fxge/cfx_renderdevice.cpp b/core/fxge/cfx_renderdevice.cpp
index e1bea7d..f55ad46 100644
--- a/core/fxge/cfx_renderdevice.cpp
+++ b/core/fxge/cfx_renderdevice.cpp
@@ -1084,7 +1084,7 @@
     matrix.Concat(*pText2User);
 
     CFX_PathData TransformedPath(*pPath);
-    TransformedPath.Transform(&matrix);
+    TransformedPath.Transform(matrix);
     if (fill_color || stroke_color) {
       int fill_mode = nFlag;
       if (fill_color)
diff --git a/core/fxge/win32/cfx_psrenderer.cpp b/core/fxge/win32/cfx_psrenderer.cpp
index 830a868..c8bbfeb 100644
--- a/core/fxge/win32/cfx_psrenderer.cpp
+++ b/core/fxge/win32/cfx_psrenderer.cpp
@@ -605,7 +605,7 @@
 
   CFX_PathData TransformedPath(*pPathData);
   if (charpos.m_bGlyphAdjust)
-    TransformedPath.Transform(&matrix);
+    TransformedPath.Transform(matrix);
 
   std::ostringstream buf;
   buf << "/X" << *ps_fontnum << " Ff/CharProcs get begin/" << glyphindex
diff --git a/xfa/fxgraphics/cxfa_gepath.cpp b/xfa/fxgraphics/cxfa_gepath.cpp
index a1fee15..6597c80 100644
--- a/xfa/fxgraphics/cxfa_gepath.cpp
+++ b/xfa/fxgraphics/cxfa_gepath.cpp
@@ -146,5 +146,5 @@
 }
 
 void CXFA_GEPath::TransformBy(const CFX_Matrix& mt) {
-  data_.Transform(&mt);
+  data_.Transform(mt);
 }