mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-11 21:58:41 +02:00
Backed out changeset 4eb7778c4325 (bug 1368383) Backed out changeset 3ca93081969b (bug 1368383) MozReview-Commit-ID: BZfthG2g9FE
82 lines
3.2 KiB
JavaScript
82 lines
3.2 KiB
JavaScript
"use strict";
|
|
|
|
var { SocialService } = Cu.import("resource:///modules/SocialService.jsm", {});
|
|
|
|
let contextMenu;
|
|
let hasPocket = Services.prefs.getBoolPref("extensions.pocket.enabled");
|
|
let hasContainers = Services.prefs.getBoolPref("privacy.userContext.enabled");
|
|
|
|
// A social share provider
|
|
let manifest = {
|
|
name: "provider 1",
|
|
origin: "https://example.com",
|
|
iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png",
|
|
shareURL: "https://example.com/browser/browser/base/content/test/social/share.html"
|
|
};
|
|
|
|
add_task(async function test_setup() {
|
|
const example_base = "http://example.com/browser/browser/base/content/test/contextMenu/";
|
|
const url = example_base + "subtst_contextmenu_webext.html";
|
|
await BrowserTestUtils.openNewForegroundTab(gBrowser, url);
|
|
|
|
const chrome_base = "chrome://mochitests/content/browser/browser/base/content/test/general/";
|
|
const contextmenu_common = chrome_base + "contextmenu_common.js";
|
|
/* import-globals-from ../general/contextmenu_common.js */
|
|
Services.scriptloader.loadSubScript(contextmenu_common, this);
|
|
|
|
// Enable social sharing functions in the browser, so the context menu item is shown.
|
|
CustomizableUI.addWidgetToArea("social-share-button", CustomizableUI.AREA_NAVBAR);
|
|
|
|
await new Promise((resolve) => SocialService.addProvider(manifest, resolve));
|
|
ok(SocialShare.shareButton && !SocialShare.shareButton.disabled, "Sharing is enabled");
|
|
});
|
|
|
|
add_task(async function test_link() {
|
|
// gets hidden for this case.
|
|
await test_contextmenu("#link",
|
|
["context-openlinkintab", true,
|
|
...(hasContainers ? ["context-openlinkinusercontext-menu", true] : []),
|
|
// We need a blank entry here because the containers submenu is
|
|
// dynamically generated with no ids.
|
|
...(hasContainers ? ["", null] : []),
|
|
"context-openlink", true,
|
|
"context-openlinkprivate", true,
|
|
"---", null,
|
|
"context-savelink", true,
|
|
"context-copylink", true,
|
|
"context-searchselect", true]);
|
|
});
|
|
|
|
add_task(async function test_video() {
|
|
await test_contextmenu("#video",
|
|
["context-media-play", null,
|
|
"context-media-mute", null,
|
|
"context-media-playbackrate", null,
|
|
["context-media-playbackrate-050x", null,
|
|
"context-media-playbackrate-100x", null,
|
|
"context-media-playbackrate-125x", null,
|
|
"context-media-playbackrate-150x", null,
|
|
"context-media-playbackrate-200x", null], null,
|
|
"context-media-loop", null,
|
|
"context-media-showcontrols", null,
|
|
"context-video-fullscreen", null,
|
|
"---", null,
|
|
"context-viewvideo", null,
|
|
"context-copyvideourl", null,
|
|
"---", null,
|
|
"context-savevideo", null,
|
|
"context-sharevideo", false,
|
|
"context-video-saveimage", null,
|
|
"context-sendvideo", null,
|
|
"context-castvideo", null,
|
|
[], null
|
|
]);
|
|
});
|
|
|
|
add_task(async function test_cleanup() {
|
|
lastElementSelector = null;
|
|
await BrowserTestUtils.removeTab(gBrowser.selectedTab);
|
|
await new Promise((resolve) => {
|
|
return SocialService.disableProvider(manifest.origin, resolve);
|
|
});
|
|
});
|