[Pkg-javascript-commits] [pdf.js] 49/72: [webL10n] Apply PDF.js-specific changes

David Prévot taffit at moszumanska.debian.org
Wed Mar 18 20:15:59 UTC 2015


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository pdf.js.

commit 537216b872cab481d6d2eb620ad0e43a25c2e992
Author: Rob Wu <rob at robwu.nl>
Date:   Tue Mar 10 16:09:26 2015 +0100

    [webL10n] Apply PDF.js-specific changes
---
 external/webL10n/l10n.js | 209 ++++-------------------------------------------
 1 file changed, 17 insertions(+), 192 deletions(-)

diff --git a/external/webL10n/l10n.js b/external/webL10n/l10n.js
index 9c46564..533fab6 100644
--- a/external/webL10n/l10n.js
+++ b/external/webL10n/l10n.js
@@ -19,6 +19,13 @@
  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
  * IN THE SOFTWARE.
  */
+/*
+  Additional modifications for PDF.js project:
+    - Disables language initialization on page loading;
+    - Removes console.warn and console.log and use console.log/warn directly.
+    - Removes window._ assignment.
+    - Remove compatibility code for OldIE.
+*/
 
 /*jshint browser: true, devel: true, es5: true, globalstrict: true */
 'use strict';
@@ -48,29 +55,6 @@ document.webL10n = (function(window, document, undefined) {
 
 
   /**
-   * Debug helpers
-   *
-   *   gDEBUG == 0: don't display any console message
-   *   gDEBUG == 1: display only warnings, not logs
-   *   gDEBUG == 2: display all console messages
-   */
-
-  var gDEBUG = 1;
-
-  function consoleLog(message) {
-    if (gDEBUG >= 2) {
-      console.log('[l10n] ' + message);
-    }
-  }
-
-  function consoleWarn(message) {
-    if (gDEBUG) {
-      console.warn('[l10n] ' + message);
-    }
-  }
-
-
-  /**
    * DOM helpers for the so-called "HTML API".
    *
    * These functions are written for modern browsers. For old versions of IE,
@@ -102,7 +86,7 @@ document.webL10n = (function(window, document, undefined) {
       try {
         args = JSON.parse(l10nArgs);
       } catch (e) {
-        consoleWarn('could not parse arguments for #' + l10nId);
+        console.warn('could not parse arguments for #' + l10nId);
       }
     }
     return { id: l10nId, args: args };
@@ -118,7 +102,7 @@ document.webL10n = (function(window, document, undefined) {
   function xhrLoadText(url, onSuccess, onFailure) {
     onSuccess = onSuccess || function _onSuccess(data) {};
     onFailure = onFailure || function _onFailure() {
-      consoleWarn(url + ' not found.');
+      console.warn(url + ' not found.');
     };
 
     var xhr = new XMLHttpRequest();
@@ -321,7 +305,7 @@ document.webL10n = (function(window, document, undefined) {
       // we might have a pre-compiled dictionary instead
       var dict = getL10nDictionary();
       if (dict && dict.locales && dict.default_locale) {
-        consoleLog('using the embedded JSON directory, early way out');
+        console.log('using the embedded JSON directory, early way out');
         gL10nData = dict.locales[lang];
         if (!gL10nData) {
           var defaultLocale = dict.default_locale.toLowerCase();
@@ -337,7 +321,7 @@ document.webL10n = (function(window, document, undefined) {
         }
         callback();
       } else {
-        consoleLog('no resource to load, early way out');
+        console.log('no resource to load, early way out');
       }
       // early way out
       fireL10nReadyEvent(lang);
@@ -364,9 +348,9 @@ document.webL10n = (function(window, document, undefined) {
       // are synchronously called.
       this.load = function(lang, callback) {
         parseResource(href, lang, callback, function() {
-          consoleWarn(href + ' not found.');
+          console.warn(href + ' not found.');
           // lang not found, used default resource instead
-          consoleWarn('"' + lang + '" resource not found');
+          console.warn('"' + lang + '" resource not found');
           gLanguage = '';
           // Resource not loaded, but we still need to call the callback.
           callback();
@@ -795,7 +779,7 @@ document.webL10n = (function(window, document, undefined) {
     // return a function that gives the plural form name for a given integer
     var index = locales2rules[lang.replace(/-.*$/, '')];
     if (!(index in pluralRules)) {
-      consoleWarn('plural form unknown for [' + lang + ']');
+      console.warn('plural form unknown for [' + lang + ']');
       return function() { return 'other'; };
     }
     return pluralRules[index];
@@ -842,7 +826,7 @@ document.webL10n = (function(window, document, undefined) {
   function getL10nData(key, args, fallback) {
     var data = gL10nData[key];
     if (!data) {
-      consoleWarn('#' + key + ' is undefined.');
+      console.warn('#' + key + ' is undefined.');
       if (!fallback) {
         return null;
       }
@@ -900,7 +884,7 @@ document.webL10n = (function(window, document, undefined) {
       if (arg in gL10nData) {
         return gL10nData[arg];
       }
-      consoleLog('argument {{' + arg + '}} for #' + key + ' is undefined.');
+      console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');
       return matched_text;
     });
   }
@@ -914,7 +898,7 @@ document.webL10n = (function(window, document, undefined) {
     // get the related l10n object
     var data = getL10nData(l10n.id, l10n.args);
     if (!data) {
-      consoleWarn('#' + l10n.id + ' is undefined.');
+      console.warn('#' + l10n.id + ' is undefined.');
       return;
     }
 
@@ -982,152 +966,6 @@ document.webL10n = (function(window, document, undefined) {
     translateElement(element);
   }
 
-
-  /**
-   * Startup & Public API
-   *
-   * Warning: this part of the code contains browser-specific chunks --
-   * that's where obsolete browsers, namely IE8 and earlier, are handled.
-   *
-   * Unlike the rest of the lib, this section is not shared with FirefoxOS/Gaia.
-   */
-
-  // load the default locale on startup
-  function l10nStartup() {
-    gReadyState = 'interactive';
-
-    // most browsers expose the UI language as `navigator.language'
-    // but IE uses `navigator.userLanguage' instead
-    var userLocale = navigator.language || navigator.userLanguage;
-    consoleLog('loading [' + userLocale + '] resources, ' +
-        (gAsyncResourceLoading ? 'asynchronously.' : 'synchronously.'));
-
-    // load the default locale and translate the document if required
-    if (document.documentElement.lang === userLocale) {
-      loadLocale(userLocale);
-    } else {
-      loadLocale(userLocale, translateFragment);
-    }
-  }
-
-  // browser-specific startup
-  if (document.addEventListener) { // modern browsers and IE9+
-    if (document.readyState === 'loading') {
-      // the document is not fully loaded yet: wait for DOMContentLoaded.
-      document.addEventListener('DOMContentLoaded', l10nStartup);
-    } else {
-      // l10n.js is being loaded with <script defer> or <script async>,
-      // the DOM is ready for parsing.
-      window.setTimeout(l10nStartup);
-    }
-  } else if (window.attachEvent) { // IE8 and before (= oldIE)
-    // TODO: check if jQuery is loaded (CSS selector + JSON + events)
-
-    // dummy `console.log' and `console.warn' functions
-    if (!window.console) {
-      consoleLog = function(message) {}; // just ignore console.log calls
-      consoleWarn = function(message) {
-        if (gDEBUG) {
-          alert('[l10n] ' + message); // vintage debugging, baby!
-        }
-      };
-    }
-
-    // XMLHttpRequest for IE6
-    if (!window.XMLHttpRequest) {
-      xhrLoadText = function(url, onSuccess, onFailure) {
-        onSuccess = onSuccess || function _onSuccess(data) {};
-        onFailure = onFailure || function _onFailure() {
-          consoleWarn(url + ' not found.');
-        };
-        var xhr = new ActiveXObject('Microsoft.XMLHTTP');
-        xhr.open('GET', url, gAsyncResourceLoading);
-        xhr.onreadystatechange = function() {
-          if (xhr.readyState == 4) {
-            if (xhr.status == 200) {
-              onSuccess(xhr.responseText);
-            } else {
-              onFailure();
-            }
-          }
-        };
-        xhr.send(null);
-      };
-    }
-
-    // worst hack ever for IE6 and IE7
-    if (!window.JSON) {
-      getL10nAttributes = function(element) {
-        if (!element)
-          return {};
-        var l10nId = element.getAttribute('data-l10n-id'),
-            l10nArgs = element.getAttribute('data-l10n-args'),
-            args = {};
-        if (l10nArgs) try {
-          args = eval(l10nArgs); // XXX yeah, I know...
-        } catch (e) {
-          consoleWarn('could not parse arguments for #' + l10nId);
-        }
-        return { id: l10nId, args: args };
-      };
-    }
-
-    // override `getTranslatableChildren' and `getL10nResourceLinks'
-    if (!document.querySelectorAll) {
-      getTranslatableChildren = function(element) {
-        if (!element)
-          return [];
-        var nodes = element.getElementsByTagName('*'),
-            l10nElements = [],
-            n = nodes.length;
-        for (var i = 0; i < n; i++) {
-          if (nodes[i].getAttribute('data-l10n-id'))
-            l10nElements.push(nodes[i]);
-        }
-        return l10nElements;
-      };
-      getL10nResourceLinks = function() {
-        var links = document.getElementsByTagName('link'),
-            l10nLinks = [],
-            n = links.length;
-        for (var i = 0; i < n; i++) {
-          if (links[i].type == 'application/l10n')
-            l10nLinks.push(links[i]);
-        }
-        return l10nLinks;
-      };
-    }
-
-    // override `getL10nDictionary'
-    if (!window.JSON || !document.querySelectorAll) {
-      getL10nDictionary = function() {
-        var scripts = document.getElementsByName('script');
-        for (var i = 0; i < scripts.length; i++) {
-          if (scripts[i].type == 'application/l10n') {
-            return eval(scripts[i].innerHTML);
-          }
-        }
-        return null;
-      };
-    }
-
-    // fire non-standard `localized' DOM events
-    if (document.createEventObject && !document.createEvent) {
-      fireL10nReadyEvent = function(lang) {
-        // hack to simulate a custom event in IE:
-        // to catch this event, add an event handler to `onpropertychange'
-        document.documentElement.localized = 1;
-      };
-    }
-
-    // startup for IE<9
-    window.attachEvent('onload', function() {
-      gTextProp = document.textContent === null ? 'textContent' : 'innerText';
-      l10nStartup();
-    });
-  }
-
-  // cross-browser API (sorry, oldIE doesn't support getters & setters)
   return {
     // get a localized string
     get: function(key, args, fallbackString) {
@@ -1189,20 +1027,7 @@ document.webL10n = (function(window, document, undefined) {
           document.removeEventListener('localized', once);
           callback();
         });
-      } else if (document.attachEvent) {
-        document.documentElement.attachEvent('onpropertychange', function once(e) {
-          if (e.propertyName === 'localized') {
-            document.documentElement.detachEvent('onpropertychange', once);
-            callback();
-          }
-        });
       }
     }
   };
 }) (window, document);
-
-// gettext-like shortcut for document.webL10n.get
-if (window._ === undefined) {
-  var _ = document.webL10n.get;
-}
-

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/pdf.js.git



More information about the Pkg-javascript-commits mailing list