This removes HTMLMenuItemElement and all the code and tests preffed off
by dom.menuitem.enabled.
The HTML parser changes are the result of applying the previous patch.
Differential Revision: https://phabricator.services.mozilla.com/D149979
The reveal password button might or might not be web-compatible, but it
might be worth having a separate pref for the context-menu entry.
Depends on D136086
Differential Revision: https://phabricator.services.mozilla.com/D136087
The pseudo-class and nsContextMenu context attribute were using reveal,
the pseudo-element and webidl attribute were using "show".
Use reveal consistently and update the accesskey so that there aren't
conflicts with existing commands. Also enable the feature in
browser_contextmenu_input.js so that this change is tested.
Differential Revision: https://phabricator.services.mozilla.com/D136086
Also make some other context-menu code a lot more straight-forward, and
remove some enabledness checks now that shadow dom can't be disabled.
Differential Revision: https://phabricator.services.mozilla.com/D125487
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
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
This allows to use the feature from the context menu and is very
straight-forward.
This has the benefit of working with fission (as print from the focused
frame) and so on.
Making a checkbox on the UI on top of this is doable, but it is a lot
more complex (requires a bunch of both front-end and platform work)
because undoing this implies restoring the DOM which "print selection"
removes.
I think the context menu entry is very useful regardless of whether we
add a checkbox to undo it, and other browsers (with smaller context
menus) seem to agree.
Differential Revision: https://phabricator.services.mozilla.com/D92205
This also moves gInitialised into SearchService, as it no longer needs to be separate, and it makes changing it for tests easier.
Depends on D88462
Differential Revision: https://phabricator.services.mozilla.com/D88622
Given that the "View Background Image" option never makes sense in the PDF Viewer, it's simply always removed from the context menu.
Differential Revision: https://phabricator.services.mozilla.com/D52599
--HG--
extra : moz-landing-system : lando
This is generally pretty straightforward, and rewrites nearly all calls. It
skips the ones that it can detect using frame script globals like
`sendAsyncMessage`, though.
Differential Revision: https://phabricator.services.mozilla.com/D53740
--HG--
extra : moz-landing-system : lando