Compare commits

...

9 Commits

Author SHA1 Message Date
luke crouch 35cf2c95d4 Merge pull request #1686 from DeadlySurprise/fixCurrentContainerBtn
Fixes #1682 'open in current container button' not working
2020-04-11 15:05:42 -05:00
DeadlySurprise 19e694d8eb Fixed 'open in current container button' not working 2020-03-15 17:42:52 +01:00
luke crouch ae1f80b8b5 Merge pull request #1667 from mozilla/more-bugfixes
Made selector for keyboard shortcuts more specific to fix #1666
2020-02-28 10:39:28 -06:00
Kendall Werts 358551feda Made selector for keyboard shortcuts more specific to fix #1666
Bumped version for release
2020-02-28 10:19:42 -06:00
luke crouch ca98b56ad7 Merge pull request #1663 from mozilla/bugfixes
Removed Enter Key Handler (fix for #1656, #1643, and #1637)
2020-02-27 14:44:34 -06:00
Kendall Werts 5bbf902b47 fix for #1656, #1643, and #1637
removes enter key listener in favor of focus highlighting to notify user that there
is keyboard navigation available for the onboarding panels. (enter key listener was added
 as keyboard navication for onboarding panels).

bumped version
2020-02-26 17:16:45 -06:00
luke crouch d654810d41 Merge pull request #1635 from mozilla/pinned-tabs
Fix for #1632: Pinned tabs cannot be loaded as 'discarded'
2020-02-14 09:05:15 -06:00
Kendall Werts 8172f291dd bumped version 2020-02-13 17:26:31 -06:00
Kendall Werts 9e12014c07 Fix for #1632: Pinned tabs cannot be loaded as 'discarded' 2020-02-13 16:54:18 -06:00
7 changed files with 31 additions and 43 deletions
+2 -1
View File
@@ -2,7 +2,7 @@
"name": "testpilot-containers", "name": "testpilot-containers",
"title": "Multi-Account Containers", "title": "Multi-Account Containers",
"description": "Containers helps you keep all the parts of your online life contained in different tabs. Custom labels and color-coded tabs help keep different activities — like online shopping, travel planning, or checking work email — separate.", "description": "Containers helps you keep all the parts of your online life contained in different tabs. Custom labels and color-coded tabs help keep different activities — like online shopping, travel planning, or checking work email — separate.",
"version": "6.2.0", "version": "6.2.3",
"author": "Andrea Marchesini, Luke Crouch and Jonathan Kingston", "author": "Andrea Marchesini, Luke Crouch and Jonathan Kingston",
"bugs": { "bugs": {
"url": "https://github.com/mozilla/multi-account-containers/issues" "url": "https://github.com/mozilla/multi-account-containers/issues"
@@ -37,6 +37,7 @@
}, },
"scripts": { "scripts": {
"build": "npm test && cd src && web-ext build --overwrite-dest", "build": "npm test && cd src && web-ext build --overwrite-dest",
"webext": "web-ext run -s src/",
"lint": "npm-run-all lint:*", "lint": "npm-run-all lint:*",
"lint:addon": "addons-linter src --self-hosted", "lint:addon": "addons-linter src --self-hosted",
"lint:css": "stylelint src/css/*.css", "lint:css": "stylelint src/css/*.css",
+5
View File
@@ -390,6 +390,11 @@ table {
background-color: #0675d3; background-color: #0675d3;
} }
.onboarding-button:focus,
.half-onboarding-button:focus {
box-shadow: 0 0 0 1px #0a84ff inset, 0 0 0 1px #0a84ff, 0 0 0 4px rgba(10, 132, 255, 0.3);
}
/* Pop buttons are the square shaped buttons used to /* Pop buttons are the square shaped buttons used to
manage things like container crud */ manage things like container crud */
.pop-button { .pop-button {
+2 -1
View File
@@ -310,12 +310,13 @@ const backgroundLogic = {
for (let object of containerState.hiddenTabs) { // eslint-disable-line prefer-const for (let object of containerState.hiddenTabs) { // eslint-disable-line prefer-const
// do not show already opened url // do not show already opened url
const noload = !object.pinned;
if (object.url !== options.alreadyShowingUrl) { if (object.url !== options.alreadyShowingUrl) {
promises.push(this.openNewTab({ promises.push(this.openNewTab({
userContextId: userContextId, userContextId: userContextId,
url: object.url, url: object.url,
nofocus: options.nofocus || false, nofocus: options.nofocus || false,
noload: true, noload: noload,
pinned: object.pinned, pinned: object.pinned,
})); }));
} }
+7 -18
View File
@@ -17,25 +17,14 @@ async function load() {
const currentContainer = await browser.contextualIdentities.get(currentCookieStoreId); const currentContainer = await browser.contextualIdentities.get(currentCookieStoreId);
document.getElementById("current-container-name").textContent = currentContainer.name; document.getElementById("current-container-name").textContent = currentContainer.name;
} }
document.getElementById("deny").addEventListener("click", (e) => {
document.getElementById("redirect-form").addEventListener("submit", (e) => {
e.preventDefault(); e.preventDefault();
let button = "confirm"; // Confirm is the form default. denySubmit(redirectUrl);
let buttonTarget = e.explicitOriginalTarget; });
if (buttonTarget.tagName !== "BUTTON") {
buttonTarget = buttonTarget.closest("button"); document.getElementById("confirm").addEventListener("click", (e) => {
} e.preventDefault();
if (buttonTarget && buttonTarget.id) { confirmSubmit(redirectUrl, cookieStoreId);
button = buttonTarget.id;
}
switch (button) {
case "deny":
denySubmit(redirectUrl);
break;
case "confirm":
confirmSubmit(redirectUrl, cookieStoreId);
break;
}
}); });
} }
+2 -10
View File
@@ -611,7 +611,7 @@ Logic.registerPanel(P_CONTAINERS_LIST, {
}); });
document.addEventListener("keydown", (e) => { document.addEventListener("keydown", (e) => {
const selectables = [...document.querySelectorAll("[tabindex='0'], [tabindex='-1']")]; const selectables = [...document.querySelectorAll(".open-newtab[tabindex='0']")];
const element = document.activeElement; const element = document.activeElement;
const index = selectables.indexOf(element) || 0; const index = selectables.indexOf(element) || 0;
function next() { function next() {
@@ -633,14 +633,6 @@ Logic.registerPanel(P_CONTAINERS_LIST, {
case 38: case 38:
previous(); previous();
break; break;
case 13: {
const panel = Logic.getCurrentPanelElement();
const button = panel.getElementsByTagName("A")[0];
if(button) {
button.click();
}
break;
}
case 39: case 39:
{ {
const showTabs = element.parentNode.querySelector(".show-tabs"); const showTabs = element.parentNode.querySelector(".show-tabs");
@@ -660,7 +652,7 @@ Logic.registerPanel(P_CONTAINERS_LIST, {
default: default:
if ((e.keyCode >= 49 && e.keyCode <= 57) && if ((e.keyCode >= 49 && e.keyCode <= 57) &&
Logic._currentPanel === "containersList") { Logic._currentPanel === "containersList") {
const element = selectables[e.keyCode - 48]; const element = selectables[e.keyCode - 49];
if (element) { if (element) {
element.click(); element.click();
} }
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"manifest_version": 2, "manifest_version": 2,
"name": "Firefox Multi-Account Containers", "name": "Firefox Multi-Account Containers",
"version": "6.2.0", "version": "6.2.3",
"incognito": "not_allowed", "incognito": "not_allowed",
"description": "Multi-Account Containers helps you keep all the parts of your online life contained in different tabs. Custom labels and color-coded tabs help keep different activities — like online shopping, travel planning, or checking work email — separate.", "description": "Multi-Account Containers helps you keep all the parts of your online life contained in different tabs. Custom labels and color-coded tabs help keep different activities — like online shopping, travel planning, or checking work email — separate.",
"icons": { "icons": {
+12 -12
View File
@@ -13,7 +13,7 @@
<p> <p>
Use containers to organize tasks, manage accounts, and keep your focus where you want it. Use containers to organize tasks, manage accounts, and keep your focus where you want it.
</p> </p>
<a href="#" class="onboarding-button onboarding-start-button">Get Started</a> <a href="#" class="onboarding-button onboarding-start-button" tabindex="0">Get Started</a>
</div> </div>
<div class="hide panel onboarding security-onboarding-panel-1"> <div class="hide panel onboarding security-onboarding-panel-1">
@@ -22,49 +22,49 @@
<p> <p>
Use containers to organize tasks, manage accounts, and store sensitive data. Use containers to organize tasks, manage accounts, and store sensitive data.
</p> </p>
<a href="#" class="onboarding-button onboarding-start-button">Get Started</a> <a href="#" class="onboarding-button onboarding-start-button" tabindex="0">Get Started</a>
</div> </div>
<div class="panel onboarding onboarding-panel-2 hide"> <div class="panel onboarding onboarding-panel-2 hide">
<img class="onboarding-img" alt="How Containers Work" src="/img/onboarding-2.png" /> <img class="onboarding-img" alt="How Containers Work" src="/img/onboarding-2.png" />
<h3 class="onboarding-title">Put containers to work for you.</h3> <h3 class="onboarding-title">Put containers to work for you.</h3>
<p>Features like color-coding and separate container tabs help you find things easily, focus your attention, and minimize distractions.</p> <p>Features like color-coding and separate container tabs help you find things easily, focus your attention, and minimize distractions.</p>
<a href="#" class="onboarding-button onboarding-next-button">Next</a> <a href="#" class="onboarding-button onboarding-next-button" tabindex="0">Next</a>
</div> </div>
<div class="panel onboarding security-onboarding-panel-2 hide"> <div class="panel onboarding security-onboarding-panel-2 hide">
<img class="onboarding-img" alt="How Containers Work" src="/img/onboarding-2.png" /> <img class="onboarding-img" alt="How Containers Work" src="/img/onboarding-2.png" />
<h3 class="onboarding-title">Put containers to work for you.</h3> <h3 class="onboarding-title">Put containers to work for you.</h3>
<p>Color-coding helps you categorize your online life, find things easily, and minimize distractions.</p> <p>Color-coding helps you categorize your online life, find things easily, and minimize distractions.</p>
<a href="#" class="onboarding-button onboarding-next-button">Next</a> <a href="#" class="onboarding-button onboarding-next-button" tabindex="0">Next</a>
</div> </div>
<div class="panel onboarding onboarding-panel-3 hide"> <div class="panel onboarding onboarding-panel-3 hide">
<img class="onboarding-img" alt="How Containers Work" src="/img/onboarding-3.png" /> <img class="onboarding-img" alt="How Containers Work" src="/img/onboarding-3.png" />
<h3 class="onboarding-title">A place for everything, and everything in its place.</h3> <h3 class="onboarding-title">A place for everything, and everything in its place.</h3>
<p>Start with the containers we've created, or create your own.</p> <p>Start with the containers we've created, or create your own.</p>
<a href="#" class="onboarding-button onboarding-almost-done-button">Next</a> <a href="#" class="onboarding-button onboarding-almost-done-button" tabindex="0">Next</a>
</div> </div>
<div class="panel onboarding security-onboarding-panel-3 hide"> <div class="panel onboarding security-onboarding-panel-3 hide">
<img class="onboarding-img" alt="How Containers Work" src="/img/onboarding-3-security.png" /> <img class="onboarding-img" alt="How Containers Work" src="/img/onboarding-3-security.png" />
<h3 class="onboarding-title">Set boundaries for your browsing.</h3> <h3 class="onboarding-title">Set boundaries for your browsing.</h3>
<p>Cookies are stored within a container, so you can segment sensitive data and browsing history to stay organized and to limit the impact of online trackers.</p> <p>Cookies are stored within a container, so you can segment sensitive data and browsing history to stay organized and to limit the impact of online trackers.</p>
<a href="#" class="onboarding-button onboarding-almost-done-button">Next</a> <a href="#" class="onboarding-button onboarding-almost-done-button" tabindex="0">Next</a>
</div> </div>
<div class="panel onboarding onboarding-panel-4 hide" id="onboarding-panel-4"> <div class="panel onboarding onboarding-panel-4 hide" id="onboarding-panel-4">
<img class="onboarding-img" alt="How to assign sites to containers" src="/img/onboarding-4.png" /> <img class="onboarding-img" alt="How to assign sites to containers" src="/img/onboarding-4.png" />
<h3 class="onboarding-title">Always open sites in the containers you want.</h3> <h3 class="onboarding-title">Always open sites in the containers you want.</h3>
<p>Right-click inside a container tab to assign the site to always open in the container.</p> <p>Right-click inside a container tab to assign the site to always open in the container.</p>
<a href="#" id="onboarding-done-button" class="onboarding-button">Next</a> <a href="#" id="onboarding-done-button" class="onboarding-button" tabindex="0">Next</a>
</div> </div>
<div class="panel onboarding onboarding-panel-5 hide" id="onboarding-panel-5"> <div class="panel onboarding onboarding-panel-5 hide" id="onboarding-panel-5">
<img class="onboarding-img" alt="Long-press the New Tab button to create a new container tab." src="/img/onboarding-3.png" /> <img class="onboarding-img" alt="Long-press the New Tab button to create a new container tab." src="/img/onboarding-3.png" />
<h3 class="onboarding-title">Container tabs when you need them.</h3> <h3 class="onboarding-title">Container tabs when you need them.</h3>
<p>Long-press the New Tab button to create a new container tab.</p> <p>Long-press the New Tab button to create a new container tab.</p>
<a href="#" id="onboarding-longpress-button" class="onboarding-button">Next</a> <a href="#" id="onboarding-longpress-button" class="onboarding-button" tabindex="0">Next</a>
</div> </div>
<div class="panel onboarding onboarding-panel-6 hide" id="onboarding-panel-6"> <div class="panel onboarding onboarding-panel-6 hide" id="onboarding-panel-6">
@@ -72,8 +72,8 @@
<h3 class="onboarding-title">Syncing Containers is now Available!</h3> <h3 class="onboarding-title">Syncing Containers is now Available!</h3>
<p>Turn on Sync to share container and site assignments with any computer connected to your Firefox Account.</p> <p>Turn on Sync to share container and site assignments with any computer connected to your Firefox Account.</p>
<div class="half-button-wrapper"> <div class="half-button-wrapper">
<a herf="#" id="no-sync" class="half-onboarding-button grey-button">Not Now</a> <a herf="#" id="no-sync" class="half-onboarding-button grey-button" tabindex="0">Not Now</a>
<a href="#" id="start-sync-button" class="half-onboarding-button">Start Syncing</a> <a href="#" id="start-sync-button" class="half-onboarding-button" tabindex="0">Start Syncing</a>
</div> </div>
</div> </div>
@@ -82,8 +82,8 @@
<h3 class="onboarding-title">Firefox Account is required to sync.</h3> <h3 class="onboarding-title">Firefox Account is required to sync.</h3>
<p>Click Sign In to confirm that your Firefox Account is active.</p> <p>Click Sign In to confirm that your Firefox Account is active.</p>
<div class="half-button-wrapper"> <div class="half-button-wrapper">
<a herf="#" id="no-sign-in" class="half-onboarding-button grey-button">Not Now</a> <a herf="#" id="no-sign-in" class="half-onboarding-button grey-button" tabindex="0">Not Now</a>
<a href="#" id="sign-in" class="half-onboarding-button">Sign In</a> <a href="#" id="sign-in" class="half-onboarding-button" tabindex="0">Sign In</a>
</div> </div>
</div> </div>