From d64bb603c817e655788dbf16832b97003cab4591 Mon Sep 17 00:00:00 2001 From: gigaherz Date: Mon, 27 Aug 2012 01:49:07 +0200 Subject: [PATCH 1/2] Gracefully fail if the URL filename cannot be decoded. --- web/viewer.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/web/viewer.js b/web/viewer.js index f93c5247b..685b99184 100644 --- a/web/viewer.js +++ b/web/viewer.js @@ -385,7 +385,12 @@ var PDFView = { setTitleUsingUrl: function pdfViewSetTitleUsingUrl(url) { this.url = url; - document.title = decodeURIComponent(getFileName(url)) || url; + try { + document.title = decodeURIComponent(getFileName(url)) || url; + } catch (Exception) { + console.log('WARNING: Unable to decode: ' + getFileName(url)); + document.title = url; + } }, open: function pdfViewOpen(url, scale, password) { From 1a915943cd127d40b79db2805ac6586008397be3 Mon Sep 17 00:00:00 2001 From: gigaherz Date: Mon, 27 Aug 2012 09:02:10 +0200 Subject: [PATCH 2/2] Fix review comments. --- web/viewer.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/web/viewer.js b/web/viewer.js index 685b99184..0d88aae23 100644 --- a/web/viewer.js +++ b/web/viewer.js @@ -387,8 +387,9 @@ var PDFView = { this.url = url; try { document.title = decodeURIComponent(getFileName(url)) || url; - } catch (Exception) { - console.log('WARNING: Unable to decode: ' + getFileName(url)); + } catch (e) { + // decodeURIComponent may throw URIError, + // fall back to using the unprocessed url in that case document.title = url; } },