From 6675a80c6afe3652b7bd918b80a16a8effb51b8f Mon Sep 17 00:00:00 2001
From: Tom Sepez <tsepez@chromium.org>
Date: Thu, 4 Jun 2015 19:05:21 -0700
Subject: Merge to XFA: Move fx_safe_types.h to include/ directory.

Original Review URL: https://codereview.chromium.org/1147353006
TBR=thestig@chromium.org

Review URL: https://codereview.chromium.org/1152693005
---
 BUILD.gn                                              |  2 +-
 core/include/fxcrt/fx_safe_types.h                    | 19 +++++++++++++++++++
 core/src/fdrm/crypto/fx_crypt.cpp                     |  4 ++--
 core/src/fpdfapi/fpdf_page/fpdf_page_func.cpp         |  4 ++--
 core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp   |  9 +++++----
 core/src/fpdfapi/fpdf_render/fpdf_render_image.cpp    |  9 +++++----
 .../src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp |  8 ++++----
 core/src/fpdfdoc/doc_link.cpp                         |  2 +-
 core/src/fxcodec/codec/fx_codec_jpeg.cpp              |  3 ++-
 core/src/fxcodec/jbig2/JBig2_Image.cpp                |  3 ++-
 core/src/fxcrt/extension.h                            |  2 +-
 core/src/fxcrt/fx_safe_types.h                        | 17 -----------------
 fpdfsdk/src/fpdfview.cpp                              |  3 ++-
 fpdfsdk/src/pdfwindow/PWL_Edit.cpp                    | 10 +++++-----
 pdfium.gyp                                            |  2 +-
 15 files changed, 52 insertions(+), 45 deletions(-)
 create mode 100644 core/include/fxcrt/fx_safe_types.h
 delete mode 100644 core/src/fxcrt/fx_safe_types.h

