Commit Graph

2190 Commits

Author SHA1 Message Date
Mark Striemer
fc05f84138 Bug 1500147 - Part 3: Record add-on manager telemetry for page/browser actions r=rpl
Differential Revision: https://phabricator.services.mozilla.com/D18003
2019-02-07 16:43:02 +00:00
Brian Grinstead
c8a487965d Bug 1487065 - Implement popup-notification as a Custom Element r=MattN
Differential Revision: https://phabricator.services.mozilla.com/D17699
2019-02-07 22:16:26 +00:00
Bogdan Tara
ff166974f0 Backed out changeset 2e087a053898 (bug 1524001) for test_ext_management.js failures CLOSED TREE 2019-02-04 19:09:13 +02:00
Shane Caraveo
9ced009f47 Bug 1524001 update manifest to validate manifest.icons, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D18105
2019-02-04 14:26:34 +00:00
Mike de Boer
39f20cd843 Bug 1524593 - nsISearchService (aka nsIBrowserSearchService, previously) refactor to be mostly an asynchronous, in preparation of WebExtension engines. r=daleharvey
This is a rollup of all the patches that have landed on the cedar project branch:

891252fdd0
Bug 1492475 - Part 1: Migrate most, if not all nsSearchService consumers to use async APIs. r=florian

79b2eb2367
Bug 1492475 - Part 2: Move nsIBrowserSearchService.idl to toolkit/components/search/nsISearchService.idl and update references. r=florian

a947d3cdf0
Bug 1492475 - Part 3: The search service init() method should simply return a Promise. r=florian

c1e172dfac
Bug 1492475 - Part 4: Remove the synchronous initialization flow. r=florian

cd41189eac
Bug 1492475 - Part 5: Since async initialization of the search service now is implicit behavior, remove the distinctive verbiage used internally. r=florian

2ae7189dfa
Bug 1492475 - Part 6: Update the cache build task to work with an actual Promise and re-initialize only once at the same time - all to fix race conditions here. r=florian

c8ee92973f
Bug 1492475 - Part 7: Make the region fetch not block the init flow, to ensure it's as fast as possible. r=florian

c44e674e16
Bug 1492475 - Part 8: Introduce an init flag, which can only be used privately, that allows to explicitly skip waiting for the region check process to complete. r=florian

6c79eaf1d3
Bug 1492475 - Part 9: Update unit tests to stop using 'currentEngine', in favor of 'defaultEngine'. r=Standard8

21b3aa17ee
Bug 1492475 - Part 10: Update unit tests to be fully aware of the new, async signatures of the search service API and remove sync init flow tests. r=mkaply,florian

ce5ba69019
Bug 1492475 - Part 11: Repair incorrect usage of the `identifier` property of nsISearchEngine instances. r=florian

fd177a7994
Bug 1518543 - Fix up the Android (Fennec) nsISearchService shim to work with the new asynchronous API. r=florian

3653d8ee22
Bug 1523708 - Change the search service interaction in the show-heartbeat action to use the new async API. r=florian

Differential Revision: https://phabricator.services.mozilla.com/D18355
2019-02-02 11:27:21 +00:00
Oriol Brufau
0505fc57b8 Bug 1488095 - Test that webext tabs.move preserves tab laziness. r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D17282
2019-01-24 15:23:03 +00:00
Luca Greco
b495597ff9 Bug 1518486 - Reuse shared loadTestSubscript test helper in other extensions mochitest-browser test files. r=mixedpuppy
Depends on D15949

Differential Revision: https://phabricator.services.mozilla.com/D15950
2019-01-31 17:45:28 +00:00
Luca Greco
ee3a9840f7 Bug 1518486 - Disable extension devtools_page for private tabs when not allowed by users. r=mixedpuppy
This patch applies the following changes:

- make sure that the WebExtensions internals do not create any devtools_page related to a private tabs' toolbox
  if the extension is not allowed to access the private browsing windows

- define a new mochitest to verify the expended behaviors on the private windows when the extension is
  allowed and not allowed

Depends on D15948

