Commit Graph

64 Commits

Author SHA1 Message Date
Dcoder99
0f5ae533d0 Bug 1651008 - Gives meaningful menus create error message. r=robwu
Differential Revision: https://phabricator.services.mozilla.com/D85024
2020-07-29 02:58:43 +00:00
Sonia Singla
0fb79d563f Bug 1638360 - Only show bookmark menu items for nodes with a bookmarkGuid. r=robwu
Differential Revision: https://phabricator.services.mozilla.com/D79605
2020-06-14 16:50:12 +00:00
Tomislav Jovanovic
19393d7c03 Bug 1642956 - Rename extension.whiteListedHosts to allowedOrigins r=mixedpuppy,extension-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D78050
2020-06-04 21:39:27 +00:00
Rob Wu
9e4cd62f02 Bug 1633968 - Use TabContextMenu.contextTab in ext-menus r=rpl
Differential Revision: https://phabricator.services.mozilla.com/D73256
2020-05-21 18:20:40 +00:00
Bogdan Tara
3612f97816 Backed out 2 changesets (bug 1633968) for browser_ext_menus_events.js failures CLOSED TREE
Backed out changeset 9dc3a4d32630 (bug 1633968)
Backed out changeset 55cc61b65e56 (bug 1633968)
2020-05-21 21:02:00 +03:00
Rob Wu
a256aad651 Bug 1633968 - Use TabContextMenu.contextTab in ext-menus r=rpl
Differential Revision: https://phabricator.services.mozilla.com/D73256
2020-05-20 17:05:07 +00:00
Luca Greco
250484d8d5 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
2020-01-22 12:21:14 +00:00
gfmcknight
7733076174 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
2019-10-28 15:33:11 +00:00
Bogdan Tara
ce5d659eea 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
c50b0ea139 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
2019-09-19 17:06:22 +00:00
monikamaheshwari
edb30ffaec Bug 1578683 Turn on ESLint rule prefer-boolean-length-check for toolkit and browser r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D45629
2019-09-14 09:39:26 +00:00
Coroiu Cristina
fefeba975d 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
24a36c3701 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
2019-09-12 20:41:24 +00:00
Sylvestre Ledru
f4d7743944 Bug 1562642 - Part 3 - Add missing MPL2 headers in browser & toolkit r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D37217
2019-07-10 12:03:37 +00:00
Andreea Pavel
1ec8be7299 Backed out changeset 3d59cb02b6ff (bug 1562642) for eslint failure on a CLOSED TREE 2019-07-10 14:44:29 +03:00
Sylvestre Ledru
48a94b058e Bug 1562642 - Part 3 - Add missing MPL2 headers in browser & toolkit r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D37217
2019-07-10 11:15:25 +00:00
Victor Porof
bf2b98e8c1 Bug 1561435 - Fix linting errors for browser/, r=standard8
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D35950
2019-06-28 20:02:37 +02:00
Victor Porof
8eb72fd3fc Bug 1561435 - Format browser/components/, a=automatic-formatting
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D36042
2019-07-05 09:53:32 +02:00
Alexander Surkov
3e72225bf3 Bug 1519514 - convert tabbrowser-tab binding to a Custom Element, r=aswan
Differential Revision: https://phabricator.services.mozilla.com/D28662
2019-05-28 22:00:28 +00:00
Cosmin Sabou
61c6a5e4c5 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
fae3d434df Bug 1519514 - convert tabbrowser-tab binding to a Custom Element, r=aswan
Differential Revision: https://phabricator.services.mozilla.com/D28662
2019-05-28 22:00:28 +00:00
Andrew Swan
40b80dc372 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
2019-05-09 19:46:38 -07:00
Luca Greco
d4c9385f21 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
2019-03-25 20:47:27 +00:00
Shane Caraveo
4ff8365127 Bug 1516707 support incognito permission in menus api r=robwu,zombie
Differential Revision: https://phabricator.services.mozilla.com/D17293
2019-01-30 19:51:43 +00:00
Kris Maglione
856fa07b17 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
2019-01-17 10:18:31 -08:00
Peter Simonyi
2c64c09be9 Bug 1419195: Show items from WebExtensions in Places Library context menu r=mixedpuppy
Depends on D16413

