)]}' { "commit": "cde5101eb15b24519e89fa500fe37038bc8e2201", "tree": "ce3f6e9215769e4e1494479740cc4eaf957a109b", "parents": [ "d9871435eb7cea00a173baf780934f9d3525329a" ], "author": { "name": "art-snake", "email": "art-snake@yandex-team.ru", "time": "Thu Sep 15 14:11:09 2016 -0700" }, "committer": { "name": "Commit bot", "email": "commit-bot@chromium.org", "time": "Thu Sep 15 14:11:10 2016 -0700" }, "message": "Fix memory leaking on ClosePage.\nCFX_FontCache refactoring:\n after this CL: Only one global CFX_FontCache used. Any cached items from it, are released, when its are not used.\n\nBUG\u003d79367,48791\n\nThe fonts was not cleared after unloading pages.\n\nTest pdf:\n\nhttp://www.nasa.gov/pdf/750614main_NASA_FY_2014_Budget_Estimates-508.pdf\n\nFor this file, we have ~5 fonts per page, which equal ~1 Mb per page.\nIn this PDF we have 670 pages, as result after slow scrolling(reading) full document we have ~600 Mb fonts data in memory.\n\nmemory usage of PDF Plugin:\n before this CL: ~660 Mb\n after this CL: ~100 Mb\n\nReview-Url: https://codereview.chromium.org/2158023002\n", "tree_diff": [ { "type": "modify", "old_id": "9e586e326f535c897dbb99960e39d2951486bf40", "old_mode": 33188, "old_path": "core/fpdfapi/fpdf_page/fpdf_page_doc.cpp", "new_id": "f83d6fa613a63332bc66175afd3517e997ea3f94", "new_mode": 33188, "new_path": "core/fpdfapi/fpdf_page/fpdf_page_doc.cpp" }, { "type": "modify", "old_id": "9f5a4299e9bba1a40d191eeb06e4e679f47729a2", "old_mode": 33188, "old_path": "core/fpdfapi/fpdf_parser/cpdf_document.cpp", "new_id": "6b58aea59f1c96a84af8d390b4a8e96de2f1928c", "new_mode": 33188, "new_path": "core/fpdfapi/fpdf_parser/cpdf_document.cpp" }, { "type": "modify", "old_id": "59c8397f54a1800601dc13e146952b0e7f915eb6", "old_mode": 33188, "old_path": "core/fpdfapi/fpdf_render/fpdf_render.cpp", "new_id": "8043f932bbe713ac870c1f166f689f0161e2bf0e", "new_mode": 33188, "new_path": "core/fpdfapi/fpdf_render/fpdf_render.cpp" }, { "type": "modify", "old_id": "265948f1d5e51a6202d06293094c07f718558699", "old_mode": 33188, "old_path": "core/fpdfapi/fpdf_render/fpdf_render_text.cpp", "new_id": "991b57ab7fcfe76a0a1e9d11b68879dc607c9507", "new_mode": 33188, "new_path": "core/fpdfapi/fpdf_render/fpdf_render_text.cpp" }, { "type": "modify", "old_id": "672e5923dfb051073c5963ae7b7ac41d9c68498f", "old_mode": 33188, "old_path": "core/fpdfapi/fpdf_render/render_int.h", "new_id": "afd9c83b44c17f65f9cde907777834e05a27d0b3", "new_mode": 33188, "new_path": "core/fpdfapi/fpdf_render/render_int.h" }, { "type": "modify", "old_id": "9db10ac3c679c37e26d77226e05581337ca8a8c3", "old_mode": 33188, "old_path": "core/fxge/agg/fx_agg_driver.cpp", "new_id": "bb3d7af4001c84c3fff2abebd1652d8a07c03432", "new_mode": 33188, "new_path": "core/fxge/agg/fx_agg_driver.cpp" }, { "type": "modify", "old_id": "db6807cb3d7cf02133b5dc14bda3a701de667ec6", "old_mode": 33188, "old_path": "core/fxge/agg/fx_agg_driver.h", "new_id": "47ae470cc145482c37961050dc58b0fcbf34917e", "new_mode": 33188, "new_path": "core/fxge/agg/fx_agg_driver.h" }, { "type": "modify", "old_id": "a401086f35b2a6b61aac0fe07e09629a42a5a51f", "old_mode": 33188, "old_path": "core/fxge/apple/apple_int.h", "new_id": "9443b5da01c0d7b7b4b72aec7cab2d75b101a24b", "new_mode": 33188, "new_path": "core/fxge/apple/apple_int.h" }, { "type": "modify", "old_id": "be429e9a43f3fede2d55ff47f33d34ef4429e483", "old_mode": 33188, "old_path": "core/fxge/apple/fx_apple_platform.cpp", "new_id": "239a6e50f96f4f3c9285a3a53f639807ee445bfd", "new_mode": 33188, "new_path": "core/fxge/apple/fx_apple_platform.cpp" }, { "type": "modify", "old_id": "400e29085cb27f6f09655def748dc9c2e73c542c", "old_mode": 33188, "old_path": "core/fxge/apple/fx_quartz_device.cpp", "new_id": "6a0260b1d62731a7422bc3c2c499cfe8e1fd3cb6", "new_mode": 33188, "new_path": "core/fxge/apple/fx_quartz_device.cpp" }, { "type": "modify", "old_id": "2b8405941eb61c42b88250201aef611042c242d8", "old_mode": 33188, "old_path": "core/fxge/ge/cfx_facecache.cpp", "new_id": "b78dd5b2adb3fcb14d33372ba0b1df5b77125f28", "new_mode": 33188, "new_path": "core/fxge/ge/cfx_facecache.cpp" }, { "type": "modify", "old_id": "feea8b0aa152c710d79f1cb1e327e357170823eb", "old_mode": 33188, "old_path": "core/fxge/ge/cfx_font.cpp", "new_id": "b1847112116651ffd1bdbf3322cff2675bd4bd3a", "new_mode": 33188, "new_path": "core/fxge/ge/cfx_font.cpp" }, { "type": "modify", "old_id": "3ecd83c33f8f8b66ffdb987eea6324f5f00e69d1", "old_mode": 33188, "old_path": "core/fxge/ge/cfx_fontcache.cpp", "new_id": "acae018c83cf1f251c3e672f8e7384102bedf077", "new_mode": 33188, "new_path": "core/fxge/ge/cfx_fontcache.cpp" }, { "type": "modify", "old_id": "ad05ef743b1778a8f7304861247e8116f5f66156", "old_mode": 33188, "old_path": "core/fxge/ge/cfx_renderdevice.cpp", "new_id": "11f0087f92e4a182a79cd8f3f50b6832a67866ee", "new_mode": 33188, "new_path": "core/fxge/ge/cfx_renderdevice.cpp" }, { "type": "modify", "old_id": "69b8ac903da44c6a97369732231bf64d8e27cb64", "old_mode": 33188, "old_path": "core/fxge/ifx_renderdevicedriver.cpp", "new_id": "5acfae4b8b93dc743d76ae141887d2e083cf0572", "new_mode": 33188, "new_path": "core/fxge/ifx_renderdevicedriver.cpp" }, { "type": "modify", "old_id": "6e437b49c3c436cee338847f7866a4f731fe4400", "old_mode": 33188, "old_path": "core/fxge/include/cfx_facecache.h", "new_id": "fc1b28b5230c875074bebfbf0d119821500283bc", "new_mode": 33188, "new_path": "core/fxge/include/cfx_facecache.h" }, { "type": "modify", "old_id": "d4a4dddaa5691cbaa8a1647fe4cbf1834fcc7289", "old_mode": 33188, "old_path": "core/fxge/include/cfx_fontcache.h", "new_id": "dd9a176d19145314e82ec728df2c0353929e5edd", "new_mode": 33188, "new_path": "core/fxge/include/cfx_fontcache.h" }, { "type": "modify", "old_id": "9ca9a07220140994852144f319df71602005b63a", "old_mode": 33188, "old_path": "core/fxge/include/cfx_renderdevice.h", "new_id": "3b9c93fc9b51d1fbc3b138b2dc0e6c9277b8878b", "new_mode": 33188, "new_path": "core/fxge/include/cfx_renderdevice.h" }, { "type": "modify", "old_id": "9a976c44b77bd10ebde7156fdee4f77a107e3cc1", "old_mode": 33188, "old_path": "core/fxge/include/fx_font.h", "new_id": "00c9d6f55970cd233461e0a08068a54fe964e7b8", "new_mode": 33188, "new_path": "core/fxge/include/fx_font.h" }, { "type": "modify", "old_id": "8b20cf0838c872f70fc40032d7e664453c875c55", "old_mode": 33188, "old_path": "core/fxge/include/ifx_renderdevicedriver.h", "new_id": "e9dbed913a314e8690f876eff6eaa458d4ad1d64", "new_mode": 33188, "new_path": "core/fxge/include/ifx_renderdevicedriver.h" }, { "type": "modify", "old_id": "d2e4abce92655e29a5ef32f0adeb895bc39c6813", "old_mode": 33188, "old_path": "core/fxge/skia/fx_skia_device.cpp", "new_id": "b1c47bfedfbdf74dc38656626c9456d86b510752", "new_mode": 33188, "new_path": "core/fxge/skia/fx_skia_device.cpp" }, { "type": "modify", "old_id": "8a1bf690b292da5d56975df59f828e1a3333be07", "old_mode": 33188, "old_path": "core/fxge/skia/fx_skia_device.h", "new_id": "78d8e32ebc67e5d1be0acda4335f8e052facdb3b", "new_mode": 33188, "new_path": "core/fxge/skia/fx_skia_device.h" }, { "type": "modify", "old_id": "5162e9cbde095ae96e704ddac61c3ebd490fa276", "old_mode": 33188, "old_path": "core/fxge/skia/fx_skia_device_unittest.cpp", "new_id": "5666feea9f2421cf3bfafecb87e7159a2c60aeeb", "new_mode": 33188, "new_path": "core/fxge/skia/fx_skia_device_unittest.cpp" }, { "type": "modify", "old_id": "bc5bb92d5e2a37f9bbfc8dc22e634e12c9633fe1", "old_mode": 33188, "old_path": "core/fxge/win32/fx_win32_print.cpp", "new_id": "2a52a60ce64c82ea2b6307211478c59e14065290", "new_mode": 33188, "new_path": "core/fxge/win32/fx_win32_print.cpp" }, { "type": "modify", "old_id": "8c3443b3fdc1f2d35c1fd195a617531f6a282668", "old_mode": 33188, "old_path": "core/fxge/win32/win32_int.h", "new_id": "7e35793675dd16088527dad16a34de42baeb8016", "new_mode": 33188, "new_path": "core/fxge/win32/win32_int.h" }, { "type": "modify", "old_id": "8279e777b0ab609b48492b62924bf0f8971f9d38", "old_mode": 33188, "old_path": "xfa/fde/fde_gedevice.cpp", "new_id": "15c849f71f7fe38e8b0f0e012900691b1b1fd8c8", "new_mode": 33188, "new_path": "xfa/fde/fde_gedevice.cpp" }, { "type": "modify", "old_id": "5f10e842ac47f499fcf96685998b205dd0a028ea", "old_mode": 33188, "old_path": "xfa/fxbarcode/oned/BC_OneDimWriter.cpp", "new_id": "80f76fba9fa7b7618482ff96359f2c09a447e05e", "new_mode": 33188, "new_path": "xfa/fxbarcode/oned/BC_OneDimWriter.cpp" }, { "type": "modify", "old_id": "e2bbfd57268cccccd6f5ac29aaa4e2cb6b809d07", "old_mode": 33188, "old_path": "xfa/fxbarcode/oned/BC_OnedEAN13Writer.cpp", "new_id": "632738779a37f5cd44c3ab270e6e26b899808a41", "new_mode": 33188, "new_path": "xfa/fxbarcode/oned/BC_OnedEAN13Writer.cpp" }, { "type": "modify", "old_id": "0a7f3a8a5066e0fb660bc4201e534f5e2d724a87", "old_mode": 33188, "old_path": "xfa/fxbarcode/oned/BC_OnedEAN8Writer.cpp", "new_id": "fb95f264a0cc92174dd2c0291f67bc028a3ceda2", "new_mode": 33188, "new_path": "xfa/fxbarcode/oned/BC_OnedEAN8Writer.cpp" }, { "type": "modify", "old_id": "01660b75c76315a7ad10585c79a7eed6f8a554ed", "old_mode": 33188, "old_path": "xfa/fxbarcode/oned/BC_OnedUPCAWriter.cpp", "new_id": "12acb5280b5c2e5d2e8bc934dfe2b564ae1f426b", "new_mode": 33188, "new_path": "xfa/fxbarcode/oned/BC_OnedUPCAWriter.cpp" }, { "type": "modify", "old_id": "068ed015f466e45bba6a61a13140f54a5ce7805c", "old_mode": 33188, "old_path": "xfa/fxgraphics/cfx_graphics.cpp", "new_id": "b9f8287ae437dd0f7f2dd04d54a5247388b76a78", "new_mode": 33188, "new_path": "xfa/fxgraphics/cfx_graphics.cpp" } ] }