Commit graph

58 commits

Author SHA1 Message Date
Luca Greco
324d405b13 Bug 1602384 - Make sure menu.onShown API event is still emitted after a destroyed extension context. r=robwu
Differential Revision: https://phabricator.services.mozilla.com/D60493

--HG--
extra : moz-landing-system : lando
2020-01-22 12:21:14 +00:00
gfmcknight
79bcb52abe Bug 1405031 - Add middle-click and click modifiers to browserAction r=robwu,Gijs
and pageActions.

Before this change, browserActions and pageActions did not trigger
onClick events when middle-clicked, and no information on the button or
any modifiers were passed in the onClick event. With this change, middle
clicking triggers an event, and a clickData object is passed in the
onClick event, with the button and a list of modifiers.

Differential Revision: https://phabricator.services.mozilla.com/D41492

--HG--
extra : moz-landing-system : lando
2019-10-28 15:33:11 +00:00
Bogdan Tara
ecffbb2d40 Backed out changeset 6c464eede88a (bug 1405031) for browser_ext_pageAction_click_types.js failures CLOSED TREE 2019-09-20 01:03:17 +03:00
gfmcknight
38ae518715 Bug 1405031 - Add middle-click and click modifiers to browserAction r=robwu
and pageActions.

Before this change, browserActions and pageActions did not trigger
onClick events when middle-clicked, and no information on the button or
any modifiers were passed in the onClick event. With this change, middle
clicking triggers an event, and a clickData object is passed in the
onClick event, with the button and a list of modifiers.

Differential Revision: https://phabricator.services.mozilla.com/D41492

--HG--
extra : moz-landing-system : lando
2019-09-19 17:06:22 +00:00
monikamaheshwari
9d60e0d578 Bug 1578683 Turn on ESLint rule prefer-boolean-length-check for toolkit and browser r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D45629

--HG--
extra : moz-landing-system : lando
2019-09-14 09:39:26 +00:00
Coroiu Cristina
0a7189187c Backed out changeset 74f522fc33ae (bug 1405031) for browser-chrome failures at browser/components/extensions/test/browser/browser_ext_browserAction_click_types.js 2019-09-13 03:59:58 +03:00
gfmcknight
db38004fa2 Bug 1405031 - Add middle-click and click modifiers to browserAction r=robwu
and pageActions.

Before this change, browserActions and pageActions did not trigger
onClick events when middle-clicked, and no information on the button or
any modifiers were passed in the onClick event. With this change, middle
clicking triggers an event, and a clickData object is passed in the
onClick event, with the button and a list of modifiers.

Differential Revision: https://phabricator.services.mozilla.com/D41492

--HG--
extra : moz-landing-system : lando
2019-09-12 20:41:24 +00:00
Sylvestre Ledru
90fac8fa22 Bug 1562642 - Part 3 - Add missing MPL2 headers in browser & toolkit r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D37217

--HG--
extra : moz-landing-system : lando
2019-07-10 12:03:37 +00:00
Andreea Pavel
b698eeec56 Backed out changeset 3d59cb02b6ff (bug 1562642) for eslint failure on a CLOSED TREE 2019-07-10 14:44:29 +03:00
Sylvestre Ledru
fd95abf361 Bug 1562642 - Part 3 - Add missing MPL2 headers in browser & toolkit r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D37217

--HG--
extra : moz-landing-system : lando
2019-07-10 11:15:25 +00:00
Victor Porof
ad522e3aae Bug 1561435 - Fix linting errors for browser/, r=standard8
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D35950

--HG--
extra : source : ff6aa88097df9836d93d6aa5554ffcd160f07167
extra : intermediate-source : 2130a9484ece03d835939359c4a07966aa8d790c
2019-06-28 20:02:37 +02:00
Victor Porof
1f830c96da Bug 1561435 - Format browser/components/, a=automatic-formatting
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D36042

--HG--
extra : source : d3afcafdce650a6f36cebbc126ee93b17f13cf52
2019-07-05 09:53:32 +02:00
Alexander Surkov
452c2f3269 Bug 1519514 - convert tabbrowser-tab binding to a Custom Element, r=aswan
Differential Revision: https://phabricator.services.mozilla.com/D28662

