Update pdfium to 32b639de35f905a5e5559f305d9032cde5ae5c77

- Also add script to simplify future updates
- Rewrite make files. Now they match the Build.gn files better.

Build is similar to: no skia, no v8, no xfa

Bug: 27564090
Change-Id: I28a8c79fd7f71d600c85b0a4a422d18ca8f1267c
diff --git a/public/fpdf_dataavail.h b/public/fpdf_dataavail.h
index 317a355..0f8ff7d 100644
--- a/public/fpdf_dataavail.h
+++ b/public/fpdf_dataavail.h
@@ -11,11 +11,18 @@
 
 #include "fpdfview.h"
 
-/** The result of the process which check linearized PDF. */
-#define FSDK_IS_LINEARIZED          1
-#define FSDK_NOT_LINEARIZED         0
-#define FSDK_UNKNOW_LINEARIZED      -1
+#define PDF_LINEARIZATION_UNKNOWN -1
+#define PDF_NOT_LINEARIZED 0
+#define PDF_LINEARIZED 1
 
+#define PDF_DATA_ERROR -1
+#define PDF_DATA_NOTAVAIL 0
+#define PDF_DATA_AVAIL 1
+
+#define PDF_FORM_ERROR -1
+#define PDF_FORM_NOTAVAIL 0
+#define PDF_FORM_AVAIL 1
+#define PDF_FORM_NOTEXIST 2
 
 #ifdef __cplusplus
 extern "C" {
@@ -26,28 +33,29 @@
  *          Interface for checking whether the section of the file is available.
  */
 typedef struct _FX_FILEAVAIL {
-    /**
-     * Version number of the interface. Currently must be 1.
-     */
-    int version;
+  /**
+   * Version number of the interface. Currently must be 1.
+   */
+  int version;
 
-    /**
-     * Method: IsDataAvail
-     *      Report whether the specified data section is available. A section is available only if all bytes in the section is available.
-     * Interface Version:
-     *      1
-     * Implementation Required:
-     *      Yes
-     * Parameters:
-     *      pThis       -   Pointer to the interface structure itself.
-     *      offset      -   The offset of the data section in the file.
-     *      size        -   The size of the data section
-     * Return Value:
-     *      true means the specified data section is available.
-     * Comments:
-     *      Called by Foxit SDK to check whether the data section is ready.
-     */
-    FPDF_BOOL (*IsDataAvail)(struct _FX_FILEAVAIL* pThis, size_t offset, size_t size);
+  /**
+   * Method: IsDataAvail
+   *      Report whether the specified data section is available. A section is
+   * available only if all bytes in the section is available.
+   * Interface Version:
+   *      1
+   * Implementation Required:
+   *      Yes
+   * Parameters:
+   *      pThis       -   Pointer to the interface structure itself.
+   *      offset      -   The offset of the data section in the file.
+   *      size        -   The size of the data section
+   * Return Value:
+   *      true means the specified data section is available.
+   * Comments:
+   *      Called by Foxit SDK to check whether the data section is ready.
+   */
+  FPDF_BOOL (*IsDataAvail)(struct _FX_FILEAVAIL* pThis, size_t offset, size_t size);
 } FX_FILEAVAIL;
 
 typedef void* FPDF_AVAIL;
@@ -57,21 +65,26 @@
 *           Create a document availability provider.
 *
 * Parameters:
-*           file_avail  -   Pointer to file availability interface to check availability of file data.
-*           file        -   Pointer to a file access interface for reading data from file.
+*           file_avail  -   Pointer to file availability interface to check
+* availability of file data.
+*           file        -   Pointer to a file access interface for reading data
+* from file.
 * Return value:
 *           A handle to the document availability provider. NULL for error.
 * Comments:
-*           Application must call FPDFAvail_Destroy when done with the availability provider.
+*           Application must call FPDFAvail_Destroy when done with the
+* availability provider.
 */
-DLLEXPORT FPDF_AVAIL STDCALL FPDFAvail_Create(FX_FILEAVAIL* file_avail, FPDF_FILEACCESS* file);
+DLLEXPORT FPDF_AVAIL STDCALL FPDFAvail_Create(FX_FILEAVAIL* file_avail,
+                                              FPDF_FILEACCESS* file);
 
 /**
 * Function: FPDFAvail_Destroy
 *           Destroy a document availibity provider.
 *
 * Parameters:
-*           avail       -   Handle to document availability provider returned by FPDFAvail_Create
+*           avail       -   Handle to document availability provider returned by
+* FPDFAvail_Create
 * Return Value:
 *           None.
 */
@@ -79,63 +92,81 @@
 
 /**
  * Interface: FX_DOWNLOADHINTS
- *          Download hints interface. Used to receive hints for further downloading.
+ *          Download hints interface. Used to receive hints for further
+ * downloading.
  */
 typedef struct _FX_DOWNLOADHINTS {
-    /**
-     * Version number of the interface. Currently must be 1.
-     */
-    int version;
+  /**
+   * Version number of the interface. Currently must be 1.
+   */
+  int version;
 
-    /**
-     * Method: AddSegment
-     *      Add a section to be downloaded.
-     * Interface Version:
-     *      1
-     * Implementation Required:
-     *      Yes
-     * Parameters:
-     *      pThis       -   Pointer to the interface structure itself.
-     *      offset      -   The offset of the hint reported to be downloaded.
-     *      size        -   The size of the hint reported to be downloaded.
-     * Return Value:
-     *      None.
-     * Comments:
-     *      Called by Foxit SDK to report some downloading hints for download manager.
-     *      The position and size of section may be not accurate, part of the section might be already available.
-     *      The download manager must deal with that to maximize download efficiency.
-     */
-    void (*AddSegment)(struct _FX_DOWNLOADHINTS* pThis, size_t offset, size_t size);
+  /**
+   * Method: AddSegment
+   *      Add a section to be downloaded.
+   * Interface Version:
+   *      1
+   * Implementation Required:
+   *      Yes
+   * Parameters:
+   *      pThis       -   Pointer to the interface structure itself.
+   *      offset      -   The offset of the hint reported to be downloaded.
+   *      size        -   The size of the hint reported to be downloaded.
+   * Return Value:
+   *      None.
+   * Comments:
+   *      Called by Foxit SDK to report some downloading hints for download
+   * manager.
+   *      The position and size of section may be not accurate, part of the
+   * section might be already available.
+   *      The download manager must deal with that to maximize download
+   * efficiency.
+   */
+  void (*AddSegment)(struct _FX_DOWNLOADHINTS* pThis,
+                     size_t offset,
+                     size_t size);
 } FX_DOWNLOADHINTS;
 
 /**
 * Function: FPDFAvail_IsDocAvail
-*           Check whether the document is ready for loading, if not, get download hints.
+*           Check whether the document is ready for loading, if not, get
+* download hints.
 *
 * Parameters:
-*           avail       -   Handle to document availability provider returned by FPDFAvail_Create
-*           hints       -   Pointer to a download hints interface, receiving generated hints
+*           avail       -   Handle to document availability provider returned by
+* FPDFAvail_Create
+*           hints       -   Pointer to a download hints interface, receiving
+* generated hints
 * Return value:
-*           Non-zero for page is fully available, 0 for page not yet available.
+*           PDF_DATA_ERROR: A common error is returned. It can't tell
+*                           whehter data are availabe or not.
+*           PDF_DATA_NOTAVAIL: Data are not yet available.
+*           PDF_DATA_AVAIL: Data are available.
 * Comments:
-*           The application should call this function whenever new data arrived, and process all the
-*           generated download hints if any, until the function returns non-zero value. Then the
-*           application can call FPDFAvail_GetDocument() to get a document handle.
+*           Applications should call this function whenever new data arrived,
+*           and process all the generated download hints if any, until the
+*           function returns PDF_DATA_ERROR or PDF_DATA_AVAIL. Then
+*           applications can call FPDFAvail_GetDocument() to get a document
+*           handle.
 */
-DLLEXPORT int STDCALL FPDFAvail_IsDocAvail(FPDF_AVAIL avail, FX_DOWNLOADHINTS* hints);
+DLLEXPORT int STDCALL
+FPDFAvail_IsDocAvail(FPDF_AVAIL avail, FX_DOWNLOADHINTS* hints);
 
 /**
 * Function: FPDFAvail_GetDocument
 *           Get document from the availability provider.
 *
 * Parameters:
-*           avail       -   Handle to document availability provider returned by FPDFAvail_Create
+*           avail       -   Handle to document availability provider returned by
+* FPDFAvail_Create
 *     password  -   Optional password for decrypting the PDF file.
 * Return value:
 *           Handle to the document.
 * Comments:
-*           After FPDFAvail_IsDocAvail() returns TRUE, the application should call this function to
-*           get the document handle. To close the document, use FPDF_CloseDocument function.
+*           After FPDFAvail_IsDocAvail() returns TRUE, the application should
+* call this function to
+*           get the document handle. To close the document, use
+* FPDF_CloseDocument function.
 */
 DLLEXPORT FPDF_DOCUMENT STDCALL FPDFAvail_GetDocument(FPDF_AVAIL avail,
                                                       FPDF_BYTESTRING password);
@@ -149,7 +180,8 @@
 * Return Value:
 *           Zero-based index for the first available page.
 * Comments:
-*           For most linearized PDFs, the first available page would be just the first page, however,
+*           For most linearized PDFs, the first available page would be just the
+* first page, however,
 *           some PDFs might make other page to be the first available page.
 *           For non-linearized PDF, this function will always return zero.
 */
@@ -157,61 +189,82 @@
 
 /**
 * Function: FPDFAvail_IsPageAvail
-*           Check whether a page is ready for loading, if not, get download hints.
+*           Check whether a page is ready for loading, if not, get download
+* hints.
 *
 * Parameters:
-*           avail       -   Handle to document availability provider returned by FPDFAvail_Create
+*           avail       -   Handle to document availability provider returned by
+* FPDFAvail_Create
 *           page_index  -   Index number of the page. 0 for the first page.
-*           hints       -   Pointer to a download hints interface, receiving generated hints
+*           hints       -   Pointer to a download hints interface, receiving
+* generated hints
 * Return value:
-*           Non-zero for page is fully available, 0 for page not yet available.
+*           PDF_DATA_ERROR: A common error is returned. It can't tell
+*                           whehter data are availabe or not.
+*           PDF_DATA_NOTAVAIL: Data are not yet available.
+*           PDF_DATA_AVAIL: Data are available.
 * Comments:
-*           This function call be called only after FPDFAvail_GetDocument if called.
-*           The application should call this function whenever new data arrived, and process all the
-*           generated download hints if any, until the function returns non-zero value. Then the
-*           application can perform page loading.
+*           This function can be called only after FPDFAvail_GetDocument is
+*           called. Applications should call this function whenever new data
+*           arrived and process all the generated download hints if any, until
+*           this function returns PDF_DATA_ERROR or PDF_DATA_AVAIL. Then
+*           applications can perform page loading.
 */
-DLLEXPORT int STDCALL FPDFAvail_IsPageAvail(FPDF_AVAIL avail, int page_index, FX_DOWNLOADHINTS* hints);
+DLLEXPORT int STDCALL FPDFAvail_IsPageAvail(FPDF_AVAIL avail,
+                                            int page_index,
+                                            FX_DOWNLOADHINTS* hints);
 
 /**
 * Function: FPDFAvail_ISFormAvail
-*           Check whether Form data is ready for init, if not, get download hints.
+*           Check whether Form data is ready for init, if not, get download
+* hints.
 *
 * Parameters:
-*           avail       -   Handle to document availability provider returned by FPDFAvail_Create
-*           hints       -   Pointer to a download hints interface, receiving generated hints
+*           avail       -   Handle to document availability provider returned by
+* FPDFAvail_Create
+*           hints       -   Pointer to a download hints interface, receiving
+* generated hints
 * Return value:
-*           Non-zero for Form data is fully available, 0 for Form data not yet available.
-*           Details: -1 - error, the input parameter not correct, such as hints is null.
-*                    0  - data not available
-*                    1  - data available
-*                    2  - no form data.
+*           PDF_FORM_ERROR    - A common eror, in general incorrect parameters,
+*                               like 'hints' is nullptr.
+*           PDF_FORM_NOTAVAIL - data not available
+*           PDF_FORM_AVAIL    - data available
+*           PDF_FORM_NOTEXIST - no form data
 * Comments:
-*           This function call be called only after FPDFAvail_GetDocument if called.
-*           The application should call this function whenever new data arrived, and process all the
-*           generated download hints if any, until the function returns non-zero value. Then the
-*           application can perform page loading. Recommend to call FPDFDOC_InitFormFillEnvironment
+*           This function can be called only after FPDFAvail_GetDocument is
+*           called.
+*           The application should call this function whenever new data arrived,
+* and process all the
+*           generated download hints if any, until the function returns non-zero
+* value. Then the
+*           application can perform page loading. Recommend to call
+* FPDFDOC_InitFormFillEnvironment
 *           after the function returns non-zero value.
 */
-DLLEXPORT int STDCALL FPDFAvail_IsFormAvail(FPDF_AVAIL avail, FX_DOWNLOADHINTS* hints);
+DLLEXPORT int STDCALL FPDFAvail_IsFormAvail(FPDF_AVAIL avail,
+                                            FX_DOWNLOADHINTS* hints);
 
 /**
 * Function: FPDFAvail_IsLinearized
 *           To check whether a document is Linearized PDF file.
 *
 * Parameters:
-*           avail       -   Handle to document availability provider returned by FPDFAvail_Create
+*           avail       -   Handle to document availability provider returned by
+* FPDFAvail_Create
 * Return value:
-*           return TRUE means the document is linearized PDF else not.
-*           FSDK_IS_LINEARIZED is a linearize file.
-*           FSDK_NOT_LINEARIZED is not a linearize file.
-*           FSDK_UNKNOW_LINEARIZED don't know whether the file is a linearize file.
+*           PDF_LINEARIZED is a linearize file.
+*           PDF_NOT_LINEARIZED is not a linearize file.
+*           PDF_LINEARIZATION_UNKNOWN doesn't know whether the file is a
+*linearize file.
+*
 * Comments:
-*           It return TRUE/FALSE as soon as we have first 1K data.  If the file's size less than
-*           1K,we don't known whether the PDF is a linearized file.
+*           It return PDF_LINEARIZED or PDF_NOT_LINEARIZED as soon as
+*           we have first 1K data.  If the file's size less than 1K, it returns
+*           PDF_LINEARIZATION_UNKNOWN because there is not enough information to
+*           tell whether a PDF file is a linearized file or not.
 *
 */
-DLLEXPORT FPDF_BOOL STDCALL FPDFAvail_IsLinearized(FPDF_AVAIL avail);
+DLLEXPORT int STDCALL FPDFAvail_IsLinearized(FPDF_AVAIL avail);
 
 #ifdef __cplusplus
 }