Bugzilla – Attachment 25433 Details for
Bug 10858
Browse selected biblios - OPAC
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 10858: Remove the jQuery JSON plugin
Bug-10858-Remove-the-jQuery-JSON-plugin.patch (text/plain), 23.24 KB, created by
Jonathan Druart
on 2014-02-19 10:41:24 UTC
(
hide
)
Description:
Bug 10858: Remove the jQuery JSON plugin
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2014-02-19 10:41:24 UTC
Size:
23.24 KB
patch
obsolete
>From 3726e80628c9acfb64cfe6606fe430008c2d5fb4 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@biblibre.com> >Date: Wed, 19 Feb 2014 11:20:16 +0100 >Subject: [PATCH] Bug 10858: Remove the jQuery JSON plugin > >JSON.stringify and JSON.parse are natively supported by mordern >browsers. >--- > .../bootstrap/en/includes/opac-bottom.inc | 2 - > .../bootstrap/lib/jquery/plugins/jquery.json.js | 199 -------------------- > .../opac-tmpl/ccsr/en/includes/doc-head-close.inc | 1 - > .../ccsr/en/lib/jquery/plugins/jquery.json.js | 199 -------------------- > .../opac-tmpl/prog/en/includes/doc-head-close.inc | 1 - > .../prog/en/lib/jquery/plugins/jquery.json.js | 199 -------------------- > 6 files changed, 601 deletions(-) > delete mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/plugins/jquery.json.js > delete mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.json.js > delete mode 100644 koha-tmpl/opac-tmpl/prog/en/lib/jquery/plugins/jquery.json.js > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-bottom.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-bottom.inc >index 913b5a2..b48161b 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-bottom.inc >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-bottom.inc >@@ -79,8 +79,6 @@ > <script type="text/javascript" src="[% interface %]/[% theme %]/lib/jquery/jquery-ui.js"></script> > <script type="text/javascript" src="[% interface %]/[% theme %]/lib/bootstrap/js/bootstrap.min.js"></script> > <script type="text/javascript" src="[% interface %]/[% theme %]/js/global.js"></script> >-<script type="text/javascript" src="[% interface %]/[% theme %]/lib/jquery/jquery.js"></script> >-<script type="text/javascript" src="[% interface %]/[% theme %]/lib/jquery/plugins/jquery.json.js"></script> > <script type="text/javascript" src="[% interface %]/[% theme %]/lib/jquery/plugins/jquery.cookie.min.js"></script> > <script type="text/javascript" src="[% interface %]/[% theme %]/js/commons.js"></script> > <script type="text/javascript"> >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/plugins/jquery.json.js b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/plugins/jquery.json.js >deleted file mode 100644 >index a7b0211..0000000 >--- a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/plugins/jquery.json.js >+++ /dev/null >@@ -1,199 +0,0 @@ >-/** >- * jQuery JSON plugin 2.4-alpha >- * >- * @author Brantley Harris, 2009-2011 >- * @author Timo Tijhof, 2011-2012 >- * @source This plugin is heavily influenced by MochiKit's serializeJSON, which is >- * copyrighted 2005 by Bob Ippolito. >- * @source Brantley Harris wrote this plugin. It is based somewhat on the JSON.org >- * website's http://www.json.org/json2.js, which proclaims: >- * "NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.", a sentiment that >- * I uphold. >- * @license MIT License <http://www.opensource.org/licenses/mit-license.php> >- */ >-(function ($) { >- 'use strict'; >- >- var escape = /["\\\x00-\x1f\x7f-\x9f]/g, >- meta = { >- '\b': '\\b', >- '\t': '\\t', >- '\n': '\\n', >- '\f': '\\f', >- '\r': '\\r', >- '"' : '\\"', >- '\\': '\\\\' >- }, >- hasOwn = Object.prototype.hasOwnProperty; >- >- /** >- * jQuery.toJSON >- * Converts the given argument into a JSON representation. >- * >- * @param o {Mixed} The json-serializable *thing* to be converted >- * >- * If an object has a toJSON prototype, that will be used to get the representation. >- * Non-integer/string keys are skipped in the object, as are keys that point to a >- * function. >- * >- */ >- $.toJSON = typeof JSON === 'object' && JSON.stringify ? JSON.stringify : function (o) { >- if (o === null) { >- return 'null'; >- } >- >- var pairs, k, name, val, >- type = $.type(o); >- >- if (type === 'undefined') { >- return undefined; >- } >- >- // Also covers instantiated Number and Boolean objects, >- // which are typeof 'object' but thanks to $.type, we >- // catch them here. I don't know whether it is right >- // or wrong that instantiated primitives are not >- // exported to JSON as an {"object":..}. >- // We choose this path because that's what the browsers did. >- if (type === 'number' || type === 'boolean') { >- return String(o); >- } >- if (type === 'string') { >- return $.quoteString(o); >- } >- if (typeof o.toJSON === 'function') { >- return $.toJSON(o.toJSON()); >- } >- if (type === 'date') { >- var month = o.getUTCMonth() + 1, >- day = o.getUTCDate(), >- year = o.getUTCFullYear(), >- hours = o.getUTCHours(), >- minutes = o.getUTCMinutes(), >- seconds = o.getUTCSeconds(), >- milli = o.getUTCMilliseconds(); >- >- if (month < 10) { >- month = '0' + month; >- } >- if (day < 10) { >- day = '0' + day; >- } >- if (hours < 10) { >- hours = '0' + hours; >- } >- if (minutes < 10) { >- minutes = '0' + minutes; >- } >- if (seconds < 10) { >- seconds = '0' + seconds; >- } >- if (milli < 100) { >- milli = '0' + milli; >- } >- if (milli < 10) { >- milli = '0' + milli; >- } >- return '"' + year + '-' + month + '-' + day + 'T' + >- hours + ':' + minutes + ':' + seconds + >- '.' + milli + 'Z"'; >- } >- >- pairs = []; >- >- if ($.isArray(o)) { >- for (k = 0; k < o.length; k++) { >- pairs.push($.toJSON(o[k]) || 'null'); >- } >- return '[' + pairs.join(',') + ']'; >- } >- >- // Any other object (plain object, RegExp, ..) >- // Need to do typeof instead of $.type, because we also >- // want to catch non-plain objects. >- if (typeof o === 'object') { >- for (k in o) { >- // Only include own properties, >- // Filter out inherited prototypes >- if (hasOwn.call(o, k)) { >- // Keys must be numerical or string. Skip others >- type = typeof k; >- if (type === 'number') { >- name = '"' + k + '"'; >- } else if (type === 'string') { >- name = $.quoteString(k); >- } else { >- continue; >- } >- type = typeof o[k]; >- >- // Invalid values like these return undefined >- // from toJSON, however those object members >- // shouldn't be included in the JSON string at all. >- if (type !== 'function' && type !== 'undefined') { >- val = $.toJSON(o[k]); >- pairs.push(name + ':' + val); >- } >- } >- } >- return '{' + pairs.join(',') + '}'; >- } >- }; >- >- /** >- * jQuery.evalJSON >- * Evaluates a given json string. >- * >- * @param str {String} >- */ >- $.evalJSON = typeof JSON === 'object' && JSON.parse ? JSON.parse : function (str) { >- /*jshint evil: true */ >- return eval('(' + str + ')'); >- }; >- >- /** >- * jQuery.secureEvalJSON >- * Evals JSON in a way that is *more* secure. >- * >- * @param str {String} >- */ >- $.secureEvalJSON = typeof JSON === 'object' && JSON.parse ? JSON.parse : function (str) { >- var filtered = >- str >- .replace(/\\["\\\/bfnrtu]/g, '@') >- .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']') >- .replace(/(?:^|:|,)(?:\s*\[)+/g, ''); >- >- if (/^[\],:{}\s]*$/.test(filtered)) { >- /*jshint evil: true */ >- return eval('(' + str + ')'); >- } >- throw new SyntaxError('Error parsing JSON, source is not valid.'); >- }; >- >- /** >- * jQuery.quoteString >- * Returns a string-repr of a string, escaping quotes intelligently. >- * Mostly a support function for toJSON. >- * Examples: >- * >>> jQuery.quoteString('apple') >- * "apple" >- * >- * >>> jQuery.quoteString('"Where are we going?", she asked.') >- * "\"Where are we going?\", she asked." >- */ >- $.quoteString = function (str) { >- if (str.match(escape)) { >- return '"' + str.replace(escape, function (a) { >- var c = meta[a]; >- if (typeof c === 'string') { >- return c; >- } >- c = a.charCodeAt(); >- return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16); >- }) + '"'; >- } >- return '"' + str + '"'; >- }; >- >-}(jQuery)); >diff --git a/koha-tmpl/opac-tmpl/ccsr/en/includes/doc-head-close.inc b/koha-tmpl/opac-tmpl/ccsr/en/includes/doc-head-close.inc >index 747e84f..de1a724 100644 >--- a/koha-tmpl/opac-tmpl/ccsr/en/includes/doc-head-close.inc >+++ b/koha-tmpl/opac-tmpl/ccsr/en/includes/doc-head-close.inc >@@ -39,7 +39,6 @@ > <script type="text/javascript" src="[% yuipath %]/menu/menu-min.js"></script> > <script type="text/javascript" src="[% themelang %]/lib/jquery/jquery.js"></script> > <script type="text/javascript" src="[% themelang %]/lib/jquery/jquery-ui.js"></script> >-<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.json.js"></script> > <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.cookie.min.js"></script> > <script type="text/javascript" src="[% themelang %]/js/commons.js"></script> > <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.hoverIntent.minified.js"></script> >diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.json.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.json.js >deleted file mode 100644 >index b4b94a7..0000000 >--- a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.json.js >+++ /dev/null >@@ -1,199 +0,0 @@ >-/** >- * jQuery JSON plugin 2.4-alpha >- * >- * @author Brantley Harris, 2009-2011 >- * @author Timo Tijhof, 2011-2012 >- * @source This plugin is heavily influenced by MochiKit's serializeJSON, which is >- * copyrighted 2005 by Bob Ippolito. >- * @source Brantley Harris wrote this plugin. It is based somewhat on the JSON.org >- * website's http://www.json.org/json2.js, which proclaims: >- * "NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.", a sentiment that >- * I uphold. >- * @license MIT License <http://www.opensource.org/licenses/mit-license.php> >- */ >-(function ($) { >- 'use strict'; >- >- var escape = /["\\\x00-\x1f\x7f-\x9f]/g, >- meta = { >- '\b': '\\b', >- '\t': '\\t', >- '\n': '\\n', >- '\f': '\\f', >- '\r': '\\r', >- '"' : '\\"', >- '\\': '\\\\' >- }, >- hasOwn = Object.prototype.hasOwnProperty; >- >- /** >- * jQuery.toJSON >- * Converts the given argument into a JSON representation. >- * >- * @param o {Mixed} The json-serializable *thing* to be converted >- * >- * If an object has a toJSON prototype, that will be used to get the representation. >- * Non-integer/string keys are skipped in the object, as are keys that point to a >- * function. >- * >- */ >- $.toJSON = typeof JSON === 'object' && JSON.stringify ? JSON.stringify : function (o) { >- if (o === null) { >- return 'null'; >- } >- >- var pairs, k, name, val, >- type = $.type(o); >- >- if (type === 'undefined') { >- return undefined; >- } >- >- // Also covers instantiated Number and Boolean objects, >- // which are typeof 'object' but thanks to $.type, we >- // catch them here. I don't know whether it is right >- // or wrong that instantiated primitives are not >- // exported to JSON as an {"object":..}. >- // We choose this path because that's what the browsers did. >- if (type === 'number' || type === 'boolean') { >- return String(o); >- } >- if (type === 'string') { >- return $.quoteString(o); >- } >- if (typeof o.toJSON === 'function') { >- return $.toJSON(o.toJSON()); >- } >- if (type === 'date') { >- var month = o.getUTCMonth() + 1, >- day = o.getUTCDate(), >- year = o.getUTCFullYear(), >- hours = o.getUTCHours(), >- minutes = o.getUTCMinutes(), >- seconds = o.getUTCSeconds(), >- milli = o.getUTCMilliseconds(); >- >- if (month < 10) { >- month = '0' + month; >- } >- if (day < 10) { >- day = '0' + day; >- } >- if (hours < 10) { >- hours = '0' + hours; >- } >- if (minutes < 10) { >- minutes = '0' + minutes; >- } >- if (seconds < 10) { >- seconds = '0' + seconds; >- } >- if (milli < 100) { >- milli = '0' + milli; >- } >- if (milli < 10) { >- milli = '0' + milli; >- } >- return '"' + year + '-' + month + '-' + day + 'T' + >- hours + ':' + minutes + ':' + seconds + >- '.' + milli + 'Z"'; >- } >- >- pairs = []; >- >- if ($.isArray(o)) { >- for (k = 0; k < o.length; k++) { >- pairs.push($.toJSON(o[k]) || 'null'); >- } >- return '[' + pairs.join(',') + ']'; >- } >- >- // Any other object (plain object, RegExp, ..) >- // Need to do typeof instead of $.type, because we also >- // want to catch non-plain objects. >- if (typeof o === 'object') { >- for (k in o) { >- // Only include own properties, >- // Filter out inherited prototypes >- if (hasOwn.call(o, k)) { >- // Keys must be numerical or string. Skip others >- type = typeof k; >- if (type === 'number') { >- name = '"' + k + '"'; >- } else if (type === 'string') { >- name = $.quoteString(k); >- } else { >- continue; >- } >- type = typeof o[k]; >- >- // Invalid values like these return undefined >- // from toJSON, however those object members >- // shouldn't be included in the JSON string at all. >- if (type !== 'function' && type !== 'undefined') { >- val = $.toJSON(o[k]); >- pairs.push(name + ':' + val); >- } >- } >- } >- return '{' + pairs.join(',') + '}'; >- } >- }; >- >- /** >- * jQuery.evalJSON >- * Evaluates a given json string. >- * >- * @param str {String} >- */ >- $.evalJSON = typeof JSON === 'object' && JSON.parse ? JSON.parse : function (str) { >- /*jshint evil: true */ >- return eval('(' + str + ')'); >- }; >- >- /** >- * jQuery.secureEvalJSON >- * Evals JSON in a way that is *more* secure. >- * >- * @param str {String} >- */ >- $.secureEvalJSON = typeof JSON === 'object' && JSON.parse ? JSON.parse : function (str) { >- var filtered = >- str >- .replace(/\\["\\\/bfnrtu]/g, '@') >- .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']') >- .replace(/(?:^|:|,)(?:\s*\[)+/g, ''); >- >- if (/^[\],:{}\s]*$/.test(filtered)) { >- /*jshint evil: true */ >- return eval('(' + str + ')'); >- } >- throw new SyntaxError('Error parsing JSON, source is not valid.'); >- }; >- >- /** >- * jQuery.quoteString >- * Returns a string-repr of a string, escaping quotes intelligently. >- * Mostly a support function for toJSON. >- * Examples: >- * >>> jQuery.quoteString('apple') >- * "apple" >- * >- * >>> jQuery.quoteString('"Where are we going?", she asked.') >- * "\"Where are we going?\", she asked." >- */ >- $.quoteString = function (str) { >- if (str.match(escape)) { >- return '"' + str.replace(escape, function (a) { >- var c = meta[a]; >- if (typeof c === 'string') { >- return c; >- } >- c = a.charCodeAt(); >- return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16); >- }) + '"'; >- } >- return '"' + str + '"'; >- }; >- >-}(jQuery)); >diff --git a/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc b/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc >index 6002472..5adae58 100644 >--- a/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc >+++ b/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc >@@ -35,7 +35,6 @@ > <script type="text/javascript" src="[% themelang %]/lib/jquery/jquery.js"></script> > <script type="text/javascript" src="[% themelang %]/lib/jquery/jquery-ui.js"></script> > <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.hoverIntent.minified.js"></script> >-<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.json.js"></script> > <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.cookie.min.js"></script> > <script type="text/javascript" src="[% themelang %]/js/commons.js"></script> > <script type="text/javascript" src="[% themelang %]/js/script.js"></script> >diff --git a/koha-tmpl/opac-tmpl/prog/en/lib/jquery/plugins/jquery.json.js b/koha-tmpl/opac-tmpl/prog/en/lib/jquery/plugins/jquery.json.js >deleted file mode 100644 >index ece0d41..0000000 >--- a/koha-tmpl/opac-tmpl/prog/en/lib/jquery/plugins/jquery.json.js >+++ /dev/null >@@ -1,199 +0,0 @@ >-/** >- * jQuery JSON plugin 2.4.0 >- * >- * @author Brantley Harris, 2009-2011 >- * @author Timo Tijhof, 2011-2012 >- * @source This plugin is heavily influenced by MochiKit's serializeJSON, which is >- * copyrighted 2005 by Bob Ippolito. >- * @source Brantley Harris wrote this plugin. It is based somewhat on the JSON.org >- * website's http://www.json.org/json2.js, which proclaims: >- * "NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.", a sentiment that >- * I uphold. >- * @license MIT License <http://www.opensource.org/licenses/mit-license.php> >- */ >-(function ($) { >- 'use strict'; >- >- var escape = /["\\\x00-\x1f\x7f-\x9f]/g, >- meta = { >- '\b': '\\b', >- '\t': '\\t', >- '\n': '\\n', >- '\f': '\\f', >- '\r': '\\r', >- '"' : '\\"', >- '\\': '\\\\' >- }, >- hasOwn = Object.prototype.hasOwnProperty; >- >- /** >- * jQuery.toJSON >- * Converts the given argument into a JSON representation. >- * >- * @param o {Mixed} The json-serializable *thing* to be converted >- * >- * If an object has a toJSON prototype, that will be used to get the representation. >- * Non-integer/string keys are skipped in the object, as are keys that point to a >- * function. >- * >- */ >- $.toJSON = typeof JSON === 'object' && JSON.stringify ? JSON.stringify : function (o) { >- if (o === null) { >- return 'null'; >- } >- >- var pairs, k, name, val, >- type = $.type(o); >- >- if (type === 'undefined') { >- return undefined; >- } >- >- // Also covers instantiated Number and Boolean objects, >- // which are typeof 'object' but thanks to $.type, we >- // catch them here. I don't know whether it is right >- // or wrong that instantiated primitives are not >- // exported to JSON as an {"object":..}. >- // We choose this path because that's what the browsers did. >- if (type === 'number' || type === 'boolean') { >- return String(o); >- } >- if (type === 'string') { >- return $.quoteString(o); >- } >- if (typeof o.toJSON === 'function') { >- return $.toJSON(o.toJSON()); >- } >- if (type === 'date') { >- var month = o.getUTCMonth() + 1, >- day = o.getUTCDate(), >- year = o.getUTCFullYear(), >- hours = o.getUTCHours(), >- minutes = o.getUTCMinutes(), >- seconds = o.getUTCSeconds(), >- milli = o.getUTCMilliseconds(); >- >- if (month < 10) { >- month = '0' + month; >- } >- if (day < 10) { >- day = '0' + day; >- } >- if (hours < 10) { >- hours = '0' + hours; >- } >- if (minutes < 10) { >- minutes = '0' + minutes; >- } >- if (seconds < 10) { >- seconds = '0' + seconds; >- } >- if (milli < 100) { >- milli = '0' + milli; >- } >- if (milli < 10) { >- milli = '0' + milli; >- } >- return '"' + year + '-' + month + '-' + day + 'T' + >- hours + ':' + minutes + ':' + seconds + >- '.' + milli + 'Z"'; >- } >- >- pairs = []; >- >- if ($.isArray(o)) { >- for (k = 0; k < o.length; k++) { >- pairs.push($.toJSON(o[k]) || 'null'); >- } >- return '[' + pairs.join(',') + ']'; >- } >- >- // Any other object (plain object, RegExp, ..) >- // Need to do typeof instead of $.type, because we also >- // want to catch non-plain objects. >- if (typeof o === 'object') { >- for (k in o) { >- // Only include own properties, >- // Filter out inherited prototypes >- if (hasOwn.call(o, k)) { >- // Keys must be numerical or string. Skip others >- type = typeof k; >- if (type === 'number') { >- name = '"' + k + '"'; >- } else if (type === 'string') { >- name = $.quoteString(k); >- } else { >- continue; >- } >- type = typeof o[k]; >- >- // Invalid values like these return undefined >- // from toJSON, however those object members >- // shouldn't be included in the JSON string at all. >- if (type !== 'function' && type !== 'undefined') { >- val = $.toJSON(o[k]); >- pairs.push(name + ':' + val); >- } >- } >- } >- return '{' + pairs.join(',') + '}'; >- } >- }; >- >- /** >- * jQuery.evalJSON >- * Evaluates a given json string. >- * >- * @param str {String} >- */ >- $.evalJSON = typeof JSON === 'object' && JSON.parse ? JSON.parse : function (str) { >- /*jshint evil: true */ >- return eval('(' + str + ')'); >- }; >- >- /** >- * jQuery.secureEvalJSON >- * Evals JSON in a way that is *more* secure. >- * >- * @param str {String} >- */ >- $.secureEvalJSON = typeof JSON === 'object' && JSON.parse ? JSON.parse : function (str) { >- var filtered = >- str >- .replace(/\\["\\\/bfnrtu]/g, '@') >- .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']') >- .replace(/(?:^|:|,)(?:\s*\[)+/g, ''); >- >- if (/^[\],:{}\s]*$/.test(filtered)) { >- /*jshint evil: true */ >- return eval('(' + str + ')'); >- } >- throw new SyntaxError('Error parsing JSON, source is not valid.'); >- }; >- >- /** >- * jQuery.quoteString >- * Returns a string-repr of a string, escaping quotes intelligently. >- * Mostly a support function for toJSON. >- * Examples: >- * >>> jQuery.quoteString('apple') >- * "apple" >- * >- * >>> jQuery.quoteString('"Where are we going?", she asked.') >- * "\"Where are we going?\", she asked." >- */ >- $.quoteString = function (str) { >- if (str.match(escape)) { >- return '"' + str.replace(escape, function (a) { >- var c = meta[a]; >- if (typeof c === 'string') { >- return c; >- } >- c = a.charCodeAt(); >- return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16); >- }) + '"'; >- } >- return '"' + str + '"'; >- }; >- >-}(jQuery)); >-- >1.7.10.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 10858
:
20947
|
21476
|
21483
|
21646
|
21647
|
21966
|
21967
|
23541
|
23542
|
23543
|
23633
|
23781
|
23782
|
25427
|
25428
|
25429
|
25430
|
25431
|
25432
|
25433
|
25434
|
25435
|
25436
|
25450
|
25451
|
25452
|
25453
|
25454
|
25455
|
25456
|
25457
|
25512
|
25513
|
25514
|
25643
|
25644
|
25645
|
25646
|
25647
|
25648
|
25649
|
25650
|
25651
|
25652
|
25653
|
36757
|
38033
|
38405
|
39502
|
39938
|
41838
|
41839
|
41840
|
41841
|
41842
|
44903
|
56479
|
56480
|
56481
|
56482
|
67073
|
67074
|
67075
|
67076
|
67086
|
67089
|
67090
|
67092
|
67093
|
67974
|
67975
|
67976
|
67977
|
67978
|
71218
|
71219
|
71220
|
71221
|
71222
|
71223
|
91584
|
91585
|
91586
|
91587
|
91588
|
91589
|
94833