--HG--
extra : source : 8488d800a7856b6dc4a1619592fc776dc1a5e444
2019-05-28 22:00:28 +00:00
Cosmin Sabou
fa7207a14d Backed out 4 changesets (bug 1519514) for causing several browser chrome failures. CLOSED TREE
Backed out changeset 485c2c76fab6 (bug 1519514)
Backed out changeset 8488d800a785 (bug 1519514)
Backed out changeset 858b9456eb3c (bug 1519514)
Backed out changeset 2cd983857de6 (bug 1519514)
2019-05-29 11:01:47 +03:00
Alexander Surkov
0f1bc68db8 Bug 1519514 - convert tabbrowser-tab binding to a Custom Element, r=aswan
Differential Revision: https://phabricator.services.mozilla.com/D28662

--HG--
extra : moz-landing-system : lando
2019-05-28 22:00:28 +00:00
Andrew Swan
a2a47acbcd Bug 1549192 Remove extension shutdownReason footgun r=kmag
Checking extension.shutdownReason for any purpose other than detecting
app shutdown is unreliable, since actions such as disabing, uninstalling,
etc. may happen ito an extension after it has shut down.  Remove the
temptation for api authors to write incorrect code by removing
extension.shutdownReason and replacing it with an isAppShutdown boolean
passed to shutdown handlers.

Differential Revision: https://phabricator.services.mozilla.com/D30605

--HG--
extra : rebase_source : 07ff7710757150d011fec6bc3ed134c6509e9a12
2019-05-09 19:46:38 -07:00
Luca Greco
6813669d75 Bug 1536473 - ext-menu onWindowOpen handler should wait for SidebarUI to be fully initialized. r=mixedpuppy,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D24034

--HG--
extra : moz-landing-system : lando
2019-03-25 20:47:27 +00:00
Shane Caraveo
8df2a38756 Bug 1516707 support incognito permission in menus api r=robwu,zombie
Differential Revision: https://phabricator.services.mozilla.com/D17293

--HG--
extra : moz-landing-system : lando
2019-01-30 19:51:43 +00:00
Kris Maglione
e930b89c34 Bug 1514594: Part 3 - Change ChromeUtils.import API.
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8

This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:

  ChromeUtils.import("resource://gre/modules/Services.jsm");

is approximately the same as the following, in the new model:

  var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");

Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs

This was done using the followng script:

https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8

Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16750

--HG--
extra : rebase_source : 359574ee3064c90f33bf36c2ebe3159a24cc8895
extra : histedit_source : b93c8f42808b1599f9122d7842d2c0b3e656a594%2C64a3a4e3359dc889e2ab2b49461bab9e27fc10a7
2019-01-17 10:18:31 -08:00
Peter Simonyi
566e6142f7 Bug 1419195: Show items from WebExtensions in Places Library context menu r=mixedpuppy
Depends on D16413

Differential Revision: https://phabricator.services.mozilla.com/D16414

--HG--
extra : moz-landing-system : lando
2019-01-17 09:49:38 +00:00
Peter Simonyi
176ee29b8e Bug 1419195: Show items from WebExtensions in bookmarks sidebar context menu r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D16413

--HG--
extra : moz-landing-system : lando
2019-01-17 09:49:36 +00:00
Gurzau Raul
50e42b691d Backed out 3 changesets (bug 1515810, bug 1419195) for failing at /browser/browser_ext_contextMenus.js on a CLOSED TREE
Backed out changeset 437003de9fff (bug 1515810)
Backed out changeset c04c2376a213 (bug 1419195)
Backed out changeset d9a81de35ac3 (bug 1419195)
2019-01-15 17:07:06 +02:00
Peter Simonyi
beef78d6c8 Bug 1419195: Show items from WebExtensions in Places Library context menu r=mixedpuppy
Depends on D16413

Differential Revision: https://phabricator.services.mozilla.com/D16414

--HG--
extra : moz-landing-system : lando
2019-01-15 14:05:44 +00:00
Peter Simonyi
7005fd08d0 Bug 1419195: Show items from WebExtensions in bookmarks sidebar context menu r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D16413

