    var normalizeRequestType = function(details) {
        // normalize type, because of issue with Chrome 38+
        var type = details.type;
        if (type !== 'other') {
            return type;
        }
        var url = parseUri(details.url);
        if (url && url.pathname) {
            var pos = url.pathname.lastIndexOf('.');
            if (pos === -1) {
                return type;
            }
        }
        var ext = url.pathname.slice(pos) + '.';
        if ('.eot.ttf.otf.svg.woff.woff2.'.indexOf(ext) !== -1) {
            return 'font';
        }
        // Still need this because often behind-the-scene requests are wrongly
        // categorized as 'other'
        if ('.ico.png.gif.jpg.jpeg.webp.'.indexOf(ext) !== -1) {
            return 'image';
        }
        // https://code.google.com/p/chromium/issues/detail?id=410382
        if (type === 'other') {
            return 'object';
        }
    };