Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(31)

Side by Side Diff: pdf/pdfium/pdfium_engine.cc

Issue 1709833002: Remove partially implemented PDF FFI_* handlers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "pdf/pdfium/pdfium_engine.h" 5 #include "pdf/pdfium/pdfium_engine.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 635 matching lines...) Expand 10 before | Expand all | Expand 10 after
646 } 646 }
647 FPDFAvail_Destroy(fpdf_availability_); 647 FPDFAvail_Destroy(fpdf_availability_);
648 648
649 STLDeleteElements(&pages_); 649 STLDeleteElements(&pages_);
650 } 650 }
651 651
652 #ifdef PDF_USE_XFA 652 #ifdef PDF_USE_XFA
653 653
654 // This is just for testing, needs to be removed later 654 // This is just for testing, needs to be removed later
655 #if defined(WIN32) 655 #if defined(WIN32)
656 #define XFA_TESTFILE(filename) "E:/"#filename 656 #define XFA_TESTFILE(filename) "E:/"#filename
Lei Zhang 2016/02/18 01:13:11 Remove?
Tom Sepez 2016/02/18 17:52:44 Done.
657 #else 657 #else
658 #define XFA_TESTFILE(filename) "/home/"#filename 658 #define XFA_TESTFILE(filename) "/home/"#filename
659 #endif 659 #endif
660 660
661 struct FPDF_FILE { 661 struct FPDF_FILE {
662 FPDF_FILEHANDLER file_handler; 662 FPDF_FILEHANDLER file_handler;
663 FILE* file; 663 FILE* file;
664 }; 664 };
665 665
666 void Sample_Release(FPDF_LPVOID client_data) { 666 void Sample_Release(FPDF_LPVOID client_data) {
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
705 if (!client_data) 705 if (!client_data)
706 return -1; 706 return -1;
707 FPDF_FILE* file_wrapper = (FPDF_FILE*)client_data; 707 FPDF_FILE* file_wrapper = (FPDF_FILE*)client_data;
708 if (fseek(file_wrapper->file, (long)offset, SEEK_SET)) 708 if (fseek(file_wrapper->file, (long)offset, SEEK_SET))
709 return -1; 709 return -1;
710 // Write data 710 // Write data
711 size_t write_size = fwrite(buffer, 1, size, file_wrapper->file); 711 size_t write_size = fwrite(buffer, 1, size, file_wrapper->file);
712 return write_size == size ? 0 : -1; 712 return write_size == size ? 0 : -1;
713 } 713 }
714 714
715 FPDF_RESULT Sample_Flush(FPDF_LPVOID client_data) { 715 FPDF_RESULT Sample_Flush(FPDF_LPVOID client_data) {
Lei Zhang 2016/02/18 01:13:11 Are we going to get warnings / errors about Sample
Tom Sepez 2016/02/18 17:52:44 Not anymore - I removed all this.
716 if (!client_data) 716 if (!client_data)
717 return -1; 717 return -1;
718 // Flush file 718 // Flush file
719 fflush(((FPDF_FILE*)client_data)->file); 719 fflush(((FPDF_FILE*)client_data)->file);
720 return 0; 720 return 0;
721 } 721 }
722 722
723 FPDF_RESULT Sample_Truncate(FPDF_LPVOID client_data, FPDF_DWORD size) { 723 FPDF_RESULT Sample_Truncate(FPDF_LPVOID client_data, FPDF_DWORD size) {
724 return 0; 724 return 0;
725 } 725 }
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
869 FPDF_FILEHANDLER* file_handle, 869 FPDF_FILEHANDLER* file_handle,
870 int file_flag, 870 int file_flag,
871 FPDF_WIDESTRING to) { 871 FPDF_WIDESTRING to) {
872 std::string to_str = 872 std::string to_str =
873 base::UTF16ToUTF8(reinterpret_cast<const base::char16*>(to)); 873 base::UTF16ToUTF8(reinterpret_cast<const base::char16*>(to));
874 // TODO: needs the full implementation of form uploading 874 // TODO: needs the full implementation of form uploading
875 } 875 }
876 876
877 FPDF_LPFILEHANDLER PDFiumEngine::Form_DownloadFromURL(FPDF_FORMFILLINFO* param, 877 FPDF_LPFILEHANDLER PDFiumEngine::Form_DownloadFromURL(FPDF_FORMFILLINFO* param,
878 FPDF_WIDESTRING url) { 878 FPDF_WIDESTRING url) {
879 std::string url_str = 879 // NOTE: Think hard about the security implications before allowing
880 base::UTF16ToUTF8(reinterpret_cast<const base::char16*>(url)); 880 // a PDF file to perform this action.
881 881 return nullptr;
882 // Now should get data from url.
883 // For testing purpose, use data read from file
884 // TODO: needs the full implementation here
885 FILE* file = fopen(XFA_TESTFILE("downloadtest.tem"), "w");
886
887 FPDF_FILE* file_wrapper = new FPDF_FILE;
888 file_wrapper->file = file;
889 file_wrapper->file_handler.clientData = file_wrapper;
890 file_wrapper->file_handler.Flush = Sample_Flush;
891 file_wrapper->file_handler.GetSize = Sample_GetSize;
892 file_wrapper->file_handler.ReadBlock = Sample_ReadBlock;
893 file_wrapper->file_handler.Release = Sample_Release;
894 file_wrapper->file_handler.Truncate = Sample_Truncate;
895 file_wrapper->file_handler.WriteBlock = Sample_WriteBlock;
896
897 return &file_wrapper->file_handler;
898 } 882 }
899 883
900 FPDF_FILEHANDLER* PDFiumEngine::Form_OpenFile(FPDF_FORMFILLINFO* param, 884 FPDF_FILEHANDLER* PDFiumEngine::Form_OpenFile(FPDF_FORMFILLINFO* param,
901 int file_flag, 885 int file_flag,
902 FPDF_WIDESTRING url, 886 FPDF_WIDESTRING url,
903 const char* mode) { 887 const char* mode) {
904 std::string url_str = url ? 888 // NOTE: Think hard about the security implications before allowing
905 base::UTF16ToUTF8(reinterpret_cast<const base::char16*>(url)) : "NULL"; 889 // a PDF file to perform this action.
906 890 return nullptr;
907 // TODO: need to implement open file from the url
908 // Use a file path for the ease of testing
909 FILE* file = fopen(XFA_TESTFILE("tem.txt"), mode);
910 FPDF_FILE* file_wrapper = new FPDF_FILE;
911 file_wrapper->file = file;
912 file_wrapper->file_handler.clientData = file_wrapper;
913 file_wrapper->file_handler.Flush = Sample_Flush;
914 file_wrapper->file_handler.GetSize = Sample_GetSize;
915 file_wrapper->file_handler.ReadBlock = Sample_ReadBlock;
916 file_wrapper->file_handler.Release = Sample_Release;
917 file_wrapper->file_handler.Truncate = Sample_Truncate;
918 file_wrapper->file_handler.WriteBlock = Sample_WriteBlock;
919 return &file_wrapper->file_handler;
920 } 891 }
921 892
922 void PDFiumEngine::Form_GotoURL(FPDF_FORMFILLINFO* param, 893 void PDFiumEngine::Form_GotoURL(FPDF_FORMFILLINFO* param,
923 FPDF_DOCUMENT document, 894 FPDF_DOCUMENT document,
924 FPDF_WIDESTRING url) { 895 FPDF_WIDESTRING url) {
925 std::string url_str = 896 std::string url_str =
926 base::UTF16ToUTF8(reinterpret_cast<const base::char16*>(url)); 897 base::UTF16ToUTF8(reinterpret_cast<const base::char16*>(url));
927 // TODO: needs to implement GOTO URL action 898 // TODO: needs to implement GOTO URL action
928 } 899 }
929 900
(...skipping 3041 matching lines...) Expand 10 before | Expand all | Expand 10 after
3971 double* height) { 3942 double* height) {
3972 FPDF_DOCUMENT doc = FPDF_LoadMemDocument(pdf_buffer, pdf_buffer_size, NULL); 3943 FPDF_DOCUMENT doc = FPDF_LoadMemDocument(pdf_buffer, pdf_buffer_size, NULL);
3973 if (!doc) 3944 if (!doc)
3974 return false; 3945 return false;
3975 bool success = FPDF_GetPageSizeByIndex(doc, page_number, width, height) != 0; 3946 bool success = FPDF_GetPageSizeByIndex(doc, page_number, width, height) != 0;
3976 FPDF_CloseDocument(doc); 3947 FPDF_CloseDocument(doc);
3977 return success; 3948 return success;
3978 } 3949 }
3979 3950
3980 } // namespace chrome_pdf 3951 } // namespace chrome_pdf
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698