|
| 1 | +From 7e84668966d8b844e11af9d60e1bc6979ab46b2c Mon Sep 17 00:00:00 2001 |
| 2 | +From: Evangelos Foutras < [email protected]> |
| 3 | +Date: Mon, 19 Oct 2015 12:00:28 +0300 |
| 4 | +Subject: [PATCH] Add FPDFAPIJPEG_ prefix to more libjpeg functions |
| 5 | + |
| 6 | +Chromium built with use_system_libjpeg=1 can mistakenly try to use |
| 7 | +symbols exported by the libjpeg library that's bundled with pdfium. |
| 8 | + |
| 9 | +These name conflicts result in failure to encode the contents of a |
| 10 | +canvas element using toDataURL('image/jpeg'). |
| 11 | + |
| 12 | +BUG=505226 |
| 13 | +--- |
| 14 | + core/include/thirdparties/libjpeg/jpeglib.h | 35 +++++++++++++++++++++++++++++ |
| 15 | + third_party/libjpeg/jpeglib.h | 35 +++++++++++++++++++++++++++++ |
| 16 | + 2 files changed, 70 insertions(+) |
| 17 | + |
| 18 | +--- a/third_party/pdfium/core/include/thirdparties/libjpeg/jpeglib.h |
| 19 | ++++ b/third_party/pdfium/core/include/thirdparties/libjpeg/jpeglib.h |
| 20 | +@@ -20,33 +20,53 @@ |
| 21 | + #define jdiv_round_up FOXIT_PREFIX(jdiv_round_up) |
| 22 | + #define jinit_1pass_quantizer FOXIT_PREFIX(jinit_1pass_quantizer) |
| 23 | + #define jinit_2pass_quantizer FOXIT_PREFIX(jinit_2pass_quantizer) |
| 24 | ++#define jinit_c_coef_controller FOXIT_PREFIX(jinit_c_coef_controller) |
| 25 | ++#define jinit_c_main_controller FOXIT_PREFIX(jinit_c_main_controller) |
| 26 | ++#define jinit_c_master_control FOXIT_PREFIX(jinit_c_master_control) |
| 27 | ++#define jinit_c_prep_controller FOXIT_PREFIX(jinit_c_prep_controller) |
| 28 | ++#define jinit_color_converter FOXIT_PREFIX(jinit_color_converter) |
| 29 | + #define jinit_color_deconverter FOXIT_PREFIX(jinit_color_deconverter) |
| 30 | ++#define jinit_compress_master FOXIT_PREFIX(jinit_compress_master) |
| 31 | + #define jinit_d_coef_controller FOXIT_PREFIX(jinit_d_coef_controller) |
| 32 | + #define jinit_d_main_controller FOXIT_PREFIX(jinit_d_main_controller) |
| 33 | + #define jinit_d_post_controller FOXIT_PREFIX(jinit_d_post_controller) |
| 34 | ++#define jinit_downsampler FOXIT_PREFIX(jinit_downsampler) |
| 35 | ++#define jinit_forward_dct FOXIT_PREFIX(jinit_forward_dct) |
| 36 | + #define jinit_huff_decoder FOXIT_PREFIX(jinit_huff_decoder) |
| 37 | ++#define jinit_huff_encoder FOXIT_PREFIX(jinit_huff_encoder) |
| 38 | + #define jinit_input_controller FOXIT_PREFIX(jinit_input_controller) |
| 39 | + #define jinit_inverse_dct FOXIT_PREFIX(jinit_inverse_dct) |
| 40 | + #define jinit_marker_reader FOXIT_PREFIX(jinit_marker_reader) |
| 41 | ++#define jinit_marker_writer FOXIT_PREFIX(jinit_marker_writer) |
| 42 | + #define jinit_master_decompress FOXIT_PREFIX(jinit_master_decompress) |
| 43 | + #define jinit_memory_mgr FOXIT_PREFIX(jinit_memory_mgr) |
| 44 | + #define jinit_merged_upsampler FOXIT_PREFIX(jinit_merged_upsampler) |
| 45 | + #define jinit_phuff_decoder FOXIT_PREFIX(jinit_phuff_decoder) |
| 46 | ++#define jinit_phuff_encoder FOXIT_PREFIX(jinit_phuff_encoder) |
| 47 | + #define jinit_upsampler FOXIT_PREFIX(jinit_upsampler) |
| 48 | ++#define jpeg_CreateCompress FOXIT_PREFIX(jpeg_CreateCompress) |
| 49 | + #define jpeg_CreateDecompress FOXIT_PREFIX(jpeg_CreateDecompress) |
| 50 | + #define jpeg_abort FOXIT_PREFIX(jpeg_abort) |
| 51 | ++#define jpeg_abort_compress FOXIT_PREFIX(jpeg_abort_compress) |
| 52 | + #define jpeg_abort_decompress FOXIT_PREFIX(jpeg_abort_decompress) |
| 53 | ++#define jpeg_add_quant_table FOXIT_PREFIX(jpeg_add_quant_table) |
| 54 | + #define jpeg_alloc_huff_table FOXIT_PREFIX(jpeg_alloc_huff_table) |
| 55 | + #define jpeg_alloc_quant_table FOXIT_PREFIX(jpeg_alloc_quant_table) |
| 56 | + #define jpeg_calc_output_dimensions FOXIT_PREFIX(jpeg_calc_output_dimensions) |
| 57 | + #define jpeg_consume_input FOXIT_PREFIX(jpeg_consume_input) |
| 58 | ++#define jpeg_default_colorspace FOXIT_PREFIX(jpeg_default_colorspace) |
| 59 | + #define jpeg_destroy FOXIT_PREFIX(jpeg_destroy) |
| 60 | ++#define jpeg_destroy_compress FOXIT_PREFIX(jpeg_destroy_compress) |
| 61 | + #define jpeg_destroy_decompress FOXIT_PREFIX(jpeg_destroy_decompress) |
| 62 | ++#define jpeg_fdct_ifast FOXIT_PREFIX(jpeg_fdct_ifast) |
| 63 | ++#define jpeg_fdct_islow FOXIT_PREFIX(jpeg_fdct_islow) |
| 64 | + #define jpeg_fill_bit_buffer FOXIT_PREFIX(jpeg_fill_bit_buffer) |
| 65 | ++#define jpeg_finish_compress FOXIT_PREFIX(jpeg_finish_compress) |
| 66 | + #define jpeg_finish_decompress FOXIT_PREFIX(jpeg_finish_decompress) |
| 67 | + #define jpeg_finish_output FOXIT_PREFIX(jpeg_finish_output) |
| 68 | + #define jpeg_free_large FOXIT_PREFIX(jpeg_free_large) |
| 69 | + #define jpeg_free_small FOXIT_PREFIX(jpeg_free_small) |
| 70 | ++#define jpeg_gen_optimal_table FOXIT_PREFIX(jpeg_gen_optimal_table) |
| 71 | + #define jpeg_get_large FOXIT_PREFIX(jpeg_get_large) |
| 72 | + #define jpeg_get_small FOXIT_PREFIX(jpeg_get_small) |
| 73 | + #define jpeg_has_multiple_scans FOXIT_PREFIX(jpeg_has_multiple_scans) |
| 74 | +@@ -58,6 +78,7 @@ |
| 75 | + #define jpeg_idct_ifast FOXIT_PREFIX(jpeg_idct_ifast) |
| 76 | + #define jpeg_idct_islow FOXIT_PREFIX(jpeg_idct_islow) |
| 77 | + #define jpeg_input_complete FOXIT_PREFIX(jpeg_input_complete) |
| 78 | ++#define jpeg_make_c_derived_tbl FOXIT_PREFIX(jpeg_make_c_derived_tbl) |
| 79 | + #define jpeg_make_d_derived_tbl FOXIT_PREFIX(jpeg_make_d_derived_tbl) |
| 80 | + #define jpeg_mem_available FOXIT_PREFIX(jpeg_mem_available) |
| 81 | + #define jpeg_mem_init FOXIT_PREFIX(jpeg_mem_init) |
| 82 | +@@ -65,18 +86,32 @@ |
| 83 | + #define jpeg_natural_order FOXIT_PREFIX(jpeg_natural_order) |
| 84 | + #define jpeg_new_colormap FOXIT_PREFIX(jpeg_new_colormap) |
| 85 | + #define jpeg_open_backing_store FOXIT_PREFIX(jpeg_open_backing_store) |
| 86 | ++#define jpeg_quality_scaling FOXIT_PREFIX(jpeg_quality_scaling) |
| 87 | + #define jpeg_read_coefficients FOXIT_PREFIX(jpeg_read_coefficients) |
| 88 | + #define jpeg_read_header FOXIT_PREFIX(jpeg_read_header) |
| 89 | + #define jpeg_read_raw_data FOXIT_PREFIX(jpeg_read_raw_data) |
| 90 | + #define jpeg_read_scanlines FOXIT_PREFIX(jpeg_read_scanlines) |
| 91 | + #define jpeg_resync_to_restart FOXIT_PREFIX(jpeg_resync_to_restart) |
| 92 | + #define jpeg_save_markers FOXIT_PREFIX(jpeg_save_markers) |
| 93 | ++#define jpeg_set_colorspace FOXIT_PREFIX(jpeg_set_colorspace) |
| 94 | ++#define jpeg_set_defaults FOXIT_PREFIX(jpeg_set_defaults) |
| 95 | ++#define jpeg_set_linear_quality FOXIT_PREFIX(jpeg_set_linear_quality) |
| 96 | + #define jpeg_set_marker_processor FOXIT_PREFIX(jpeg_set_marker_processor) |
| 97 | ++#define jpeg_set_quality FOXIT_PREFIX(jpeg_set_quality) |
| 98 | ++#define jpeg_simple_progression FOXIT_PREFIX(jpeg_simple_progression) |
| 99 | ++#define jpeg_start_compress FOXIT_PREFIX(jpeg_start_compress) |
| 100 | + #define jpeg_start_decompress FOXIT_PREFIX(jpeg_start_decompress) |
| 101 | + #define jpeg_start_output FOXIT_PREFIX(jpeg_start_output) |
| 102 | + #define jpeg_std_error FOXIT_PREFIX(jpeg_std_error) |
| 103 | + #define jpeg_std_message_table FOXIT_PREFIX(jpeg_std_message_table) |
| 104 | + #define jpeg_stdio_src FOXIT_PREFIX(jpeg_stdio_src) |
| 105 | ++#define jpeg_suppress_tables FOXIT_PREFIX(jpeg_suppress_tables) |
| 106 | ++#define jpeg_write_m_byte FOXIT_PREFIX(jpeg_write_m_byte) |
| 107 | ++#define jpeg_write_m_header FOXIT_PREFIX(jpeg_write_m_header) |
| 108 | ++#define jpeg_write_marker FOXIT_PREFIX(jpeg_write_marker) |
| 109 | ++#define jpeg_write_raw_data FOXIT_PREFIX(jpeg_write_raw_data) |
| 110 | ++#define jpeg_write_scanlines FOXIT_PREFIX(jpeg_write_scanlines) |
| 111 | ++#define jpeg_write_tables FOXIT_PREFIX(jpeg_write_tables) |
| 112 | + #define jround_up FOXIT_PREFIX(jround_up) |
| 113 | + #define jzero_far FOXIT_PREFIX(jzero_far) |
| 114 | + |
| 115 | +--- a/third_party/pdfium/third_party/libjpeg/jpeglib.h |
| 116 | ++++ b/third_party/pdfium/third_party/libjpeg/jpeglib.h |
| 117 | +@@ -20,33 +20,53 @@ |
| 118 | + #define jdiv_round_up FOXIT_PREFIX(jdiv_round_up) |
| 119 | + #define jinit_1pass_quantizer FOXIT_PREFIX(jinit_1pass_quantizer) |
| 120 | + #define jinit_2pass_quantizer FOXIT_PREFIX(jinit_2pass_quantizer) |
| 121 | ++#define jinit_c_coef_controller FOXIT_PREFIX(jinit_c_coef_controller) |
| 122 | ++#define jinit_c_main_controller FOXIT_PREFIX(jinit_c_main_controller) |
| 123 | ++#define jinit_c_master_control FOXIT_PREFIX(jinit_c_master_control) |
| 124 | ++#define jinit_c_prep_controller FOXIT_PREFIX(jinit_c_prep_controller) |
| 125 | ++#define jinit_color_converter FOXIT_PREFIX(jinit_color_converter) |
| 126 | + #define jinit_color_deconverter FOXIT_PREFIX(jinit_color_deconverter) |
| 127 | ++#define jinit_compress_master FOXIT_PREFIX(jinit_compress_master) |
| 128 | + #define jinit_d_coef_controller FOXIT_PREFIX(jinit_d_coef_controller) |
| 129 | + #define jinit_d_main_controller FOXIT_PREFIX(jinit_d_main_controller) |
| 130 | + #define jinit_d_post_controller FOXIT_PREFIX(jinit_d_post_controller) |
| 131 | ++#define jinit_downsampler FOXIT_PREFIX(jinit_downsampler) |
| 132 | ++#define jinit_forward_dct FOXIT_PREFIX(jinit_forward_dct) |
| 133 | + #define jinit_huff_decoder FOXIT_PREFIX(jinit_huff_decoder) |
| 134 | ++#define jinit_huff_encoder FOXIT_PREFIX(jinit_huff_encoder) |
| 135 | + #define jinit_input_controller FOXIT_PREFIX(jinit_input_controller) |
| 136 | + #define jinit_inverse_dct FOXIT_PREFIX(jinit_inverse_dct) |
| 137 | + #define jinit_marker_reader FOXIT_PREFIX(jinit_marker_reader) |
| 138 | ++#define jinit_marker_writer FOXIT_PREFIX(jinit_marker_writer) |
| 139 | + #define jinit_master_decompress FOXIT_PREFIX(jinit_master_decompress) |
| 140 | + #define jinit_memory_mgr FOXIT_PREFIX(jinit_memory_mgr) |
| 141 | + #define jinit_merged_upsampler FOXIT_PREFIX(jinit_merged_upsampler) |
| 142 | + #define jinit_phuff_decoder FOXIT_PREFIX(jinit_phuff_decoder) |
| 143 | ++#define jinit_phuff_encoder FOXIT_PREFIX(jinit_phuff_encoder) |
| 144 | + #define jinit_upsampler FOXIT_PREFIX(jinit_upsampler) |
| 145 | ++#define jpeg_CreateCompress FOXIT_PREFIX(jpeg_CreateCompress) |
| 146 | + #define jpeg_CreateDecompress FOXIT_PREFIX(jpeg_CreateDecompress) |
| 147 | + #define jpeg_abort FOXIT_PREFIX(jpeg_abort) |
| 148 | ++#define jpeg_abort_compress FOXIT_PREFIX(jpeg_abort_compress) |
| 149 | + #define jpeg_abort_decompress FOXIT_PREFIX(jpeg_abort_decompress) |
| 150 | ++#define jpeg_add_quant_table FOXIT_PREFIX(jpeg_add_quant_table) |
| 151 | + #define jpeg_alloc_huff_table FOXIT_PREFIX(jpeg_alloc_huff_table) |
| 152 | + #define jpeg_alloc_quant_table FOXIT_PREFIX(jpeg_alloc_quant_table) |
| 153 | + #define jpeg_calc_output_dimensions FOXIT_PREFIX(jpeg_calc_output_dimensions) |
| 154 | + #define jpeg_consume_input FOXIT_PREFIX(jpeg_consume_input) |
| 155 | ++#define jpeg_default_colorspace FOXIT_PREFIX(jpeg_default_colorspace) |
| 156 | + #define jpeg_destroy FOXIT_PREFIX(jpeg_destroy) |
| 157 | ++#define jpeg_destroy_compress FOXIT_PREFIX(jpeg_destroy_compress) |
| 158 | + #define jpeg_destroy_decompress FOXIT_PREFIX(jpeg_destroy_decompress) |
| 159 | ++#define jpeg_fdct_ifast FOXIT_PREFIX(jpeg_fdct_ifast) |
| 160 | ++#define jpeg_fdct_islow FOXIT_PREFIX(jpeg_fdct_islow) |
| 161 | + #define jpeg_fill_bit_buffer FOXIT_PREFIX(jpeg_fill_bit_buffer) |
| 162 | ++#define jpeg_finish_compress FOXIT_PREFIX(jpeg_finish_compress) |
| 163 | + #define jpeg_finish_decompress FOXIT_PREFIX(jpeg_finish_decompress) |
| 164 | + #define jpeg_finish_output FOXIT_PREFIX(jpeg_finish_output) |
| 165 | + #define jpeg_free_large FOXIT_PREFIX(jpeg_free_large) |
| 166 | + #define jpeg_free_small FOXIT_PREFIX(jpeg_free_small) |
| 167 | ++#define jpeg_gen_optimal_table FOXIT_PREFIX(jpeg_gen_optimal_table) |
| 168 | + #define jpeg_get_large FOXIT_PREFIX(jpeg_get_large) |
| 169 | + #define jpeg_get_small FOXIT_PREFIX(jpeg_get_small) |
| 170 | + #define jpeg_has_multiple_scans FOXIT_PREFIX(jpeg_has_multiple_scans) |
| 171 | +@@ -58,6 +78,7 @@ |
| 172 | + #define jpeg_idct_ifast FOXIT_PREFIX(jpeg_idct_ifast) |
| 173 | + #define jpeg_idct_islow FOXIT_PREFIX(jpeg_idct_islow) |
| 174 | + #define jpeg_input_complete FOXIT_PREFIX(jpeg_input_complete) |
| 175 | ++#define jpeg_make_c_derived_tbl FOXIT_PREFIX(jpeg_make_c_derived_tbl) |
| 176 | + #define jpeg_make_d_derived_tbl FOXIT_PREFIX(jpeg_make_d_derived_tbl) |
| 177 | + #define jpeg_mem_available FOXIT_PREFIX(jpeg_mem_available) |
| 178 | + #define jpeg_mem_init FOXIT_PREFIX(jpeg_mem_init) |
| 179 | +@@ -65,18 +86,32 @@ |
| 180 | + #define jpeg_natural_order FOXIT_PREFIX(jpeg_natural_order) |
| 181 | + #define jpeg_new_colormap FOXIT_PREFIX(jpeg_new_colormap) |
| 182 | + #define jpeg_open_backing_store FOXIT_PREFIX(jpeg_open_backing_store) |
| 183 | ++#define jpeg_quality_scaling FOXIT_PREFIX(jpeg_quality_scaling) |
| 184 | + #define jpeg_read_coefficients FOXIT_PREFIX(jpeg_read_coefficients) |
| 185 | + #define jpeg_read_header FOXIT_PREFIX(jpeg_read_header) |
| 186 | + #define jpeg_read_raw_data FOXIT_PREFIX(jpeg_read_raw_data) |
| 187 | + #define jpeg_read_scanlines FOXIT_PREFIX(jpeg_read_scanlines) |
| 188 | + #define jpeg_resync_to_restart FOXIT_PREFIX(jpeg_resync_to_restart) |
| 189 | + #define jpeg_save_markers FOXIT_PREFIX(jpeg_save_markers) |
| 190 | ++#define jpeg_set_colorspace FOXIT_PREFIX(jpeg_set_colorspace) |
| 191 | ++#define jpeg_set_defaults FOXIT_PREFIX(jpeg_set_defaults) |
| 192 | ++#define jpeg_set_linear_quality FOXIT_PREFIX(jpeg_set_linear_quality) |
| 193 | + #define jpeg_set_marker_processor FOXIT_PREFIX(jpeg_set_marker_processor) |
| 194 | ++#define jpeg_set_quality FOXIT_PREFIX(jpeg_set_quality) |
| 195 | ++#define jpeg_simple_progression FOXIT_PREFIX(jpeg_simple_progression) |
| 196 | ++#define jpeg_start_compress FOXIT_PREFIX(jpeg_start_compress) |
| 197 | + #define jpeg_start_decompress FOXIT_PREFIX(jpeg_start_decompress) |
| 198 | + #define jpeg_start_output FOXIT_PREFIX(jpeg_start_output) |
| 199 | + #define jpeg_std_error FOXIT_PREFIX(jpeg_std_error) |
| 200 | + #define jpeg_std_message_table FOXIT_PREFIX(jpeg_std_message_table) |
| 201 | + #define jpeg_stdio_src FOXIT_PREFIX(jpeg_stdio_src) |
| 202 | ++#define jpeg_suppress_tables FOXIT_PREFIX(jpeg_suppress_tables) |
| 203 | ++#define jpeg_write_m_byte FOXIT_PREFIX(jpeg_write_m_byte) |
| 204 | ++#define jpeg_write_m_header FOXIT_PREFIX(jpeg_write_m_header) |
| 205 | ++#define jpeg_write_marker FOXIT_PREFIX(jpeg_write_marker) |
| 206 | ++#define jpeg_write_raw_data FOXIT_PREFIX(jpeg_write_raw_data) |
| 207 | ++#define jpeg_write_scanlines FOXIT_PREFIX(jpeg_write_scanlines) |
| 208 | ++#define jpeg_write_tables FOXIT_PREFIX(jpeg_write_tables) |
| 209 | + #define jround_up FOXIT_PREFIX(jround_up) |
| 210 | + #define jzero_far FOXIT_PREFIX(jzero_far) |
0 commit comments