(function(context){ document.getElementById("appid").value=chrome.runtime.id; var remoteAppID =""; var action =""; var pageIndex=null; console.log('Starting'); var sendId; sendId=document.getElementById("sendId"); chrome.storage.local.get('remoteappid',function (result) { console.log(result); remoteAppID=result.remoteappid; console.log('In Loop' +remoteAppID); sendId.value=remoteAppID; }); var logField = document.getElementById("log"); var save=document.getElementById("saveID"); var process=document.getElementById("process"); save.addEventListener('click', function() { var remoteID=sendId.value; appendLog("Saved"); chrome.storage.local.set({'remoteappid': remoteID}); }); process.addEventListener('click', function() { pageIndex=1; chrome.tabs.query( { currentWindow: true, active: true }, function (tabArray) { var activeTabId= tabArray[0]; chrome.tabs.sendMessage(activeTabId.id, {text: 'report_back',pageIndex: pageIndex}, doStuffWithDom); } ); }); function doStuffWithDom(res) { var domContent=res.domContent; var pageIndex=res.pageIndex; //console.log('I received the following DOM content:\n' + domContent); chrome.runtime.sendMessage( sendId.value, {myCustomMessage: JSON.stringify(domContent),myAction : "save",myIndex : pageIndex}, function(response) { appendLog("Remote Message : " + response.result); if (response.Success=="false"){ console.log("Remote Error : " + response.result); appendLog("Remote Error : " + response.result); }else{ chrome.tabs.query( { currentWindow: true, active: true }, function (tabArray) { var activeTabId= tabArray[0]; chrome.tabs.sendMessage(activeTabId.id, {text: 'process_next'},dealWithNextButton); } ); console.log(response.result); appendLog(response.result); } }) } chrome.runtime.onMessageExternal.addListener( function(request, sender, sendResponse) { appendLog("Remote Message : " + request.myResultAction); if (request.result=="false"){ console.log("Remote Error : " + request.myResultAction); appendLog("Remote Error : " + request.myResultAction); }else{ chrome.tabs.query( { currentWindow: true, active: true }, function (tabArray) { var activeTabId= tabArray[0]; chrome.tabs.sendMessage(activeTabId.id, {text: 'process_next'},dealWithNextButton); } ); console.log(request.result); appendLog(request.result); } } ); function dealWithNextButton(res){ var result = res.success; if (result==false){ appendLog("Finished."); pageIndex=null; }else{ appendLog("Still Processing."); } } chrome.webNavigation.onDOMContentLoaded.addListener(function (details) { if (pageIndex !=null){ pageIndex+=1; chrome.tabs.query( { currentWindow: true, active: true }, function (tabArray) { var activeTabId= tabArray[0]; chrome.tabs.sendMessage(activeTabId.id, {text: 'report_back',pageIndex: pageIndex}, doStuffWithDom); } ); } } ); function doInCurrentTab(tabCallback) { } var appendLog = function(message) { logField.innerText+="\n"+message; }; context.appendLog = appendLog; })(window)