Re: [PATCH 2/2] gitweb.js: use unicode encoding for nbsp instead of html entity
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Nov 19, 2009, 23:00 UTC
- Message-ID
- <200911200000.41658.jnareb@gmail.com>
- In-Reply-To
- <1258659887-5244-3-git-send-email-bebarino@gmail.com>
On Thu, 19 Nov 2009, Stephen Boyd wrote:
> It seems that in Firefox-3.5 inserting nbsp with javascript inserts the > literal nbsp; instead of a space. Fix this by inserting the unicode > representation for nbsp instead.
Errr... why are you avoiding writing or " " here?
> > Signed-off-by: Stephen Boyd <bebarino@gmail.com> > ---
[From "[PATCH 0/2] jn/gitweb-blame fixes"]
> This series is based on next's jn/gitweb-blame branch.
> The second patch fixes a visible bug I see in Firefox. Although I > assume on other browsers it's not a problem? I haven't tested it on > others so I can't be sure.
Well, since I moved from elem.innerHTML (which is non-standard, and does not work for some browsers in strict XHTML mode) to setting elem.firstChild.data (which assumes that firstChild exists and it is a text node) I have had damned *intermittent* bugs where sometimes ' ' would be shown literally, and sometimes this entity would be correctly rendered.
I suspect this is either bug in Firefox, or unspecified part of DOM.
As we need this only for progress report, I am not against this change, if it doesn't make it worse in other browsers.
Show 36 quoted lines
> gitweb/gitweb.js | 8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/gitweb/gitweb.js b/gitweb/gitweb.js
> index 02454d8..30597dd 100644
> --- a/gitweb/gitweb.js
> +++ b/gitweb/gitweb.js
> @@ -31,12 +31,12 @@
>
> /**
> * pad number N with nonbreakable spaces on the left, to WIDTH characters
> - * example: padLeftStr(12, 3, ' ') == ' 12'
> - * (' ' is nonbreakable space)
> + * example: padLeftStr(12, 3, '\u00A0') == '\u00A012'
> + * ('\u00A0' is nonbreakable space)
> *
> * @param {Number|String} input: number to pad
> * @param {Number} width: visible width of output
> - * @param {String} str: string to prefix to string, e.g. ' '
> + * @param {String} str: string to prefix to string, e.g. '\u00A0'
> * @returns {String} INPUT prefixed with (WIDTH - INPUT.length) x STR
> */
> function padLeftStr(input, width, str) {
> @@ -158,7 +158,7 @@ function updateProgressInfo() {
>
> if (div_progress_info) {
> div_progress_info.firstChild.data = blamedLines + ' / ' + totalLines +
> - ' (' + padLeftStr(percentage, 3, ' ') + '%)';
> + ' (' + padLeftStr(percentage, 3, '\u00A0') + '%)';
> }
>
> if (div_progress_bar) {
> --
> 1.6.5.3.433.g11067
>
> -- Jakub Narebski Poland