'use strict' can mess up execution of third-party scripts if they are all concatenated to the same file. To prevent this, code is wrapped in an immediately-invoked function expression (IIFE). This ensures that the strict mode is only applied within the scope of the function it’s wrapped in. Change-Id: I59e433b419e2e7b85f87cc97d3add577e2c7590e
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.6 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.
 | 
						|
(function(window) {
 | 
						|
  'use strict';
 | 
						|
 | 
						|
  var util = window.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 = {
 | 
						|
    '&': '&',
 | 
						|
    '<': '<',
 | 
						|
    '>': '>',
 | 
						|
    '"': '"',
 | 
						|
    '\'': ''',
 | 
						|
    '/': '/',
 | 
						|
    '`': '`',
 | 
						|
  };
 | 
						|
 | 
						|
  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 '';
 | 
						|
  };
 | 
						|
 | 
						|
  window.util = util;
 | 
						|
})(window);
 |