twitterのsession処理 -init.ja.***.js

twitterで読み込まれるjsのうちの一つ、init.ja.***.jsの中でsessionがどのように処理されているかを見てみます。

https://abs.twimg.com/k/ja/init.ja.***.js
* Copyright(c) 2012-2014 Roman Shtylman -> CEO at Courseoff, Computer whisperer @ Cruise/GM. Formerly Coinbase, Courseoff, other stuff. SF.
* Copyright(c) 2015 Douglas Christopher Wilson ->Lead Software Engineer at Salesforce Marketing Cloud?

init.ja.***.js line.2
setSession, removeSession, getSessionしてますね。

function n(){
	this.setSessionItem=function(t,e){
		window.sessionStorage&&sessionStorage.setItem(t,e)
	},
	this.removeSessionItem=function(t){
		window.sessionStorage&&sessionStorage.removeItem(t)
	},
	this.getSessionItem=function(t){
		return window.sessionStorage&&sessionStorage.getItem(t)
	},
	this.setSessionObject=function(t,e){
		void 0===e?this.removeSessionItem(t):this.setSessionItem(t,JSON.stringify(e))
	},t
	his.getSessionObject=function(t){var e=this.getSessionItem(t);

tとeは

function(){var t=this.$element.text().trim();

e=t.extend({},t.fn[this.type].defaults,e,this.$element.data()),e.delay&&"number"==typeof e.delay&&(e.delay={
	show:e.delay,hide:100}),e},enter:function(n){var r=t(n.target);

sessionに入れる値は、scriptPathとunixtimeは入れたい。

twitterのsession情報の一部

{"product":"webclient","description":"stats:ajax:perf:partner_id_sync:tellapart","duration_ms":60,"start_time_ms":1523669400806,"metadata":"{\"url\":\"https://t.tellapart.com/twitterinitmatch\",\"browser\":{\"chrome\":true,\"version\":\"65.0.3325.181\",\"webkit\":true,\"name\":\"chrome\"}}","_category_":"perftown"}

やっぱり、ajaxで”https://analytics.twitter.com/”にトラッキングデータ送ってる。twitter、お前もか?

return t._evalUrl=function(e){return t.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},t._evalUrl}.apply(e,n))&&(t.exports=r)},"0y9Y":function(t,e,i){"use strict";(function(t){function n(){this.defaultAttrs({tweetHashtagLinkSelector:".js-stream-tweet .twitter-hashtag, .permalink-tweet .twitter-hashtag",tweetLinkSelector:".js-stream-tweet ...

しかしなぜ、jsの中で処理せずに、jsonとしてsessionに値を入れているんだろう?