/* * Takes the initial client cookie value, if any (null otherwise), as well * as the page load timestamp and creates initial states. */ protected void initCookieStates(String plainCookieId, String etagCookieId) { CookieStates states = getCookieStates(); CookieState plainState; ZombieCookie cookie = null; if (plainCookieId == null) { // may be overridden to UNSUPPORTED after javascript info received plainState = NEW; } else if ((cookie = lookupZombieCookie(plainCookieId)) != null) { if (cookie.hasParent()) { cookie = cookie.oldestRelative(); plainState = REPLACED_BY_OLDER_PLAIN_COOKIE; } else { plainState = EXISTING; } } else { plainState = RESET; } if (cookie == null) { cookie = createZombieCookie(); } setAndSaveZombieCookie(cookie); states.setPlainState(plainState); updateCookieStates(ETAG, etagCookieId); }
protected void updateCookieStates(JsData jsData, boolean deviceCookieReceived) { CookieStates states = getCookieStates(); if (!deviceCookieReceived) { // There has been a full round trip with the client, so we know for // sure if cookies are supported at this point. We override // the previous value of NEW or RESTORED_FROM_* states.setPlainState(NOT_SUPPORTED); } if (jsData.getWebLocalStorageTest() != Boolean.TRUE) { states.setWebStorageState(NOT_SUPPORTED); } }