Differential Revision: https://phabricator.services.mozilla.com/D15949
2019-01-31 19:43:44 +00:00
Luca Greco
5ad9b2fc1f Bug 1518486 - Move extension "devtools related" test helpers into a shared head_devtools.js support file. r=mixedpuppy
This patch moves some "devtools related" test helpers into a shared support file,
and updates all the existing devtools API mochitests to use the new shared test helpers.

This change has also the following nice side-effects:

- remove any usage of the custom devtools module loader from the webextensions mochitests.

- use a custom "test blank toolbox panel" in all the devtools API tests that doesn't need a specific
  panel to be selected (which should help to make the test able to run a bit faster because none of
  the more expensive devtools panels is going to be loaded during the tests if not actually needed).

Differential Revision: https://phabricator.services.mozilla.com/D15948
2019-01-31 17:21:26 +00:00
Shane Caraveo
1643d3fd89 Bug 1516710 find api support for incognito r=zombie,rpl
Differential Revision: https://phabricator.services.mozilla.com/D17417
2019-01-31 14:45:08 +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
Shane Caraveo
a1d3990f24 Bug 1516708 commands api incognito support r=mstriemer,zombie
Prevent adding commands to private windows when extensions do not have permission.

Differential Revision: https://phabricator.services.mozilla.com/D17414
2019-01-30 19:24:43 +00:00
Shane Caraveo
f0ffc7e6f1 Bug 1516704 incognito support in session api, r=rpl,mikedeboer
Differential Revision: https://phabricator.services.mozilla.com/D16921
2019-01-29 20:18:36 +00:00
Cosmin Sabou
bf63534551 Merge mozilla-inbound to mozilla-central. a=merge 2019-01-29 12:01:56 +02:00
Razvan Maries
7c9dececde Backed out changeset 64d26b5a25b8 (bug 1516704) for bc failures at browser_ext_sessions_incognito.js. CLOSED TREE 2019-01-29 05:30:25 +02:00
Shane Caraveo
d664555fde Bug 1516680 sidebar incognito support, r=rpl,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D15485
2019-01-18 14:16:33 +00:00
Shane Caraveo
99e2d4e946 Bug 1516704 incognito support in session api, r=rpl,mikedeboer
Differential Revision: https://phabricator.services.mozilla.com/D16921
2019-01-28 12:39:39 +00:00
Luca Greco
b946290164 Bug 1483701 - Split and re-enable browser_ext_browserAction_popup_resize.js. r=mixedpuppy
This patch applies the following changes:

- Reduce the chances of retrieving the initial popup panel size while it is resizing, by comparing the
  content dimensions retrieved before and after the delay (which is already set to a value comparable
  to the time used by the resize debouncing timer), and wait until both the dimensions collected are the same

- split browser_ext_browserAction_popup_resize.js into two test files (as it seems, based on the investigations
  I did by reproducing this intermittent locally, that the part that can still fail intermittently from time
  to time with the change describe above is related to the testBrowserActionMenuResizeBottomArrow test case)

- move the test helpers shared between the two test files into a new head_browserAction.js support file

- re-enabled browser_ext_browserAction_popup_resize.js

- mark the new browser_ext_browserAction_popup_resize_bottom.js as disabled on debug build,
  because it is consistently triggering a "shutdown leak" failure when running locally

Differential Revision: https://phabricator.services.mozilla.com/D17267
2019-01-28 20:43:35 +00:00
Shane Caraveo
49f496bdbc Bug 1511636: update incognito support to use pref and permissions r=rpl,aswan,kmag
This changes the policy to use the pref and permissions rather than a boolean flag.  Using permissions gets us proper settings on startup without introducing any new overhead.  Going this way flips our tests around so rather than testing an override to turn off private browsing support, we test overrides to enable private browsing support.