Differential Revision: https://phabricator.services.mozilla.com/D16414
2019-01-17 09:49:38 +00:00
Peter Simonyi
23fe08f5d6 Bug 1419195: Show items from WebExtensions in bookmarks sidebar context menu r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D16413
2019-01-17 09:49:36 +00:00
Gurzau Raul
5eba4bbdf4 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
50669f34c3 Bug 1419195: Show items from WebExtensions in Places Library context menu r=mixedpuppy
Depends on D16413

Differential Revision: https://phabricator.services.mozilla.com/D16414
2019-01-15 14:05:44 +00:00
Peter Simonyi
9bc416544f Bug 1419195: Show items from WebExtensions in bookmarks sidebar context menu r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D16413
2019-01-15 14:06:03 +00:00
Noemi Erli
75a1557802 Backed out changeset ee53bdc5b1d4 (bug 1419195) for failing in browser_ext_contextMenus.js 2019-01-14 18:59:02 +02:00
Noemi Erli
bfb157f169 Backed out changeset 732184f122e3 (bug 1419195) for failing in browser_ext_contextMenus.js 2019-01-14 18:58:48 +02:00
Peter Simonyi
969563efc3 Bug 1419195: Show items from WebExtensions in Places Library context menu r=mixedpuppy
Depends on D16413

Differential Revision: https://phabricator.services.mozilla.com/D16414
2019-01-14 15:43:29 +00:00
Peter Simonyi
5b36f866d3 Bug 1419195: Show items from WebExtensions in bookmarks sidebar context menu r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D16413
2019-01-14 15:41:27 +00:00
Luca Greco
62d0d158a0 Bug 1512421 - contextMenus documentUrlPatterns should allow unrestricted schemes on privileged mozilla addons. r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D13907
2018-12-07 16:46:32 +00:00
Rob Wu
32a29a5dc1 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
2018-11-28 15:09:26 +00:00
Rob Wu
2e34a4522e 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
2018-10-22 14:17:29 +00:00
Rob Wu
3a839b492e 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
2018-10-01 16:56:53 +00:00
Rob Wu
836fd50f9c 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
2018-09-27 15:32:14 +00:00
Rob Wu
124ccb5eab 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
2018-09-27 08:21:05 +00:00
Rob Wu
f05b3204a5 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
2018-09-25 16:41:47 +00:00
Rob Wu
5ccf147970 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
2018-09-24 17:33:17 +00:00
Arshad Kazmi
18124bd57d Bug 1469148 - Add button info to click event of contextMenus API r=robwu,mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D4960
2018-09-06 12:02:49 +00:00
Andreea Pavel
89341a7077 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
524b4fb83b Bug 1414566 browser.menus.update() does not support updating icon r=robwu,mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D4628
2018-09-04 14:25:37 +00:00
Arshad Kazmi
be8d6907a3 Bug 1469148 - Add button info to click event of contextMenus API r=robwu,mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D4960
2018-09-05 16:33:50 +00:00
Brendan Dahl
532fe1f6b0 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
2018-08-25 00:16:27 +00:00
Rob Wu
ff9ebc7c4d Bug 1482529 - Support "visible" in menus.create and menus.update r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D3794
2018-08-20 15:16:09 +00:00
Peter Simonyi
fb4a5413d0 Bug 1469705: allow menus.refresh() without an onShown listener r=mixedpuppy
MozReview-Commit-ID: 3GbQEoSFTW8
2018-07-05 22:06:23 -04:00
Rob Wu
ff5525ac1e Bug 1481179 - Stop extensions from changing the icon in the top-level menu r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D3198
2018-08-13 13:25:50 +00:00