--HG--
extra : moz-landing-system : lando
2019-01-15 14:06:03 +00:00
Noemi Erli
2e2a998fde Backed out changeset ee53bdc5b1d4 (bug 1419195) for failing in browser_ext_contextMenus.js 2019-01-14 18:59:02 +02:00
Noemi Erli
220d6a0fd2 Backed out changeset 732184f122e3 (bug 1419195) for failing in browser_ext_contextMenus.js 2019-01-14 18:58:48 +02:00
Peter Simonyi
e5ce9dc61b Bug 1419195: Show items from WebExtensions in Places Library context menu r=mixedpuppy
Depends on D16413

Differential Revision: https://phabricator.services.mozilla.com/D16414

--HG--
extra : moz-landing-system : lando
2019-01-14 15:43:29 +00:00
Peter Simonyi
b60acb13d1 Bug 1419195: Show items from WebExtensions in bookmarks sidebar context menu r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D16413

--HG--
extra : moz-landing-system : lando
2019-01-14 15:41:27 +00:00
Luca Greco
5555f4c1cc Bug 1512421 - contextMenus documentUrlPatterns should allow unrestricted schemes on privileged mozilla addons. r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D13907

--HG--
extra : moz-landing-system : lando
2018-12-07 16:46:32 +00:00
Rob Wu
66c7ebb828 Bug 1508144 - Ignore clicks on non-clickable menu items r=mixedpuppy
Bug 1469148 added support for detecting which mouse button was used,
by synthetizing "command" events when a "click" event was captured.
The implementation did not account for unclickable menu items, such
as items that act as the parent of a submenu (see bug report),
separators and disabled menu items.

This patch adds the necessary checks and regression tests for these
scenarios to make sure that such clicks are ignored, as expected.

Differential Revision: https://phabricator.services.mozilla.com/D13084

--HG--
extra : moz-landing-system : lando
2018-11-28 15:09:26 +00:00
Rob Wu
3644913b9c Bug 1498896 - Apply documentUrlPatterns to original target document when viewTypes is set r=mixedpuppy
Usually, documentUrlPatterns applies to the URL of the document where
the context menu is opened. In some cases, there is no document, such
as menus on browser UI (extension action buttons, tools menu, tabs).
In these cases, `documentUrlPatterns` matches the (active) tab's URL.

This causes ambiguity when `browser.menus.overrideContext` is used to
change the context to the "tab" context.
Before this patch, `documentUrlPatterns` applied to the tab's URL.
After this patch, `documentUrlPatterns` applies to the URL of the
document where the menu was opened, *if* `viewTypes` is also set.
Using this property is a strong signal from the extension that the menu
is meant to be shown in a document rather than browser UI, so extensions
can reasonably expect `documentUrlPatterns` to match the original
document's URL instead of the URL of the spoofed tab context.

There was no existing test coverage for documentUrlPatterns on tab
contexts, so this does not only add tests for documentUrlPatterns on
overridden contexts (browser_ext_menus_replace_menu_context.js), but
also documentUrlPatterns in normal tab contexts (browser_ext_menus.js).

Differential Revision: https://phabricator.services.mozilla.com/D9249

--HG--
extra : moz-landing-system : lando
2018-10-22 14:17:29 +00:00
Rob Wu
4cb234ed7e Bug 1416839 - Add viewType/viewTypes to menus API r=mixedpuppy
- 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
2018-10-01 16:56:53 +00:00
Rob Wu
e1571e4a5a Bug 1280347 - Remove <all_urls> requirement for the "tab" context r=mixedpuppy
See https://bugzilla.mozilla.org/show_bug.cgi?id=1280347#c28

Differential Revision: https://phabricator.services.mozilla.com/D6831

--HG--
extra : moz-landing-system : lando
2018-09-27 15:32:14 +00:00
Rob Wu
7939207209 Bug 1280347 - Support changing context type to tab and bookmark r=mixedpuppy
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
2018-09-27 08:21:05 +00:00
Rob Wu
ee0928a251 Bug 1367160 - Allow extensions to hide default menu items r=mixedpuppy
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
2018-09-25 16:41:47 +00:00
Rob Wu
98a3f6c5a3 Bug 1367160 - Refactor to support multiple menu items in the root menu r=mixedpuppy
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

--HG--
extra : moz-landing-system : lando
2018-09-24 17:33:17 +00:00
Arshad Kazmi
3e3a37df88 Bug 1469148 - Add button info to click event of contextMenus API r=robwu,mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D4960

