Skip to content

Commit 610b8cb

Browse files
authored
Merge pull request #1177 from kiwix/handling_of_pdf_links_under_chrome_on_android
If PDF viewer is not enabled PDFs are downloaded instead
2 parents e5d3e6f + e087f1c commit 610b8cb

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

static/skin/viewer.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -352,14 +352,19 @@ function linkShouldBeOpenedInANewWindow(linkElement, mouseEvent) {
352352
|| mouseEvent.metaKey /* on Macs */;
353353
}
354354

355+
function goingToOpenALinkToAnUndisplayableResource(url) {
356+
return !navigator.pdfViewerEnabled && url.pathname.endsWith('.pdf');
357+
}
358+
355359
function onClickEvent(e) {
356360
const iframeDocument = contentIframe.contentDocument;
357361
const target = matchingAncestorElement(e.target, iframeDocument, "a");
358362
if (target !== null && "href" in target) {
359363
const target_href = getRealHref(target);
360364
const target_url = new URL(target_href, iframeDocument.location);
361365
const isExternalAppUrl = urlMustBeHandledByAnExternalApp(target_url);
362-
if ( isExternalAppUrl && !viewerSettings.linkBlockingEnabled ) {
366+
if ( (isExternalAppUrl && !viewerSettings.linkBlockingEnabled)
367+
|| goingToOpenALinkToAnUndisplayableResource(target_url) ) {
363368
target.setAttribute("target", "_blank");
364369
}
365370

test/server.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ const ResourceCollection resources200Compressible{
7575
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/taskbar.css" },
7676
{ STATIC_CONTENT, "/ROOT%23%3F/skin/taskbar.css?cacheid=80d56607" },
7777
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/viewer.js" },
78-
{ STATIC_CONTENT, "/ROOT%23%3F/skin/viewer.js?cacheid=fdec37a7" },
78+
{ STATIC_CONTENT, "/ROOT%23%3F/skin/viewer.js?cacheid=787e61d4" },
7979
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/fonts/Poppins.ttf" },
8080
{ STATIC_CONTENT, "/ROOT%23%3F/skin/fonts/Poppins.ttf?cacheid=af705837" },
8181
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/fonts/Roboto.ttf" },
@@ -327,7 +327,7 @@ R"EXPECTEDRESULT( <link type="text/css" href="./skin/kiwix.css?cacheid=2158fa
327327
<script type="text/javascript" src="./skin/polyfills.js?cacheid=a0e0343d"></script>
328328
<script type="module" src="./skin/i18n.js?cacheid=071abc9a" defer></script>
329329
<script type="text/javascript" src="./skin/languages.js?cacheid=ee7d95b5" defer></script>
330-
<script type="text/javascript" src="./skin/viewer.js?cacheid=fdec37a7" defer></script>
330+
<script type="text/javascript" src="./skin/viewer.js?cacheid=787e61d4" defer></script>
331331
<script type="text/javascript" src="./skin/autoComplete/autoComplete.min.js?cacheid=1191aaaf"></script>
332332
const blankPageUrl = root + "/skin/blank.html?cacheid=6b1fa032";
333333
<label for="kiwix_button_show_toggle"><img src="./skin/caret.png?cacheid=22b942b4" alt=""></label>

0 commit comments

Comments
 (0)