mirror of
https://github.com/GoogleChrome/chrome-extensions-samples.git
synced 2026-03-27 13:29:34 +07:00
22 lines
818 B
JavaScript
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 });
|
|
});
|