storeWindowTree : function()

in deltaspike/modules/jsf/impl/src/main/resources/META-INF/resources/deltaspike/windowhandler.js [270:310]


            storeWindowTree : function() {

                dswh.utils.log('--- #storeWindowTree');

                // first we store all CSS we also need on the intermediate page
                var headNodes = document.getElementsByTagName("head")[0].childNodes;
                var oldSS = new Array();
                var j = 0;
                for (var i = 0; i < headNodes.length; i++) {
                    var tagName = headNodes[i].tagName;
                    if (tagName
                            && dswh.utils.equalsIgnoreCase(tagName, "link")
                            && dswh.utils.equalsIgnoreCase(headNodes[i].getAttribute("type"), "text/css")) {

                        // sort out media="print" and stuff
                        var media = headNodes[i].getAttribute("media");
                        if (!media
                                || dswh.utils.equalsIgnoreCase(media, "all")
                                || dswh.utils.equalsIgnoreCase(media, 'screen')) {
                            oldSS[j++] = headNodes[i].getAttribute("href");
                        }
                    }
                }
                localStorage.setItem(window.name + '_css', dswh.utils.stringify(oldSS));

                var body = document.getElementsByTagName("body")[0];
                localStorage.setItem(window.name + '_body', body.innerHTML);

                var attributes = {};
                for (var i = 0; i < body.attributes.length; i++) {
                    var attribute = body.attributes[i];
                    attributes[attribute.name] = attribute.value;
                }
                localStorage.setItem(window.name + '_bodyAttributes', dswh.utils.stringify(attributes));

                var scrollTop = (window.pageYOffset || document.documentElement.scrollTop) - (document.documentElement.clientTop || 0);
                localStorage.setItem(window.name + '_scrollTop', scrollTop);

                var scrollLeft = (window.pageXOffset || document.documentElement.scrollLeft) - (document.documentElement.clientLeft || 0);
                localStorage.setItem(window.name + '_scrollLeft', scrollLeft);
            },