B2G/gecko/browser/components/sessionstore/src/SessionStore.jsm
/**
   * Store window dimensions, visibility, sidebar
   * @param aWindow
   *        Window reference
   */
Store window dimensions, visibility, sidebar
@param aWindow
Window reference
Store window dimensions visibility sidebar @param aWindow Window reference
function ssi_updateWindowFeatures(aWindow) {
    var winData = this._windows[aWindow.__SSi];
    WINDOW_ATTRIBUTES.forEach(function(aAttr) {
      winData[aAttr] = this._getWindowDimension(aWindow, aAttr);
    }, this);
    var hidden = WINDOW_HIDEABLE_FEATURES.filter(function(aItem) {
      return aWindow[aItem] && !aWindow[aItem].visible;
    });
    if (hidden.length != 0)
      winData.hidden = hidden.join(",");
    else if (winData.hidden)
      delete winData.hidden;
    var sidebar = aWindow.document.getElementById("sidebar-box").getAttribute("sidebarcommand");
    if (sidebar)
      winData.sidebar = sidebar;
    else if (winData.sidebar)
      delete winData.sidebar;
  }
function ssi_updateWindowFeatures ( aWindow ) { var winData = this . _windows [ aWindow . __SSi ] ; WINDOW_ATTRIBUTES . forEach ( function ( aAttr ) { winData [ aAttr ] = this . _getWindowDimension ( aWindow , aAttr ) ; } , this ) ; var hidden = WINDOW_HIDEABLE_FEATURES . filter ( function ( aItem ) { return aWindow [ aItem ] && ! aWindow [ aItem ] . visible ; } ) ; if ( hidden . length != 0 ) winData . hidden = hidden . join ( "," ) ; else if ( winData . hidden ) delete winData . hidden ; var sidebar = aWindow . document . getElementById ( "sidebar-box" ) . getAttribute ( "sidebarcommand" ) ; if ( sidebar ) winData . sidebar = sidebar ; else if ( winData . sidebar ) delete winData . sidebar ; }
Store window dimensions, visibility, sidebar
 @param aWindow
        Window reference
Store window dimensions visibility sidebar @param aWindow Window reference