summaryrefslogtreecommitdiff
path: root/core/fxge/agg
diff options
context:
space:
mode:
authorart-snake <art-snake@yandex-team.ru>2016-09-15 14:11:09 -0700
committerCommit bot <commit-bot@chromium.org>2016-09-15 14:11:10 -0700
commitcde5101eb15b24519e89fa500fe37038bc8e2201 (patch)
treece3f6e9215769e4e1494479740cc4eaf957a109b /core/fxge/agg
parentd9871435eb7cea00a173baf780934f9d3525329a (diff)
downloadpdfium-cde5101eb15b24519e89fa500fe37038bc8e2201.tar.xz
Fix memory leaking on ClosePage.chromium/2862
CFX_FontCache refactoring: after this CL: Only one global CFX_FontCache used. Any cached items from it, are released, when its are not used. BUG=79367,48791 The fonts was not cleared after unloading pages. Test pdf: http://www.nasa.gov/pdf/750614main_NASA_FY_2014_Budget_Estimates-508.pdf For this file, we have ~5 fonts per page, which equal ~1 Mb per page. In this PDF we have 670 pages, as result after slow scrolling(reading) full document we have ~600 Mb fonts data in memory. memory usage of PDF Plugin: before this CL: ~660 Mb after this CL: ~100 Mb Review-Url: https://codereview.chromium.org/2158023002
Diffstat (limited to 'core/fxge/agg')
-rw-r--r--core/fxge/agg/fx_agg_driver.cpp2
-rw-r--r--core/fxge/agg/fx_agg_driver.h2
2 files changed, 0 insertions, 4 deletions
diff --git a/core/fxge/agg/fx_agg_driver.cpp b/core/fxge/agg/fx_agg_driver.cpp
index 9db10ac3c6..bb3d7af400 100644
--- a/core/fxge/agg/fx_agg_driver.cpp
+++ b/core/fxge/agg/fx_agg_driver.cpp
@@ -13,7 +13,6 @@
#include "core/fxge/dib/dib_int.h"
#include "core/fxge/ge/cfx_cliprgn.h"
#include "core/fxge/ge/fx_text_int.h"
-#include "core/fxge/include/cfx_fontcache.h"
#include "core/fxge/include/cfx_fxgedevice.h"
#include "core/fxge/include/cfx_gemodule.h"
#include "core/fxge/include/cfx_graphstatedata.h"
@@ -459,7 +458,6 @@ void CFX_AggDeviceDriver::DestroyPlatform() {}
FX_BOOL CFX_AggDeviceDriver::DrawDeviceText(int nChars,
const FXTEXT_CHARPOS* pCharPos,
CFX_Font* pFont,
- CFX_FontCache* pCache,
const CFX_Matrix* pObject2Device,
FX_FLOAT font_size,
uint32_t color) {
diff --git a/core/fxge/agg/fx_agg_driver.h b/core/fxge/agg/fx_agg_driver.h
index db6807cb3d..47ae470cc1 100644
--- a/core/fxge/agg/fx_agg_driver.h
+++ b/core/fxge/agg/fx_agg_driver.h
@@ -16,7 +16,6 @@
#include "third_party/agg23/agg_rasterizer_scanline_aa.h"
class CFX_ClipRgn;
-class CFX_FontCache;
class CFX_GraphStateData;
class CFX_Matrix;
class CFX_PathData;
@@ -93,7 +92,6 @@ class CFX_AggDeviceDriver : public IFX_RenderDeviceDriver {
FX_BOOL DrawDeviceText(int nChars,
const FXTEXT_CHARPOS* pCharPos,
CFX_Font* pFont,
- CFX_FontCache* pCache,
const CFX_Matrix* pObject2Device,
FX_FLOAT font_size,
uint32_t color) override;