mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-07 16:28:38 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
105
dom/plugins/test/mochitest/browser_tabswitchbetweenplugins.js
Normal file
105
dom/plugins/test/mochitest/browser_tabswitchbetweenplugins.js
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
var gTestRoot = getRootDirectory(gTestPath).replace("chrome://mochitests/content/", "http://127.0.0.1:8888/");
|
||||
|
||||
// tests that we get plugin updates when we flip between tabs that
|
||||
// have the same plugin in the same position in the page.
|
||||
|
||||
add_task(function* () {
|
||||
let result, tabSwitchedPromise;
|
||||
|
||||
setTestPluginEnabledState(Ci.nsIPluginTag.STATE_ENABLED, "Test Plug-in");
|
||||
|
||||
let testTab = gBrowser.selectedTab;
|
||||
let pluginTab1 = yield BrowserTestUtils.openNewForegroundTab(gBrowser, gTestRoot + "plugin_test.html");
|
||||
let pluginTab2 = yield BrowserTestUtils.openNewForegroundTab(gBrowser, gTestRoot + "plugin_test.html");
|
||||
|
||||
result = yield ContentTask.spawn(pluginTab1.linkedBrowser, null, function*() {
|
||||
let doc = content.document;
|
||||
let plugin = doc.getElementById("testplugin");
|
||||
return !!plugin;
|
||||
});
|
||||
is(result, true, "plugin1 is loaded");
|
||||
|
||||
result = yield ContentTask.spawn(pluginTab2.linkedBrowser, null, function*() {
|
||||
let doc = content.document;
|
||||
let plugin = doc.getElementById("testplugin");
|
||||
return !!plugin;
|
||||
});
|
||||
is(result, true, "plugin2 is loaded");
|
||||
|
||||
// plugin tab 2 should be selected
|
||||
is(gBrowser.selectedTab == pluginTab2, true, "plugin2 is selected");
|
||||
|
||||
result = yield ContentTask.spawn(pluginTab1.linkedBrowser, null, function*() {
|
||||
let doc = content.document;
|
||||
let plugin = doc.getElementById("testplugin");
|
||||
return XPCNativeWrapper.unwrap(plugin).nativeWidgetIsVisible();
|
||||
});
|
||||
is(result, false, "plugin1 is hidden");
|
||||
|
||||
result = yield ContentTask.spawn(pluginTab2.linkedBrowser, null, function*() {
|
||||
let doc = content.document;
|
||||
let plugin = doc.getElementById("testplugin");
|
||||
return XPCNativeWrapper.unwrap(plugin).nativeWidgetIsVisible();
|
||||
});
|
||||
is(result, true, "plugin2 is visible");
|
||||
|
||||
// select plugin1 tab
|
||||
tabSwitchedPromise = waitTabSwitched();
|
||||
gBrowser.selectedTab = pluginTab1;
|
||||
yield tabSwitchedPromise;
|
||||
|
||||
result = yield ContentTask.spawn(pluginTab1.linkedBrowser, null, function*() {
|
||||
let doc = content.document;
|
||||
let plugin = doc.getElementById("testplugin");
|
||||
return XPCNativeWrapper.unwrap(plugin).nativeWidgetIsVisible();
|
||||
});
|
||||
is(result, true, "plugin1 is visible");
|
||||
|
||||
result = yield ContentTask.spawn(pluginTab2.linkedBrowser, null, function*() {
|
||||
let doc = content.document;
|
||||
let plugin = doc.getElementById("testplugin");
|
||||
return XPCNativeWrapper.unwrap(plugin).nativeWidgetIsVisible();
|
||||
});
|
||||
is(result, false, "plugin2 is hidden");
|
||||
|
||||
// select plugin2 tab
|
||||
tabSwitchedPromise = waitTabSwitched();
|
||||
gBrowser.selectedTab = pluginTab2;
|
||||
yield tabSwitchedPromise;
|
||||
|
||||
result = yield ContentTask.spawn(pluginTab1.linkedBrowser, null, function*() {
|
||||
let doc = content.document;
|
||||
let plugin = doc.getElementById("testplugin");
|
||||
return XPCNativeWrapper.unwrap(plugin).nativeWidgetIsVisible();
|
||||
});
|
||||
is(result, false, "plugin1 is hidden");
|
||||
|
||||
result = yield ContentTask.spawn(pluginTab2.linkedBrowser, null, function*() {
|
||||
let doc = content.document;
|
||||
let plugin = doc.getElementById("testplugin");
|
||||
return XPCNativeWrapper.unwrap(plugin).nativeWidgetIsVisible();
|
||||
});
|
||||
is(result, true, "plugin2 is visible");
|
||||
|
||||
// select test tab
|
||||
tabSwitchedPromise = waitTabSwitched();
|
||||
gBrowser.selectedTab = testTab;
|
||||
yield tabSwitchedPromise;
|
||||
|
||||
result = yield ContentTask.spawn(pluginTab1.linkedBrowser, null, function*() {
|
||||
let doc = content.document;
|
||||
let plugin = doc.getElementById("testplugin");
|
||||
return XPCNativeWrapper.unwrap(plugin).nativeWidgetIsVisible();
|
||||
});
|
||||
is(result, false, "plugin1 is hidden");
|
||||
|
||||
result = yield ContentTask.spawn(pluginTab2.linkedBrowser, null, function*() {
|
||||
let doc = content.document;
|
||||
let plugin = doc.getElementById("testplugin");
|
||||
return XPCNativeWrapper.unwrap(plugin).nativeWidgetIsVisible();
|
||||
});
|
||||
is(result, false, "plugin2 is hidden");
|
||||
|
||||
gBrowser.removeTab(pluginTab1);
|
||||
gBrowser.removeTab(pluginTab2);
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue