Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 0 additions & 10 deletions background.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,6 @@ var windowIdToName = new Object();
// used to match new windows to saved windows that are still closed
var closedWindows = new Object();

// Unfortunately, removing a tab doesn't give us a windowId
// so we need to keep track of that mapping.
var tabIdToSavedWindowId = new Object();

// object that stores per-window flags as to whether API indicated
// window-closing intention on tab removal
var isWindowClosing = new Object();
Expand Down Expand Up @@ -155,9 +151,6 @@ function storeWindow(browserWindow, name, displayName) {
function markWindowAsOpen(savedWindow) {
delete closedWindows[savedWindow.name];
windowIdToName[savedWindow.id] = savedWindow.name;
for (var i in savedWindow.tabs) {
tabIdToSavedWindowId[savedWindow.tabs[i].id] = savedWindow.id;
}
updateBadgeForWindow(savedWindow.id);
}

Expand Down Expand Up @@ -219,9 +212,6 @@ function deleteSavedWindow(name) {
if (id) {
markWindowAsClosed(savedWindow);
updateBadgeForWindow(id);
for (var i in savedWindow.tabs) {
delete tabIdToSavedWindowId[savedWindow.tabs[i].id];
}
}

delete closedWindows[savedWindow.name];
Expand Down
4 changes: 2 additions & 2 deletions debug.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ debug.onTabMoved = function(tabId, info) {
}
// chrome.tabs.onMoved.addListener(debug.onTabMoved);

debug.onTabRemoved = function(tabId) {
debug.logEvent('tab_removed', tabIdToSavedWindowId[tabId], tabId);
debug.onTabRemoved = function(tabId, removeInfo) {
debug.logEvent('tab_removed', removeInfo.windowId, tabId);
}
chrome.tabs.onRemoved.addListener(debug.onTabRemoved);

Expand Down
27 changes: 3 additions & 24 deletions eventHandlers.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,6 @@ chrome.tabs.onCreated.addListener(onTabCreated);


function onTabDetached(tabId, info) {
if (tabIdToSavedWindowId[tabId]) {
delete tabIdToSavedWindowId[tabId];
}
onTabChanged(tabId, info.oldWindowId);
}
chrome.tabs.onDetached.addListener(onTabDetached);
Expand All @@ -32,10 +29,8 @@ chrome.tabs.onMoved.addListener(onTabMoved);


function onTabRemoved(tabId, removeInfo) {
var windowId = tabIdToSavedWindowId[tabId];
delete tabIdToSavedWindowId[tabId];
isWindowClosing[windowId] = removeInfo.isWindowClosing;
onTabChanged(tabId, windowId);
isWindowClosing[removeInfo.windowId] = removeInfo.isWindowClosing;
onTabChanged(tabId, removeInfo.windowId);
}
chrome.tabs.onRemoved.addListener(onTabRemoved);

Expand All @@ -58,10 +53,9 @@ chrome.tabs.onUpdated.addListener(onTabUpdated);
function onTabChanged(tabId, windowId) {
if (isWindowClosing[windowId])
return;
getPopulatedWindow(windowId, function(browserWindow) {
chrome.windows.get(windowId, {populate: true}, function (browserWindow) {
// if the window is saved, we update it
if (windowIdToName[windowId]) {
tabIdToSavedWindowId[tabId] = windowId;
var name = windowIdToName[windowId];
var displayName = savedWindows[name].displayName;
storeWindow(browserWindow, name, displayName);
Expand All @@ -84,21 +78,6 @@ function onTabChanged(tabId, windowId) {
}


// given a window id, fetches the corresponding window object
// and tabs, and calls callback with the window as argument
function getPopulatedWindow(windowId, callback) {
if (!windowId) {return;}
chrome.windows.get(windowId, function(browserWindow) {
if (!browserWindow) {return;}
chrome.tabs.getAllInWindow(windowId, function(tabs) {
if (!tabs) {return;}
browserWindow.tabs = tabs;
callback(browserWindow);
});
});
}


/* WINDOW EVENTS */


Expand Down
1 change: 1 addition & 0 deletions manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
"debug.js"
]
},
"minimum_chrome_version": "25",
"permissions": [
"tabs"
]
Expand Down
13 changes: 5 additions & 8 deletions popup.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,14 +87,11 @@ function appendWindowToList(savedWindow, currentWindowName) {
// save window in background page and update display
function saveWindow(event) {
event.preventDefault();
chrome.windows.getCurrent(function(currentWindow) {
chrome.tabs.getAllInWindow(null, function(tabs) {
currentWindow.tabs = tabs;
savedWindow = backgroundPage.saveWindow(currentWindow, nameInput.value);
formEl.style.display = "none";
appendWindowToList(savedWindow, nameInput.value);
backgroundPage._gaq.push(['_trackEvent', 'popup', 'saveWindow', 'Value is tab count.', savedWindow.tabs.length]);
});
chrome.windows.getCurrent({populate: true}, function(currentWindow) {
savedWindow = backgroundPage.saveWindow(currentWindow, nameInput.value);
formEl.style.display = "none";
appendWindowToList(savedWindow, nameInput.value);
backgroundPage._gaq.push(['_trackEvent', 'popup', 'saveWindow', 'Value is tab count.', savedWindow.tabs.length]);
});
}

Expand Down