Files
gerrit/polygerrit-ui/app/scripts/util.js
Andrew Bonventre d171f07a78 Add backtick to HTML escape code
Internet Explorer treats a backtick (`) as an attribute
delimiter like " and '. Account for this in HTML escape
code.

Change-Id: I48bccc0013829662479ce321a34f5c69e48aca95
2016-02-17 17:13:45 +00:00

57 lines
1.5 KiB
JavaScript

// Copyright (C) 2015 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
'use strict';
var util = util || {};
util.parseDate = function(dateStr) {
// Timestamps are given in UTC and have the format
// "'yyyy-mm-dd hh:mm:ss.fffffffff'" where "'ffffffffff'" represents
// nanoseconds.
// Munge the date into an ISO 8061 format and parse that.
return new Date(dateStr.replace(' ', 'T') + 'Z');
};
util.htmlEntityMap = {
'&': '&',
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
'\'': '&#39;',
'/': '&#x2F;',
'`': '&#96;',
};
util.escapeHTML = function(str) {
return str.replace(/[&<>"'`\/]/g, function(s) {
return util.htmlEntityMap[s];
});
};
util.getCookie = function(name) {
var key = name + '=';
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var c = cookies[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(key) == 0) {
return c.substring(key.length, c.length);
}
}
return '';
};