Differential Revision: https://phabricator.services.mozilla.com/D14482
2019-01-28 18:10:47 +00:00
Shane Caraveo
80226002f0 Bug 1511636 update ExtensionPermissions to take id instead of extension instance, r=aswan,rpl
Differential Revision: https://phabricator.services.mozilla.com/D14800
2019-01-28 18:10:16 +00:00
Dorel Luca
8852eb6e17 Backed out changeset 49b9a79baf65 (bug 1483701) for brwoser-chrome failures in browser/components/extensions/test/browser/browser_ext_browserAction_popup_resize.js. CLOSED TREE 2019-01-25 23:25:05 +02:00
Luca Greco
b9bd4eb38d Bug 1483701 - Split and re-enable browser_ext_browserAction_popup_resize.js. r=mixedpuppy
This patch applies the following changes:

- Reduce the chances of retrieving the initial popup panel size while it is resizing, by comparing the
  content dimensions retrieved before and after the delay (which is already set to a value comparable
  to the time used by the resize debouncing timer), and wait until both the dimensions collected are the same

- split browser_ext_browserAction_popup_resize.js into two test files (as it seems, based on the investigations
  I did by reproducing this intermittent locally, that the part that can still fail intermittently from time
  to time with the change describe above is related to the testBrowserActionMenuResizeBottomArrow test case)

- move the test helpers shared between the two test files into a new head_browserAction.js support file

- re-enabled browser_ext_browserAction_popup_resize.js

- mark the new browser_ext_browserAction_popup_resize_bottom.js as disabled on debug build,
  because it is consistently triggering a "shutdown leak" failure when running locally

Differential Revision: https://phabricator.services.mozilla.com/D17267
2019-01-25 19:54:57 +00:00
Rob Wu
da89593e7e Bug 1377641 - Re-enable browser_ext_sessions_getRecentlyClosed.js r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D17569
2019-01-25 00:10:55 +00:00
shindli
4af798574f Backed out changeset 5852bd6e33d2 (bug 1483701) for bc failures in browser/components/extensions/test/browser/browser_ext_browserAction_popup_resize.js CLOSED TREE 2019-01-24 22:23:58 +02:00
Luca Greco
aa4692cad8 Bug 1483701 - Split and re-enable browser_ext_browserAction_popup_resize.js. r=mixedpuppy
This patch applies the following changes:

- Reduce the chances of retrieving the initial popup panel size while it is resizing, by comparing the
  content dimensions retrieved before and after the delay (which is already set to a value comparable
  to the time used by the resize debouncing timer), and wait until both the dimensions collected are the same

- split browser_ext_browserAction_popup_resize.js into two test files (as it seems, based on the investigations
  I did by reproducing this intermittent locally, that the part that can still fail intermittently from time
  to time with the change describe above is related to the testBrowserActionMenuResizeBottomArrow test case)

- move the test helpers shared between the two test files into a new head_browserAction.js support file

- re-enabled browser_ext_browserAction_popup_resize.js

- mark the new browser_ext_browserAction_popup_resize_bottom.js as disabled on debug build,
  because it is consistently triggering a "shutdown leak" failure when running locally

Differential Revision: https://phabricator.services.mozilla.com/D17267
2019-01-23 17:24:07 +00:00
Luca Greco
e317e93116 Bug 1464711 - Fix typo in ExtensionContent script.requiresCleanup getter. r=zombie
This patch fixes the typo in the requiresCleanup getter and adds an additional step
in the automated tests to verify that the scripts created by browser.tabs.removeCSS
are not being added to the content scripts that requires cleanup.

Differential Revision: https://phabricator.services.mozilla.com/D17345
2019-01-24 17:18:22 +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
Rob Wu
97aef02048 Bug 1520047 - Fix memory leak in places trees r=mak
The places-tree destructor lacks a `result.removeObserver(this.view);`
call before the assignment to `result.root.containerOpen`, which is
causing a memory leak.

This patch fixes the leak by removing the `result.root.containerOpen`
assignment, since the correct logic already exists in the `setTree`
method of `PlacesTreeView`, which is called upon `this.view = null;`
(XULTreeElement::SetView -> nsTreeBodyFrame::SetView -> setTree).

