summaryrefslogtreecommitdiff
path: root/core/fxge/win32
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/win32
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/win32')
-rw-r--r--core/fxge/win32/fx_win32_print.cpp2
-rw-r--r--core/fxge/win32/win32_int.h2
2 files changed, 0 insertions, 4 deletions
diff --git a/core/fxge/win32/fx_win32_print.cpp b/core/fxge/win32/fx_win32_print.cpp
index bc5bb92d5e..2a52a60ce6 100644
--- a/core/fxge/win32/fx_win32_print.cpp
+++ b/core/fxge/win32/fx_win32_print.cpp
@@ -14,7 +14,6 @@
#include "core/fxge/dib/dib_int.h"
#include "core/fxge/ge/fx_text_int.h"
-#include "core/fxge/include/cfx_fontcache.h"
#include "core/fxge/include/cfx_renderdevice.h"
#include "core/fxge/include/cfx_windowsdevice.h"
#include "core/fxge/include/fx_freetype.h"
@@ -199,7 +198,6 @@ FX_BOOL CGdiPrinterDriver::StartDIBits(const CFX_DIBSource* pSource,
FX_BOOL CGdiPrinterDriver::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/win32/win32_int.h b/core/fxge/win32/win32_int.h
index 8c3443b3fd..7e35793675 100644
--- a/core/fxge/win32/win32_int.h
+++ b/core/fxge/win32/win32_int.h
@@ -11,7 +11,6 @@
#include "core/fxge/include/ifx_renderdevicedriver.h"
#include "core/fxge/win32/dwrite_int.h"
-class CFX_FontCache;
struct FXTEXT_CHARPOS;
struct WINDIB_Open_Args_;
@@ -246,7 +245,6 @@ class CGdiPrinterDriver : public CGdiDeviceDriver {
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;