forked from mirrors/gecko-dev
		
	UPDATED ------- browser/base/content/test/plugins/browser_CTP_favorfallback.js Test that plugin fallback behavior is correct. Updated to reflect that plugins always show "alternate" content, which is either the user fallback of the browser's transparent fallback, regardless of the HTML. browser/base/content/test/plugins/browser_CTP_outsideScrollArea.js Test that overlay is visible (in layout sense) only if plugin is partially or completely visible. Changed to test new fallback behavior where overlay is a hidden element with "blockall" atribute. browser/base/content/test/plugins/browser_CTP_zoom.js Test that overlay is present and visible at multiple zoom levels. Adjusted to work with hidden overlay. browser/base/content/test/performance/browser_startup_mainthreadio.js Track IO done at browser startup Removed `UserPlugins.parent` from list since we no longer scan for plugins. browser/base/content/test/plugins/browser_bug797677.js bug 797677 Test that plugin instantiation fails (with PLUGIN_UNSUPPORTED and no console error) when MIME type missing. Removed the cleanup of (unused) test plugin. browser/base/content/test/contextMenu/browser_contextmenu.js Test context menu for many types of elements Removed plugin element portion. REMOVED ------- browser/base/content/test/plugins/browser_CTP_contextmenu.js Test that the CTP activate action in content menus for plugins works browser/base/content/test/plugins/browser_CTP_crashreporting.js Test that plugin crash submissions still work properly after click-to-play activation. browser/base/content/test/plugins/browser_CTP_drag_drop.js Test that plugin CTP dialog behaves correctly when dragging tab out of/into a window browser/base/content/test/plugins/browser_CTP_hide_overlay.js Test ability to close plugin "overlay" placeholder (the grey lego element) browser/base/content/test/plugins/browser_CTP_iframe.js Test that overlay can be interacted with (closed) when in an iframe browser/base/content/test/plugins/browser_CTP_nonplugins.js Bug 926605 Says it tests that non-plugin <object> elements don't show CTP but it doesn't. It tests that removing a CTP plugin from a page does not remove CTP dialog (in case, for example, page shows, then quickly removes plugin). browser/base/content/test/plugins/browser_CTP_overlay_styles.js Verify that styling on overlay elements, based on sizing, is correct. browser/base/content/test/plugins/browser_CTP_resize.js Test that a resize properly updates the overlay styling, which is only visible when large enough. browser/base/content/test/plugins/browser_CTP_shouldShowOverlay.js Test that partially obscured plugins show the overlay, properly styled (when they should). browser/base/content/test/plugins/browser_blocking.js bug 1129040 Test CTP behavior -- overlay dialog behavior, vulnerable plugin user approval, plugin's infoURL, etc. browser/base/content/test/plugins/browser_blocklist_content.js bug 1129040 Test (plugin) blocklist, including attempt to "hack" it in a content process. browser/base/content/test/plugins/browser_bug743421.js Test CTP approval persists for new plugin instances in page. browser/base/content/test/plugins/browser_bug744745.js Test that CTP notification correctly appears despite plugin with opacity: 0 !important browser/base/content/test/plugins/browser_bug787619.js bug 787619 Make sure CTP works for plugins nested inside <a></a> elements. browser/base/content/test/plugins/browser_bug812562.js bug 812562 Navigating away from, then back to a page should restore its CTP status. browser/base/content/test/plugins/browser_bug818118.js bug 818118 Test that CTP plugin and "unknown" plugin type work correctly on same page. browser/base/content/test/plugins/browser_clearplugindata.js Test clearing plugin data using Sanitizer.jsm browser/base/content/test/plugins/browser_iterate_hidden_plugins.js Bug 1318383 Test `plugins.navigator.hidden_ctp_plugin`, which hides CTP plugins from `navigator.plugins`. browser/base/content/test/plugins/browser_pluginCrashCommentAndURL.js Test plugin crash detection and reporting browser/base/content/test/plugins/browser_pluginCrashReportNonDeterminism.js Bug 1110887 Test both "plugin process crash notification" orders -- content proc before main proc and vice-versa. browser/base/content/test/plugins/browser_plugin_reloading.js Bug 1129040 Re-instantiating plugin (using `plugin.src = new_value`) should retain CTP approval. browser/base/content/test/plugins/browser_plugin_framed_domain.js Plugin CTP prompts should adopt top-level page's principal for instead of closest frame's principal. browser/base/content/test/plugins/browser_pluginnotification.js Tests many CTP interface behavior cases -- doorhangers, overlays, multiple plugin instances, CTP choices (always, allow, never) browser/base/content/test/plugins/browser_private_clicktoplay.js Make sure CTP interface works in private windows browser/base/content/test/plugins/browser_subframe_access_hidden_plugins.js Allow navigator.plugins to list plugin after CTP approval, even if it listed in `plugins.navigator.hidden_ctp_plugin` Differential Revision: https://phabricator.services.mozilla.com/D95906
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var gTestRoot = getRootDirectory(gTestPath).replace(
 | 
						|
  "chrome://mochitests/content/",
 | 
						|
  "http://127.0.0.1:8888/"
 | 
						|
);
 | 
						|
var gTestBrowser = null;
 | 
						|
var gConsoleErrors = 0;
 | 
						|
 | 
						|
add_task(async function() {
 | 
						|
  registerCleanupFunction(function() {
 | 
						|
    Services.console.unregisterListener(errorListener);
 | 
						|
    gBrowser.removeCurrentTab();
 | 
						|
    window.focus();
 | 
						|
    gTestBrowser = null;
 | 
						|
  });
 | 
						|
 | 
						|
  gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser);
 | 
						|
  gTestBrowser = gBrowser.selectedBrowser;
 | 
						|
 | 
						|
  let errorListener = {
 | 
						|
    observe(aMessage) {
 | 
						|
      if (aMessage.message.includes("NS_ERROR_FAILURE")) {
 | 
						|
        gConsoleErrors++;
 | 
						|
      }
 | 
						|
    },
 | 
						|
  };
 | 
						|
  Services.console.registerListener(errorListener);
 | 
						|
 | 
						|
  await promiseTabLoadEvent(
 | 
						|
    gBrowser.selectedTab,
 | 
						|
    gTestRoot + "plugin_bug797677.html"
 | 
						|
  );
 | 
						|
 | 
						|
  let pluginInfo = await promiseForPluginInfo("plugin");
 | 
						|
  is(
 | 
						|
    pluginInfo.pluginFallbackType,
 | 
						|
    Ci.nsIObjectLoadingContent.PLUGIN_UNSUPPORTED,
 | 
						|
    "plugin should not have been found."
 | 
						|
  );
 | 
						|
 | 
						|
  await SpecialPowers.spawn(gTestBrowser, [], function() {
 | 
						|
    let plugin = content.document.getElementById("plugin");
 | 
						|
    ok(plugin, "plugin should be in the page");
 | 
						|
  });
 | 
						|
  is(gConsoleErrors, 0, "should have no console errors");
 | 
						|
});
 |