Differential Revision: https://phabricator.services.mozilla.com/D17241
2019-01-23 09:54:36 +00:00
Rob Wu
4b28cecd93 Bug 1518598 - Return early if popup has already been closed r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D16033
2019-01-15 18:50:49 +00:00
Rob Wu
894579b30f Bug 1515810 - Fix intermittent issue in bookmark menu tests r=mixedpuppy
Depends on D16414

Differential Revision: https://phabricator.services.mozilla.com/D16425
2019-01-17 09:53:07 +00: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
Rob Wu
4b982099df Bug 1515810 - Fix intermittent issue in bookmark menu tests r=mixedpuppy
Depends on D16414

Differential Revision: https://phabricator.services.mozilla.com/D16425
2019-01-15 14:05:31 +00: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
Noemi Erli
f57fe15abf Backed out changeset 5f9ccc7b6039 (bug 1515810) for failing in browser_ext_contextMenus.js 2019-01-14 18:58:15 +02:00
Rob Wu
e8f1fc4c12 Bug 1515810 - Fix intermittent issue in bookmark menu tests r=mixedpuppy
Depends on D16414

Differential Revision: https://phabricator.services.mozilla.com/D16425
2019-01-14 15:44:32 +00: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
Mark Striemer
ad5438e36c Bug 1303384 - Part 4: Localize command descriptions r=aswan
Differential Revision: https://phabricator.services.mozilla.com/D6346
2019-01-12 02:25:23 +00:00
Mark Striemer
04c2dcb929 Bug 1303384 - Part 2: Move some extension shortcut utils to ShortcutUtils r=aswan
Differential Revision: https://phabricator.services.mozilla.com/D4506
2019-01-11 22:32:39 +00:00
Luca Greco
0919414229 Bug 1518883 - Fix browser_ext_optionsPage_popups.js high intermittency on linux32-debug. r=mixedpuppy
This patch applies the following small change to the openContextMenuInOptionsPage test helper:

Instead of using BrowserTestUtils.synthesizeMouseAtCenter, the new version of the test helper
triggers a contextmenu event directly on the target element, to prevent intermittent failures
on debug builds (especially linux32-debug).

The intermittent failures seem to be originated by an unexpected behavior of DOMWindowUtils's
sendMouseEvent method, which is randomly triggering mouse events targeting the entire HTML document
instead of the intended DOMElement (despites the EventUtils.js "synthesizeMouseAtPoint" method is
computing the same `left` and `top` position in both the cases).

It seems that there could be some timing reasons behind the issue, because the intermittency
is reduced by adding an arbitrary long delay before triggering the mouse event.

Differential Revision: https://phabricator.services.mozilla.com/D16345
2019-01-14 11:48:52 +00:00
Luca Greco
d99ddb5c46 Bug 1519121 - Fix browser_ext_optionsPage_popups.js test failure on 66 Beta due to userContext feature disabled. r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D16219
2019-01-10 19:12:41 +00:00
Luca Greco
781ae42557 Bug 1468460 - Fix and test extension menus and menus.overrideContext on options_ui pages. r=mixedpuppy,robwu
Depends on D9920

Differential Revision: https://phabricator.services.mozilla.com/D15225
2019-01-08 22:23:00 +00:00
Luca Greco
bb30a553fe Bug 1468460 - Support context menu in WebExtensions options pages embedded inside an about:addons tab. r=mixedpuppy,robwu
Differential Revision: https://phabricator.services.mozilla.com/D9920
2019-01-07 20:53:13 +00:00
alwu
0e8e7456d0 Bug 1513039 - part11 : remove pref 'media.autoplay.ask-permission'. r=cpearce
Depends on D14335

Differential Revision: https://phabricator.services.mozilla.com/D14336
2019-01-07 18:41:58 +00:00
Timothy Guan-tin Chien
c7843797af Bug 1512048 - Convert tabmodalprompt binding to JSM module r=Gijs
This converts the tabmodalprompt binding to a class, to be constructed along side with the element
by TabModalPromptBox.

TabModalPromptBox will keep the instances in a map and pass it to the callers, instead of the element.
The tests and callers can access the class instance by passing the element reference to the map.

Differential Revision: https://phabricator.services.mozilla.com/D15505
2019-01-04 19:29:34 +00:00