diff --git a/BUILD.gn b/BUILD.gn
index cc958b8ad5..4dd3875e4b 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -552,13 +552,13 @@ static_library("fxcrt") {
     "core/include/fxcrt/fx_coordinates.h",
     "core/include/fxcrt/fx_ext.h",
     "core/include/fxcrt/fx_memory.h",
+    "core/include/fxcrt/fx_safe_types.h",
     "core/include/fxcrt/fx_stream.h",
     "core/include/fxcrt/fx_string.h",
     "core/include/fxcrt/fx_system.h",
     "core/include/fxcrt/fx_ucd.h",
     "core/include/fxcrt/fx_xml.h",
     "core/src/fxcrt/extension.h",
-    "core/src/fxcrt/fx_safe_types.h",
     "core/src/fxcrt/fxcrt_platforms.cpp",
     "core/src/fxcrt/fxcrt_platforms.h",
     "core/src/fxcrt/fxcrt_posix.cpp",
diff --git a/core/include/fxcrt/fx_safe_types.h b/core/include/fxcrt/fx_safe_types.h
new file mode 100644
index 0000000000..e45e6d3c8d
--- /dev/null
+++ b/core/include/fxcrt/fx_safe_types.h
@@ -0,0 +1,19 @@
+// Copyright 2014 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CORE_INCLUDE_FXCRT_FX_SAFE_TYPES_H_
+#define CORE_INCLUDE_FXCRT_FX_SAFE_TYPES_H_
+
+#include <stdlib.h>  // For size_t.
+
+#include "../../../third_party/base/numerics/safe_math.h"
+#include "fx_stream.h"  // for FX_FILESIZE.
+#include "fx_system.h"
+
+typedef pdfium::base::CheckedNumeric<FX_DWORD> FX_SAFE_DWORD;
+typedef pdfium::base::CheckedNumeric<FX_INT32> FX_SAFE_INT32;
+typedef pdfium::base::CheckedNumeric<size_t> FX_SAFE_SIZE_T;
+typedef pdfium::base::CheckedNumeric<FX_FILESIZE> FX_SAFE_FILESIZE;
+
+#endif  // CORE_INCLUDE_FXCRT_FX_SAFE_TYPES_H_
diff --git a/core/src/fdrm/crypto/fx_crypt.cpp b/core/src/fdrm/crypto/fx_crypt.cpp
index 1fbba993d2..e67e5d7aab 100644
--- a/core/src/fdrm/crypto/fx_crypt.cpp
+++ b/core/src/fdrm/crypto/fx_crypt.cpp
@@ -4,9 +4,9 @@
  
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "../../../include/fxcrt/fx_basic.h"
 #include "../../../include/fdrm/fx_crypt.h"
-#include "../../../src/fxcrt/fx_safe_types.h"
+#include "../../../include/fxcrt/fx_basic.h"
+#include "../../../include/fxcrt/fx_safe_types.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_func.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_func.cpp
index 924c88e421..d29dee77d8 100644
--- a/core/src/fpdfapi/fpdf_page/fpdf_page_func.cpp
+++ b/core/src/fpdfapi/fpdf_page/fpdf_page_func.cpp
@@ -6,9 +6,9 @@
 
 #include <limits.h>
 
-#include "../../../include/fpdfapi/fpdf_page.h"
 #include "../../../include/fpdfapi/fpdf_module.h"
-#include "../../../src/fxcrt/fx_safe_types.h"
+#include "../../../include/fpdfapi/fpdf_page.h"
+#include "../../../include/fxcrt/fx_safe_types.h"
 #include "../../../third_party/base/numerics/safe_conversions_impl.h"
 #include "pageint.h"
 
diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
index f1b316a0d6..e54f503380 100644
--- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
+++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
@@ -4,13 +4,14 @@
  
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "../../../include/fpdfapi/fpdf_parser.h"
+#include <utility>
+#include <vector>
+
 #include "../../../include/fpdfapi/fpdf_module.h"
 #include "../../../include/fpdfapi/fpdf_page.h"
-#include "../../../src/fxcrt/fx_safe_types.h"
+#include "../../../include/fpdfapi/fpdf_parser.h"
+#include "../../../include/fxcrt/fx_safe_types.h"
 #include "../fpdf_page/pageint.h"
-#include <utility>
-#include <vector>
 
 FX_BOOL IsSignatureDict(const CPDF_Dictionary* pDict)
 {
diff --git a/core/src/fpdfapi/fpdf_render/fpdf_render_image.cpp b/core/src/fpdfapi/fpdf_render/fpdf_render_image.cpp
index 9a11fa8798..214e4314da 100644
--- a/core/src/fpdfapi/fpdf_render/fpdf_render_image.cpp
+++ b/core/src/fpdfapi/fpdf_render/fpdf_render_image.cpp
@@ -4,14 +4,15 @@
  
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "../../../include/fxge/fx_ge.h"
-#include "../../../include/fxcodec/fx_codec.h"
 #include "../../../include/fpdfapi/fpdf_module.h"
-#include "../../../include/fpdfapi/fpdf_render.h"
 #include "../../../include/fpdfapi/fpdf_pageobj.h"
-#include "../../fxcrt/fx_safe_types.h"
+#include "../../../include/fpdfapi/fpdf_render.h"
+#include "../../../include/fxcodec/fx_codec.h"
+#include "../../../include/fxcrt/fx_safe_types.h"
+#include "../../../include/fxge/fx_ge.h"
 #include "../fpdf_page/pageint.h"
 #include "render_int.h"
+
 FX_BOOL CPDF_RenderStatus::ProcessImage(CPDF_ImageObject* pImageObj, const CFX_AffineMatrix* pObj2Device)
 {
     CPDF_ImageRenderer render;
diff --git a/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp b/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp
index b45d9c3e5d..3fabdf9f4f 100644
--- a/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp
+++ b/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp
@@ -4,12 +4,12 @@
  
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "../../../include/fxge/fx_ge.h"
-#include "../../../include/fxcodec/fx_codec.h"
 #include "../../../include/fpdfapi/fpdf_module.h"
-#include "../../../include/fpdfapi/fpdf_render.h"
 #include "../../../include/fpdfapi/fpdf_pageobj.h"
-#include "../../../src/fxcrt/fx_safe_types.h"
+#include "../../../include/fpdfapi/fpdf_render.h"
+#include "../../../include/fxcodec/fx_codec.h"
+#include "../../../include/fxcrt/fx_safe_types.h"
+#include "../../../include/fxge/fx_ge.h"
 #include "../fpdf_page/pageint.h"
 #include "render_int.h"
 
diff --git a/core/src/fpdfdoc/doc_link.cpp b/core/src/fpdfdoc/doc_link.cpp
index 4a42e21388..2f770d7d00 100644
--- a/core/src/fpdfdoc/doc_link.cpp
+++ b/core/src/fpdfdoc/doc_link.cpp
@@ -5,7 +5,7 @@
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
 #include "../../include/fpdfdoc/fpdf_doc.h"
-#include "../../src/fxcrt/fx_safe_types.h"
+#include "../../include/fxcrt/fx_safe_types.h"
 
 CPDF_LinkList::~CPDF_LinkList()
 {
diff --git a/core/src/fxcodec/codec/fx_codec_jpeg.cpp b/core/src/fxcodec/codec/fx_codec_jpeg.cpp
index 4ca0219d6f..903d2319fd 100644
--- a/core/src/fxcodec/codec/fx_codec_jpeg.cpp
+++ b/core/src/fxcodec/codec/fx_codec_jpeg.cpp
@@ -5,9 +5,10 @@
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
 #include "../../../include/fxcodec/fx_codec.h"
+#include "../../../include/fxcrt/fx_safe_types.h"
 #include "../../../include/fxge/fx_dib.h"
-#include "../../../src/fxcrt/fx_safe_types.h"
 #include "codec_int.h"
+
 extern "C" {
     static void _JpegScanSOI(const FX_BYTE*& src_buf, FX_DWORD& src_size)
     {
diff --git a/core/src/fxcodec/jbig2/JBig2_Image.cpp b/core/src/fxcodec/jbig2/JBig2_Image.cpp
index 8e27bca80c..f2cea597c1 100644
--- a/core/src/fxcodec/jbig2/JBig2_Image.cpp
+++ b/core/src/fxcodec/jbig2/JBig2_Image.cpp
@@ -5,9 +5,10 @@
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
 #include <limits.h>
+
 #include "../../../include/fxcrt/fx_basic.h"
 #include "../../../include/fxcrt/fx_coordinates.h"
-#include "../../../src/fxcrt/fx_safe_types.h"
+#include "../../../include/fxcrt/fx_safe_types.h"
 #include "JBig2_Image.h"
 
 CJBig2_Image::CJBig2_Image(FX_INT32 w, FX_INT32 h)
diff --git a/core/src/fxcrt/extension.h b/core/src/fxcrt/extension.h
index 8d02e329ad..0f37bbfefc 100644
--- a/core/src/fxcrt/extension.h
+++ b/core/src/fxcrt/extension.h
@@ -7,7 +7,7 @@
 #ifndef CORE_SRC_FXCRT_EXTENSION_H_
 #define CORE_SRC_FXCRT_EXTENSION_H_
 
-#include "fx_safe_types.h"
+#include "../../include/fxcrt/fx_safe_types.h"
 
 class IFXCRT_FileAccess
 {
diff --git a/core/src/fxcrt/fx_safe_types.h b/core/src/fxcrt/fx_safe_types.h
deleted file mode 100644
index 35a906cf27..0000000000
--- a/core/src/fxcrt/fx_safe_types.h
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2014 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CORE_SRC_FXCRT_FX_SAFE_TYPES_H_
-#define CORE_SRC_FXCRT_FX_SAFE_TYPES_H_
-
-#include <stdlib.h>  // For size_t.
-
-#include "../../../third_party/base/numerics/safe_math.h"
-
-typedef pdfium::base::CheckedNumeric<FX_DWORD> FX_SAFE_DWORD;
-typedef pdfium::base::CheckedNumeric<FX_INT32> FX_SAFE_INT32;
-typedef pdfium::base::CheckedNumeric<size_t> FX_SAFE_SIZE_T;
-typedef pdfium::base::CheckedNumeric<FX_FILESIZE> FX_SAFE_FILESIZE;
-
-#endif  // CORE_SRC_FXCRT_FX_SAFE_TYPES_H_
diff --git a/fpdfsdk/src/fpdfview.cpp b/fpdfsdk/src/fpdfview.cpp
index 52e0ccd317..2cc9dded46 100644
--- a/fpdfsdk/src/fpdfview.cpp
+++ b/fpdfsdk/src/fpdfview.cpp
@@ -4,6 +4,7 @@
  
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
+
 #include "../../public/fpdf_ext.h"
 #include "../../public/fpdf_formfill.h"
 #include "../../public/fpdf_progressive.h"
@@ -11,7 +12,7 @@
 #include "../include/fsdk_define.h"
 #include "../include/fsdk_mgr.h"
 #include "../include/fsdk_rendercontext.h"
-#include "../../../core/src/fxcrt/fx_safe_types.h"
+#include "../../../core/include/fxcrt/fx_safe_types.h"
 #include "../../third_party/base/nonstd_unique_ptr.h"
 #include "../../third_party/base/numerics/safe_conversions_impl.h"
 #include "../include/fpdfxfa/fpdfxfa_doc.h"
diff --git a/fpdfsdk/src/pdfwindow/PWL_Edit.cpp b/fpdfsdk/src/pdfwindow/PWL_Edit.cpp
index 678da68b49..83f7340fad 100644
--- a/fpdfsdk/src/pdfwindow/PWL_Edit.cpp
+++ b/fpdfsdk/src/pdfwindow/PWL_Edit.cpp
@@ -4,15 +4,15 @@
  
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
+#include "../../../core/include/fxcrt/fx_safe_types.h"
 #include "../../include/pdfwindow/PDFWindow.h"
-#include "../../include/pdfwindow/PWL_Wnd.h"
-#include "../../include/pdfwindow/PWL_EditCtrl.h"
+#include "../../include/pdfwindow/PWL_Caret.h"
 #include "../../include/pdfwindow/PWL_Edit.h"
+#include "../../include/pdfwindow/PWL_EditCtrl.h"
+#include "../../include/pdfwindow/PWL_FontMap.h"
 #include "../../include/pdfwindow/PWL_ScrollBar.h"
 #include "../../include/pdfwindow/PWL_Utils.h"
-#include "../../include/pdfwindow/PWL_Caret.h"
-#include "../../include/pdfwindow/PWL_FontMap.h"
-#include "../../../core/src/fxcrt/fx_safe_types.h"
+#include "../../include/pdfwindow/PWL_Wnd.h"
 
 /* ---------------------------- CPWL_Edit ------------------------------ */
 
diff --git a/pdfium.gyp b/pdfium.gyp
index 3ef1a13049..241da48246 100644
--- a/pdfium.gyp
+++ b/pdfium.gyp
@@ -578,13 +578,13 @@
         'core/include/fxcrt/fx_coordinates.h',
         'core/include/fxcrt/fx_ext.h',
         'core/include/fxcrt/fx_memory.h',
+        'core/include/fxcrt/fx_safe_types.h',
         'core/include/fxcrt/fx_stream.h',
         'core/include/fxcrt/fx_string.h',
         'core/include/fxcrt/fx_system.h',
         'core/include/fxcrt/fx_ucd.h',
         'core/include/fxcrt/fx_xml.h',
         'core/src/fxcrt/extension.h',
-        'core/src/fxcrt/fx_safe_types.h',
         'core/src/fxcrt/fxcrt_platforms.cpp',
         'core/src/fxcrt/fxcrt_platforms.h',
         'core/src/fxcrt/fxcrt_posix.cpp',
-- 
cgit v1.2.3