From 29d3db44223aaba6b4a2ca536d7cf4df2d1f91e4 Mon Sep 17 00:00:00 2001 From: Nicholas Nethercote Date: Thu, 12 Jun 2014 22:30:23 -0700 Subject: [PATCH] Cache pages at the start of drawing, not the end. --- web/page_view.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/web/page_view.js b/web/page_view.js index d90419e55..95b13d478 100644 --- a/web/page_view.js +++ b/web/page_view.js @@ -591,8 +591,6 @@ var PageView = function pageView(container, id, scale, self.onAfterDraw(); } - cache.push(self); - var event = document.createEvent('CustomEvent'); event.initCustomEvent('pagerender', true, true, { pageNumber: pdfPage.pageNumber @@ -645,6 +643,10 @@ var PageView = function pageView(container, id, scale, setupAnnotations(div, pdfPage, this.viewport); div.setAttribute('data-loaded', true); + + // Add the page to the cache at the start of drawing. That way it can be + // evicted from the cache and destroyed even if we pause its rendering. + cache.push(this); }; this.beforePrint = function pageViewBeforePrint() {