Files
2024-02-09 08:12:38 -08:00

22 lines
818 B
JavaScript

// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
chrome.commands.onCommand.addListener(async (command) => {
const tabs = await chrome.tabs.query({ currentWindow: true });
// Sort tabs according to their index in the window.
tabs.sort((a, b) => {
return a.index < b.index;
});
const activeIndex = tabs.findIndex((tab) => {
return tab.active;
});
const lastTab = tabs.length - 1;
let newIndex = -1;
if (command === 'flip-tabs-forward') {
newIndex = activeIndex === lastTab ? 0 : activeIndex + 1;
}
// 'flip-tabs-backwards'
else newIndex = activeIndex === 0 ? lastTab : activeIndex - 1;
chrome.tabs.update(tabs[newIndex].id, { active: true, highlighted: true });
});