Upstream version 10.38.222.0
[platform/framework/web/crosswalk.git] / src / chrome / tools / test / reference_build / chrome_linux / resources / inspector / TempStorageSharedWorker.js
1 var ports=[];var isTempStorageCleared=false;var tempStorageError;self.onconnect=function(event)
2 {var newPort=(event.ports[0]);if(isTempStorageCleared){notifyTempStorageCleared(newPort);return;}
3 newPort.onmessage=handleMessage;newPort.onerror=handleError;ports.push(newPort);if(ports.length===1)
4 clearTempStorage();}
5 function clearTempStorage()
6 {function didFail(e)
7 {tempStorageError="Failed to clear temp storage: "+e.message+" "+e.name;console.error(tempStorageError);didClearTempStorage();}
8 function didGetFS(fs)
9 {fs.root.createReader().readEntries(didReadEntries,didFail);}
10 function didReadEntries(entries)
11 {var remainingEntries=entries.length;if(!remainingEntries){didClearTempStorage();return;}
12 function didDeleteEntry()
13 {if(!--remainingEntries)
14 didClearTempStorage();}
15 function failedToDeleteEntry(e)
16 {tempStorageError="Failed to delete entry: "+e.message+" "+e.name;console.error(tempStorageError);didDeleteEntry();}
17 for(var i=0;i<entries.length;i++){var entry=entries[i];if(entry.isFile)
18 entry.remove(didDeleteEntry,failedToDeleteEntry);else
19 entry.removeRecursively(didDeleteEntry,failedToDeleteEntry);}}
20 self.webkitRequestFileSystem(self.TEMPORARY,10,didGetFS,didFail);}
21 function didClearTempStorage()
22 {isTempStorageCleared=true;for(var i=0;i<ports.length;i++)
23 notifyTempStorageCleared(ports[i]);ports=null;}
24 function notifyTempStorageCleared(port)
25 {port.postMessage({type:"tempStorageCleared",error:tempStorageError});}
26 function handleMessage(event)
27 {if(event.data.type==="disconnect")
28 removePort(event.target);}
29 function handleError(event)
30 {console.error("Error: "+event.data);removePort(event.target);}
31 function removePort(port)
32 {if(!ports)
33 return;var index=ports.indexOf(port);ports.splice(index,1);}