Add a new class to extract tracelogger data using chunked buffers and use this to write the data out to the profiler JSON output. Copying the data in chunks lets us minimize our memory overhead when writing out to the profiler so a large array of millions of elements does not need to be allocated ahead of time.
Differential Revision: https://phabricator.services.mozilla.com/D11791
--HG--
extra : moz-landing-system : lando
Previously the omnibox keyword would not allow trailing slashes, such as go/
Chrome allows this keyword, and Firefox should allow this too.
Differential Revision: https://phabricator.services.mozilla.com/D12242
--HG--
extra : moz-landing-system : lando
1. Add successorTabId to the Tab type, so that it will be returned in, e.g.,
browser.tabs.get calls
2. Extend or create the following methods on the browser.tabs API:
- update: add successorTabId as an optional property on the provided
updateProperties object
- moveInSuccession: new method that manipulates tab successors in bulk
Differential Revision: https://phabricator.services.mozilla.com/D9272
--HG--
extra : moz-landing-system : lando
Add an optional previousTabId property to the onActivated event,
which is present if the previously activated tab is still open.
Differential Revision: https://phabricator.services.mozilla.com/D9271
--HG--
extra : moz-landing-system : lando
1. Add successorTabId to the Tab type, so that it will be returned in, e.g.,
browser.tabs.get calls
2. Extend or create the following methods on the browser.tabs API:
- update: add successorTabId as an optional property on the provided
updateProperties object
- moveInSuccession: new method that manipulates tab successors in bulk
Differential Revision: https://phabricator.services.mozilla.com/D9272
--HG--
extra : moz-landing-system : lando
Add an optional previousTabId property to the onActivated event,
which is present if the previously activated tab is still open.
Differential Revision: https://phabricator.services.mozilla.com/D9271
--HG--
extra : moz-landing-system : lando
1. Add successorId to the Tab type, so that it will be returned in, e.g.,
browser.tabs.get calls
2. Extend or create the following methods on the browser.tabs API:
- update: add successorTabId as an optional property on the provided
updateProperties object
- moveInSuccession: new method that manipulates tab successors in bulk
Depends on D4731
Differential Revision: https://phabricator.services.mozilla.com/D9272
--HG--
extra : moz-landing-system : lando
Add an optional previousTabId property to the onActivated event,
which is present if the previously activated tab is still open.
Differential Revision: https://phabricator.services.mozilla.com/D9271
--HG--
extra : moz-landing-system : lando
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
--HG--
extra : moz-landing-system : lando
- 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
--HG--
extra : moz-landing-system : lando
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
--HG--
extra : moz-landing-system : lando
This allows extensions to include tab/bookmark menu items from other
extensions. Built-in menu items from the browser are *not* added.
Depends on D6623
Differential Revision: https://phabricator.services.mozilla.com/D6624
--HG--
extra : moz-landing-system : lando
The new method allows extensions to modify menu items in their own
moz-extension:-pages, with the following features:
- All matching extension items are shown in the root menu (instead of
being moved into a submenu), above other menu items, if any.
- The icons for these menu items are customizable.
- Optionally, the default menu items (including those from other
extensions) can be hidden.
Depends on D6621
Differential Revision: https://phabricator.services.mozilla.com/D6622
--HG--
extra : moz-landing-system : lando
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
--HG--
extra : moz-landing-system : lando
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
--HG--
extra : moz-landing-system : lando
Changes to browser.search.search API:
- Change the positional parameters to an object parameter.
- Rename "engineName" to "engine", and make this an optional parameter.
- Rename "searchTerms" to "query".
Changes to browser.search.search implementation:
- Simplify gBrowser getter. None of the "!gBrowser" conditionals are
necessary, as demonstrated by the new options page+sidebar tests
(which passed even after removing the `if (!gBrowser ...)` blocks).
Use windowTracker.topWindow for consistency with our other code.
Test changes:
- Remove unneeded name / "TEST_ID" in tests
- Use SEARCH_TERM constant in more places.
- New test: Using API from options page.
- New test: Using API from sidebar.
- New test: Using API without explicit "engine" parameter.
Differential Revision: https://phabricator.services.mozilla.com/D3417
--HG--
extra : moz-landing-system : lando
- Add info.targetElementId to menus.onShown event.
- Add info.targetElementId to menus.onClicked event.
- Add menus.getTargetElement API that is available to all contexts,
including content scripts, which allows extensions to get the DOM
element for a given targetElementId.
- Add new schema instead of re-using schemas/menus.json to avoid sending
too much schema data (of the existing menus API) to content processes.
MozReview-Commit-ID: 6Onf7jZlIho
--HG--
extra : rebase_source : eb095d04ce381606be90d325712bfc57233d8291
This schema was inherited from Chromium (where it was an internal
implementation detail. This schema only defined the OnClickData
type, but was never actively used by our WebExtensions framework,
because menus.json already defines the OnClickData type.
Note: menus_internal.json specified the "menusInternal" namespace
which we do indeed implement in parent/ext-menus.js (and use in
child/ext-menus.js). However, none of the methods that we add to
menusInternal are actually defined in the schema.
This use of menusInternal was introduced in part 2 of bug 1333403 and
works without problems because the API schemas are not being used to
validate APIs as of part 2 of bug 1315575.
The only significance of "menusInternal" is that the namespace is
defined in browser/components/extensions/ext-browser.json,
implemented in browser/components/extensions/parent/ext-menus.js
and used by browser/components/extensions/child/ext-menus.js
MozReview-Commit-ID: 2ACpn595QZQ
--HG--
extra : rebase_source : f3e16486168dfb0baa56dda7ccf591855bbe90bb
And re-enable the test_ext_all_apis.html test to ensure that new APIs
are only available by default if the contributor really intents to.
MozReview-Commit-ID: FWIKybrk0EE
--HG--
extra : rebase_source : 58c5bd98ddb59be74b9454995cbbd3edef6c45f9