From 00543a1c89cfb1a5bfadea64271d23ff3e42fa37 Mon Sep 17 00:00:00 2001 From: Yury Delendik <ydelendik@mozilla.com> Date: Mon, 30 Apr 2012 21:55:21 -0500 Subject: [PATCH] Embed locale.properties in the viewer.html for extension --- external/webL10n/l10n.js | 12 ++++++++++-- make.js | 4 ++++ web/viewer-snippet-firefox-extension.html | 14 +++++++++++++- web/viewer-snippet.html | 1 + web/viewer.html | 3 ++- 5 files changed, 30 insertions(+), 4 deletions(-) diff --git a/external/webL10n/l10n.js b/external/webL10n/l10n.js index fedf70cde..bb847ee10 100644 --- a/external/webL10n/l10n.js +++ b/external/webL10n/l10n.js @@ -131,7 +131,10 @@ // check all <link type="application/l10n" href="..." /> nodes // and load the resource files var langLinks = document.querySelectorAll('link[type="application/l10n"]'); - var langCount = langLinks.length; + var langLinksCount = langLinks.length; + var langScripts = document.querySelectorAll('script[type="application/l10n"]'); + var langScriptCount = langScripts.length; + var langCount = langLinksCount + langScriptCount; // start the callback when all resources are loaded var onResourceLoaded = null; @@ -165,12 +168,17 @@ } gLanguage = lang; - for (var i = 0; i < langCount; i++) { + for (var i = 0; i < langLinksCount; i++) { var resource = new l10nResourceLink(langLinks[i]); var rv = resource.load(lang, onResourceLoaded); if (rv != lang) // lang not found, used default resource instead gLanguage = ''; } + for (var i = 0; i < langScriptCount; i++) { + var scriptText = langScripts[i].text; + parse(scriptText, lang); + onResourceLoaded(); + } } // fetch an l10n object, warn if not found diff --git a/make.js b/make.js index c8cd49610..36f4ef073 100755 --- a/make.js +++ b/make.js @@ -252,6 +252,8 @@ target.firefox = function() { FIREFOX_EXTENSION_NAME = 'pdf.js.xpi', FIREFOX_AMO_EXTENSION_NAME = 'pdf.js.amo.xpi'; + var LOCALE_CONTENT = cat('web/locale.properties'); + target.production(); target.buildnumber(); cd(ROOT_DIR); @@ -278,6 +280,8 @@ target.firefox = function() { // Modify the viewer so it does all the extension-only stuff. cd(FIREFOX_BUILD_CONTENT_DIR + '/web'); sed('-i', /.*PDFJSSCRIPT_INCLUDE_BUNDLE.*\n/, cat(ROOT_DIR + BUILD_TARGET), 'viewer-snippet-firefox-extension.html'); + sed('-i', /.*PDFJSSCRIPT_OTHER_SCRIPTS.*\n/, cat(ROOT_DIR + 'external/webL10n/l10n.js'), 'viewer-snippet-firefox-extension.html'); + sed('-i', /PDFJSSCRIPT_LOCALE_DATA/, JSON.stringify({text: LOCALE_CONTENT}), 'viewer-snippet-firefox-extension.html'); sed('-i', /.*PDFJSSCRIPT_REMOVE_CORE.*\n/g, '', 'viewer.html'); sed('-i', /.*PDFJSSCRIPT_REMOVE_FIREFOX_EXTENSION.*\n/g, '', 'viewer.html'); sed('-i', /.*PDFJSSCRIPT_INCLUDE_FIREFOX_EXTENSION.*\n/, cat('viewer-snippet-firefox-extension.html'), 'viewer.html'); diff --git a/web/viewer-snippet-firefox-extension.html b/web/viewer-snippet-firefox-extension.html index 72cf3f095..d3faaae51 100644 --- a/web/viewer-snippet-firefox-extension.html +++ b/web/viewer-snippet-firefox-extension.html @@ -1,6 +1,18 @@ <!-- This snippet is used in firefox extension, see Makefile --> <base href="resource://pdf.js/web/" /> -<script type="text/javascript" src="l10n.js"></script> +<script type="text/javascript"> +(function() { + // doning script creation here since resource:// urls won't work + // for content loading. + var localeData = PDFJSSCRIPT_LOCALE_DATA; + var script = document.createElement('script'); + script.type = 'application/l10n'; + script.text = localeData.text; + document.getElementsByTagName('head')[0].appendChild(script); +})(); + +/* PDFJSSCRIPT_OTHER_SCRIPTS */ +</script> <script type="text/javascript" id="PDFJS_SCRIPT_TAG"> <!-- // pdf.js is inlined here because resource:// urls won't work diff --git a/web/viewer-snippet.html b/web/viewer-snippet.html index 293920da7..3d535169e 100644 --- a/web/viewer-snippet.html +++ b/web/viewer-snippet.html @@ -1,4 +1,5 @@ <!-- This snippet is used in production, see Makefile --> +<link rel="resource" type="application/l10n" href="locale.properties"/> <script type="text/javascript" src="l10n.js"></script> <script type="text/javascript" src="../build/pdf.js"></script> <script type="text/javascript"> diff --git a/web/viewer.html b/web/viewer.html index b90464c48..b464b09c2 100644 --- a/web/viewer.html +++ b/web/viewer.html @@ -1,11 +1,12 @@ <!DOCTYPE html> <html> <head> + <meta charset="utf-8"> <title>PDF.js viewer</title> <!-- PDFJSSCRIPT_INCLUDE_FIREFOX_EXTENSION --> <link rel="stylesheet" href="viewer.css"/> - <link rel="resource" type="application/l10n" href="locale.properties"/> + <link rel="resource" type="application/l10n" href="locale.properties"/><!-- PDFJSSCRIPT_REMOVE_CORE --> <script type="text/javascript" src="compatibility.js"></script> <!-- PDFJSSCRIPT_REMOVE_FIREFOX_EXTENSION --> <script type="text/javascript" src="../external/webL10n/l10n.js"></script><!-- PDFJSSCRIPT_REMOVE_CORE -->