diff --git a/tabs-tabs-tabs/tabs.css b/tabs-tabs-tabs/tabs.css
index 959491f..6684bda 100644
--- a/tabs-tabs-tabs/tabs.css
+++ b/tabs-tabs-tabs/tabs.css
@@ -7,6 +7,14 @@ a {
display: inline-block;
}
+.switch-tabs {
+ padding-left: 10px;
+}
+
+.switch-tabs a {
+ display: block;
+}
+
.panel {
margin: 5px;
}
diff --git a/tabs-tabs-tabs/tabs.html b/tabs-tabs-tabs/tabs.html
index 14946e8..773255e 100644
--- a/tabs-tabs-tabs/tabs.html
+++ b/tabs-tabs-tabs/tabs.html
@@ -33,6 +33,13 @@
Reset zoom
Zoom out
+
+
+
diff --git a/tabs-tabs-tabs/tabs.js b/tabs-tabs-tabs/tabs.js
index be20e26..69f6b66 100644
--- a/tabs-tabs-tabs/tabs.js
+++ b/tabs-tabs-tabs/tabs.js
@@ -12,6 +12,30 @@ function firstUnpinnedTab(tabs) {
}
}
+function listTabs() {
+ chrome.tabs.query({
+ currentWindow: true
+ }, function(tabs) {
+ var tabsList = document.getElementById('tabs-list'),
+ currentTabs = document.createDocumentFragment();
+
+ tabsList.innerHTML = '';
+
+ for (var tab of tabs) {
+ if (!tab.active) {
+ var tabLink = document.createElement('a');
+
+ tabLink.innerHTML = tab.title || tab.id;
+ tabLink.setAttribute('href', tab.id);
+ tabLink.classList.add('switch-tabs');
+ currentTabs.appendChild(tabLink);
+ }
+ }
+
+ tabsList.appendChild(currentTabs);
+ });
+}
+
document.addEventListener("click", function(e) {
function callOnActiveTab(callback) {
chrome.tabs.query({currentWindow: true}, function(tabs) {
@@ -122,5 +146,23 @@ document.addEventListener("click", function(e) {
});
}
+ else if (e.target.classList.contains('switch-tabs')) {
+ var tabId = +e.target.getAttribute('href');
+
+ chrome.tabs.query({
+ currentWindow: true
+ }, function(tabs) {
+ for (var tab of tabs) {
+ if (tab.id === tabId) {
+ chrome.tabs.update(tabId, {
+ active: true
+ });
+ }
+ }
+ });
+ }
+
e.preventDefault();
});
+
+document.addEventListener("DOMContentLoaded", listTabs);