--HG--
extra : moz-landing-system : lando
2018-09-06 12:02:49 +00:00
Andreea Pavel
84279844a7 Backed out changeset 0adb1474cc23 (bug 1469148) for failing bc at browser/components/extensions/test/browser/test-oop-extensions/browser_ext_menus_capture_secondary_click.js on a CLOSED TREE 2018-09-05 23:38:31 +03:00
tushararora.cs
a50bc5b5f2 Bug 1414566 browser.menus.update() does not support updating icon r=robwu,mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D4628

--HG--
extra : moz-landing-system : lando
2018-09-04 14:25:37 +00:00
Arshad Kazmi
70701eba6e Bug 1469148 - Add button info to click event of contextMenus API r=robwu,mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D4960

--HG--
extra : moz-landing-system : lando
2018-09-05 16:33:50 +00:00
Brendan Dahl
f6923ccc24 Bug 1485426 - Use createXULElement instead of createElement in XUL docs. r=bgrins
Preparing for transitioning to XHTML.

MozReview-Commit-ID: JLlmUxsvhIB

Differential Revision: https://phabricator.services.mozilla.com/D4265

--HG--
extra : moz-landing-system : lando
2018-08-25 00:16:27 +00:00
Rob Wu
3a260706b3 Bug 1482529 - Support "visible" in menus.create and menus.update r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D3794

--HG--
extra : moz-landing-system : lando
2018-08-20 15:16:09 +00:00
Peter Simonyi
c3ec2fa929 Bug 1469705: allow menus.refresh() without an onShown listener r=mixedpuppy
MozReview-Commit-ID: 3GbQEoSFTW8

--HG--
extra : rebase_source : cfb50b104e14c1e38b319c207164c96c3fa0f55e
2018-07-05 22:06:23 -04:00
Rob Wu
f0b033f907 Bug 1481179 - Stop extensions from changing the icon in the top-level menu r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D3198

--HG--
extra : moz-landing-system : lando
2018-08-13 13:25:50 +00:00
Rob Wu
23cf8852bb Bug 1325814 - Add extension API to find menu target r=mixedpuppy
- 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
2018-08-04 18:09:49 +02:00
Brian Grinstead
abf1620630 Bug 1479125 - Migrate calls that expect an element to be returned to use element variation firstChild etc to firstElementChild etc;r=Paolo
This allows the JS to work in HTML documents, where whitespace is preserved. In XUL
documents, whitespace is ignored when parsing so text nodes are generally not returned.

The following changes were made, with manual cleanups as necessary (i.e. when firstChild actually
refers to a text node, or when firstChild is used in a loop to empty out an element):

  firstChild->firstElementChild
  lastChild->lastElementChild
  nextSibling->nextElementSibling
  previousSibling->previousElementSibling
  childNodes->children

MozReview-Commit-ID: 95NQ8syBhYw

--HG--
extra : rebase_source : 186d805f7a2a56694dda9032aceac2dfe5424753
2018-08-08 15:22:53 -07:00
Rob Wu
5bb726572c Bug 1280370 - Allow any scheme in targetUrlPatterns r=mixedpuppy
MozReview-Commit-ID: KupQIiAkz0h

--HG--
extra : rebase_source : 25adaca58bdea7ee911aac9496c87f7f2ebd9bf2
2018-07-24 17:26:23 +02:00
Rob Wu
fe2be1dd11 Bug 1320462 - Support access keys in extension menus. r=mixedpuppy
MozReview-Commit-ID: GsLE3PwNeiC

--HG--
extra : rebase_source : d34b20a2e6ef81623564fd1774a034ab8af9063e
2018-08-06 16:58:21 +02:00
Rob Wu
13e9ee22fa Bug 1446956 - Grant access to the clicked tab in menus.onClicked r=mixedpuppy
MozReview-Commit-ID: 3mVWOEcZFYn

--HG--
extra : rebase_source : aec91b4c8b0770208ca7ce9972d1fcf877d53bb1
2018-07-18 22:04:58 +02:00
Bogdan Tara
fb57ee9280 Backed out changeset 7e49d55f0240 (bug 1446956) for browser_ext_omnibox.js failures CLOSED TREE 2018-07-31 21:07:33 +03:00