mkaply for overall search engine api changes
adw for searchservice changes. note that a small part of it will be removed in favor of the fix from bug 1485508
aswan for webextension side. note that I want to do better with the distribution signal, that can be in bug 1488517
Differential Revision: https://phabricator.services.mozilla.com/D4473
- Support viewTypes property in menus.create / menus.update.
- Add info.viewType to menus.onShown / menus.onClicked event.
- This "viewType" reuses the existing extension.ViewType enum,
which is a "tab", "popup" (pageAction/browserAction) or "sidebar".
Differential Revision: https://phabricator.services.mozilla.com/D6205
Stop checking whether `browser.menus.overrideContext` is called during
a `contextmenu` event, because the implementation cannot rely on
`window.event` due to bug 1493869.
Because of the removed check, `overrideContext` does not throw any more
when called outside of a "contextmenu" event. An extra check was added
to make sure that this does not impact menus of non-extension documents.
The new implementation has the following other effects:
- overrideContext can be called from shadow DOM (+tests).
- overrideContext can be called for context menu in a different
(same-origin) document (e.g. a menu in a blank child frame).
Differential Revision: https://phabricator.services.mozilla.com/D7249
The new permission is added to make it easier to audit the usage of the
API. It is an optional permission, in case we ever decide to introduce
a permission warning for it.
Differential Revision: https://phabricator.services.mozilla.com/D6771
This refactor is mainly meant to support bug 1367160, but it also eases
the implementation of bug 1294429, bug 1325758 or bug 1370735 if we ever
decide to fix those bugs.
Previously, the menu was constructed by creating one root menu item
and moving the submenu to the root if there was only one item.
The refactored code constructs the menu items by generating a list of
(potentially more than one) top-level menu items, and moving excess menu
items to a submenu (as before). Besides the ability to support an
arbitrary number of top-level menu items, this new implementation also
makes it easier to insert menu items and optionally separators at
arbitrary locations in the menu.
The refactored code obsoletes some separate code paths for browserAction
and pageAction menus, which improves the maintainability of the code.
There are two user-visible functional changes in this commit:
- Excess action menu items (more than ACTION_MENU_TOP_LEVEL_LIMIT = 6)
are not silently discarded, but shown in a submenu. See updated test.
- menus.onShown/onHidden are now always fired when the action menu is
shown, even if the extension has not created any action menu items.
Differential Revision: https://phabricator.services.mozilla.com/D6621
Changed the validation function for PageInfo to use a more general validateItemProperties.
This changes the error message being thrown. Changed the respective test cases to accomodate the change.
Differential Revision: https://phabricator.services.mozilla.com/D5831
Other (internal API) changes besides extension API changes:
- This also introduces support for opening a window with multiple tabs
in a non-default container tab.
- This also adds LOAD_FLAGS_DISALLOW_INHERIT_PRINCIPAL to the
gBrowser.loadTabs call, unless allowInheritPrincipal is set.
For backwards-compatibility, this flag defaults to true.
Depends on D4928
Differential Revision: https://phabricator.services.mozilla.com/D4929
This removes subscribe UI and functionality from the main browser window,
the page info window, and from feed previews. It may leave some stray strings
in subscribe.properties/dtd, which will be removed in bug 1477669 when the
preview code goes away completely.
Differential Revision: https://phabricator.services.mozilla.com/D5982
This removes subscribe UI and functionality from the main browser window,
the page info window, and from feed previews. It may leave some stray strings
in subscribe.properties/dtd, which will be removed in bug 1477669 when the
preview code goes away completely.
Differential Revision: https://phabricator.services.mozilla.com/D5982
Other (internal API) changes besides extension API changes:
- This also introduces support for opening a window with multiple tabs
in a non-default container tab.
- This also adds LOAD_FLAGS_DISALLOW_INHERIT_PRINCIPAL to the
gBrowser.loadTabs call, unless allowInheritPrincipal is set. Currently
there are no callers that set this flag, but in case it's desired,
I added an opt-in via window.arguments[10] in browser.xul/js.
For single-argument URLs, the flag is an opt-out, since there are
multiple callers that rely on principal inheritance (bug 1475201).
Depends on D4928
Differential Revision: https://phabricator.services.mozilla.com/D4929
The "startInputSession" test helper triggers the autocompletion logic to
kick off the test. In all cases except for "testSuggestions", the search
suggestions are set synchronously. Consequently, the
"waitForAutocompleteResultAt" call at the end of starting the input
session would find the expected suggestion item at the given index.
However, in the case of "testSuggestions", the results are generated
asynchronously. There is no guarantee that the results are set. The test
has only been passing so far because the result items from the previous
test are still cached, and cleared after a 100ms delay by:
https://searchfox.org/mozilla-central/rev/a41fd8cb947266ea2e3f463fc6e31c88bfab9d41/toolkit/components/places/UnifiedComplete.js#1728
On slow test runs, the test fails intermittently when the clean-up logic
runs before the test checked the suggestion item.
This patch fixes the issue by splitting "startInputSession", and only
use "waitForAutocompleteResultAt" after having sent the suggestions.
Differential Revision: https://phabricator.services.mozilla.com/D5170
This is a follow up to Bug 1482667. The list of callers was gathered by instrumenting
the webidl calls to these methods and dumping JS stack when they are called in browser.xul.
Differential Revision: https://phabricator.services.mozilla.com/D5185
Fixes bug 1488105 and adds two new test files:
- browser test to test ping-pong from background page, sidebar and browserAction.
- xpcshell test with same test logic, mainly for Android test coverage.
The test uses uses contentScripts.register instead of the manifest
file to also have test coverage for contentScripts.register + child
frames in the background page.
These tests serve as a regression test for bug 1488105 and bug 1463074.
Differential Revision: https://phabricator.services.mozilla.com/D5261