Closed Bug 1699828 Opened 3 years ago Closed 3 years ago

Show web extension context menus above the navigation items on macOS

Categories

(WebExtensions :: Frontend, task, P3)

Desktop
macOS
task

Tracking

(firefox88 unaffected, firefox89 fixed)

RESOLVED FIXED
89 Branch
Tracking Status
firefox88 --- unaffected
firefox89 --- fixed

People

(Reporter: Gijs, Assigned: Gijs)

References

Details

Attachments

(1 file)

After bug 1692669 we'll use "normal" menu items for the navigation items on macOS. We should update the webextension framework code to insert those items before instead of after these navigational items.

This is a follow-up to https://phabricator.services.mozilla.com/D108475#3545020

Gijs, are you going to take this?

Severity: -- → N/A
Type: defect → task
Priority: -- → P3

(In reply to Rob Wu [:robwu] from comment #1)

This is a follow-up to https://phabricator.services.mozilla.com/D108475#3545020

Gijs, are you going to take this?

I'm pretty busy, but maybe? Is the attached patch all it takes (plus fixing up tests on macOS) ? Or am I missing some more subtleties here?

Flags: needinfo?(rob)

Something like that indeed: the current logic (this.xulMenu.querySelector(":scope > #context-sep-navigation + *");) should be conditional, such that on macOS the menu is prepended before the default menu, and on Linux/Windows after the navigation buttons.
Instead of updating the selector to what you have there (it's not obvious), I suggest to have a condition based on AppConstants.platform.

As a unit test, you would need to expand browser_ext_menus_replace_menu.js, here is an example of a small test change that served as a regression test: https://hg.mozilla.org/mozilla-central/rev/a01ecf3d6f9fa5bd46f662c811f6a92acc147902#l2.2 (or same diff in Searchfox).

Similarly to that diff, you would need to add a <div> element (instead of <a> like others); I'm suggesting a <div> instead of <a> because a contextmenu on a link does not contain navigation buttons. So to test the behavior of navigation buttons, you would need to add a new element that is not a link (e.g. <div id="somediv">click here</div>), click it, and verify the expected order/locations of the navigation buttons and the extension menu items (the existing test can be adapted).

Flags: needinfo?(rob)

The existing browser_ext_menus_replace_menu.js test does multiple things and has a onShown listener that expects all menu items to be shown. While it's possible to add an if to skip those assertions, you could also add a new test task, a simplified version derived from overrideContext_in_extension_tab, with the following logic:

  1. Load and start extension.
    • Register browser.menus.onShown listener that calls browser.test.sendMessage to notify the test runner that the menu has been shown.
    • Create a menu item and use browser.test.sendMessage when done.
  2. Await the message from above (basically this).
  3. Open extension tab.
    • Add "contextmenu" listener that calls browser.menus.overrideContext({ showDefaults: true });
  4. Open context menu in the page.
  5. Await onShown message (sent from setup step 2).
  6. Check visible menu items.
  7. Close context menu.
  8. Unload extension.
Assignee: nobody → gijskruitbosch+bugs
Status: NEW → ASSIGNED
Pushed by gijskruitbosch@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/c0c671865b2e
put extension items at the top of the content menu on macOS, r=robwu

Backed out changeset c0c671865b2e (bug 1699828) for browser_ext_menus_replace_menu_context.js mochitest failures.

Push with failures: https://treeherder.mozilla.org/jobs?repo=autoland&group_state=expanded&test_paths=browser%2Fcomponents%2Fextensions%2Ftest%2Fbrowser&fromchange=9b1df1c68aba8fe18fcf6baf6eba4c184a336529&tochange=29ca12c680c23fa958e58ffbcf9ea4ed046fda0e&selectedTaskRun=RexgrFydSwaBI7dJWxfRzw.0

Backout link: https://hg.mozilla.org/integration/autoland/rev/4f031adbde6cd59af95e16f9ec652c60d17ec279

Failure log: https://treeherder.mozilla.org/logviewer?job_id=334081875&repo=autoland&lineNumber=12446

[task 2021-03-22T23:51:06.515Z] 23:51:06     INFO - TEST-START | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js
[task 2021-03-22T23:51:06.515Z] 23:51:06     INFO - GECKO(1523) | [Child 1530: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 10875b000 == 6 [pid = 1530] [id = 72]
[task 2021-03-22T23:51:06.515Z] 23:51:06     INFO - GECKO(1523) | [Child 1530: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 14 (10870a040) [pid = 1530] [serial = 192] [outer = 0]
[task 2021-03-22T23:51:06.515Z] 23:51:06     INFO - GECKO(1523) | [Child 1530: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 15 (1087d8c00) [pid = 1530] [serial = 193] [outer = 10870a040]
[task 2021-03-22T23:51:06.732Z] 23:51:06     INFO - GECKO(1523) | [Child 1530: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 16 (1087e3800) [pid = 1530] [serial = 194] [outer = 10870a040]
[task 2021-03-22T23:51:06.749Z] 23:51:06     INFO - GECKO(1523) | JavaScript error: chrome://browser/content/places/browserPlacesViews.js, line 131: Error: No DOM node set for aPlacesNode.
[task 2021-03-22T23:51:06.749Z] 23:51:06     INFO - GECKO(1523) | node.type: 0. node.parent: [xpconnect wrapped nsINavHistoryResultNode @ 0x1574d0580 (native @ 0x15d753ac0)]
[task 2021-03-22T23:51:06.973Z] 23:51:06     INFO - GECKO(1523) | [Parent 1523, Main Thread] WARNING: Need BrowserChild to get the nativeWindow from!: file /builds/worker/checkouts/gecko/widget/PuppetWidget.cpp:1026
[task 2021-03-22T23:51:06.973Z] 23:51:06     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 10ddba400 == 10 [pid = 1525] [id = 377]
[task 2021-03-22T23:51:06.973Z] 23:51:06     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 35 (10b18d580) [pid = 1525] [serial = 1054] [outer = 0]
[task 2021-03-22T23:51:06.974Z] 23:51:06     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 36 (120c7dc00) [pid = 1525] [serial = 1055] [outer = 10b18d580]
[task 2021-03-22T23:51:06.985Z] 23:51:06     INFO - GECKO(1523) | [Child 1525, Main Thread] WARNING: Fallback to BasicLayerManager: file /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2694
[task 2021-03-22T23:51:07.030Z] 23:51:07     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 37 (120e5d400) [pid = 1525] [serial = 1056] [outer = 10b18d580]
[task 2021-03-22T23:51:07.100Z] 23:51:07     INFO - GECKO(1523) | [Parent 1523, Main Thread] WARNING: Need BrowserChild to get the nativeWindow from!: file /builds/worker/checkouts/gecko/widget/PuppetWidget.cpp:1026
[task 2021-03-22T23:51:07.100Z] 23:51:07     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 120c85800 == 11 [pid = 1525] [id = 378]
[task 2021-03-22T23:51:07.100Z] 23:51:07     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 38 (121cb63c0) [pid = 1525] [serial = 1057] [outer = 0]
[task 2021-03-22T23:51:07.100Z] 23:51:07     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 39 (120c87c00) [pid = 1525] [serial = 1058] [outer = 121cb63c0]
[task 2021-03-22T23:51:07.100Z] 23:51:07     INFO - GECKO(1523) | [Child 1525, Main Thread] WARNING: Fallback to BasicLayerManager: file /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2694
[task 2021-03-22T23:51:07.140Z] 23:51:07     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 40 (120e67800) [pid = 1525] [serial = 1059] [outer = 121cb63c0]
[task 2021-03-22T23:51:07.200Z] 23:51:07     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 120e5fc00 == 12 [pid = 1525] [id = 379]
[task 2021-03-22T23:51:07.200Z] 23:51:07     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 41 (121cb6900) [pid = 1525] [serial = 1060] [outer = 0]
[task 2021-03-22T23:51:07.201Z] 23:51:07     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 42 (120e62800) [pid = 1525] [serial = 1061] [outer = 121cb6900]
[task 2021-03-22T23:51:07.351Z] 23:51:07     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 120e63c00 == 13 [pid = 1525] [id = 380]
[task 2021-03-22T23:51:07.351Z] 23:51:07     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 43 (122556040) [pid = 1525] [serial = 1062] [outer = 0]
[task 2021-03-22T23:51:07.351Z] 23:51:07     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 44 (12253c400) [pid = 1525] [serial = 1063] [outer = 122556040]
[task 2021-03-22T23:51:07.407Z] 23:51:07     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 45 (122543800) [pid = 1525] [serial = 1064] [outer = 122556040]
[task 2021-03-22T23:51:07.407Z] 23:51:07     INFO - GECKO(1523) | [Parent 1523, Main Thread] WARNING: 'aOwner->IsDiscarded()', file /builds/worker/workspace/obj-build/dist/include/mozilla/dom/SyncedContextInlines.h:92
[task 2021-03-22T23:51:07.541Z] 23:51:07     INFO - GECKO(1523) | [Child 1530: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 10875d000 == 5 [pid = 1530] [id = 69] [url = http://mochi.test:8888/browser/browser/components/extensions/test/browser/context.html?2]
[task 2021-03-22T23:51:07.541Z] 23:51:07     INFO - GECKO(1523) | [Child 1530: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 1087e1c00 == 4 [pid = 1530] [id = 70] [url = http://mochi.test:8888/browser/browser/components/extensions/test/browser/context_frame.html]
[task 2021-03-22T23:51:07.542Z] 23:51:07     INFO - GECKO(1523) | [Child 1530: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 102ff2800 == 3 [pid = 1530] [id = 67] [url = http://mochi.test:8888/browser/browser/components/extensions/test/browser/context.html]
[task 2021-03-22T23:51:07.542Z] 23:51:07     INFO - GECKO(1523) | [Child 1530: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 10875e000 == 2 [pid = 1530] [id = 68] [url = http://mochi.test:8888/browser/browser/components/extensions/test/browser/context_frame.html]
[task 2021-03-22T23:51:07.542Z] 23:51:07     INFO - GECKO(1523) | [Child 1530: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 1088f0000 == 1 [pid = 1530] [id = 71] [url = http://mochi.test:8888/browser/browser/components/extensions/test/browser/context_frame.html]
[task 2021-03-22T23:51:07.605Z] 23:51:07     INFO - TEST-INFO | started process screencapture
[task 2021-03-22T23:51:07.714Z] 23:51:07     INFO - TEST-INFO | screencapture: exit 0
[task 2021-03-22T23:51:07.714Z] 23:51:07     INFO - Buffered messages logged at 23:51:06
[task 2021-03-22T23:51:07.714Z] 23:51:07     INFO - Entering test bound overrideContext_with_context
[task 2021-03-22T23:51:07.714Z] 23:51:07     INFO - Extension loaded
[task 2021-03-22T23:51:07.715Z] 23:51:07     INFO - Console message: Warning: attempting to write 16474 bytes to preference extensions.webextensions.uuids. This is bad for general performance and memory usage. Such an amount of data should rather be written to an external file. This preference will not be sent to any content processes.
[task 2021-03-22T23:51:07.715Z] 23:51:07     INFO - Console message: [JavaScript Error: "Error: No DOM node set for aPlacesNode.
[task 2021-03-22T23:51:07.715Z] 23:51:07     INFO - node.type: 0. node.parent: [xpconnect wrapped nsINavHistoryResultNode @ 0x1574d0580 (native @ 0x15d753ac0)]" {file: "chrome://browser/content/places/browserPlacesViews.js" line: 131}]
[task 2021-03-22T23:51:07.715Z] 23:51:07     INFO - PVB__getDOMNodeForPlacesNode@chrome://browser/content/places/browserPlacesViews.js:131:13
[task 2021-03-22T23:51:07.715Z] 23:51:07     INFO - PVB_nodeTitleChanged@chrome://browser/content/places/browserPlacesViews.js:541:20
[task 2021-03-22T23:51:07.715Z] 23:51:07     INFO - 
[task 2021-03-22T23:51:07.715Z] 23:51:07     INFO - Extension loaded
[task 2021-03-22T23:51:07.715Z] 23:51:07     INFO - Console message: Warning: attempting to write 16537 bytes to preference extensions.webextensions.uuids. This is bad for general performance and memory usage. Such an amount of data should rather be written to an external file. This preference will not be sent to any content processes.
[task 2021-03-22T23:51:07.716Z] 23:51:07     INFO - Buffered messages logged at 23:51:07
[task 2021-03-22T23:51:07.716Z] 23:51:07     INFO - Set up test with tabId=232 and bookmarkId=iApiuwm3GPY2.
[task 2021-03-22T23:51:07.716Z] 23:51:07     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected viewType at onShown - Expected: tab, Actual: tab - 
[task 2021-03-22T23:51:07.716Z] 23:51:07     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected linkUrl at onShown - Expected: undefined, Actual: undefined - 
[task 2021-03-22T23:51:07.716Z] 23:51:07     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected srcUrl at onShown - Expected: undefined, Actual: undefined - 
[task 2021-03-22T23:51:07.716Z] 23:51:07     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected viewType at onShown - Expected: tab, Actual: tab - 
[task 2021-03-22T23:51:07.717Z] 23:51:07     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected linkUrl at onShown - Expected: undefined, Actual: undefined - 
[task 2021-03-22T23:51:07.717Z] 23:51:07     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected srcUrl at onShown - Expected: undefined, Actual: undefined - 
[task 2021-03-22T23:51:07.717Z] 23:51:07     INFO - Testing menu from @menu-test-extension after changing context to tab
[task 2021-03-22T23:51:07.717Z] 23:51:07     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected onShown details after changing context to tab - {"menuIds":["tab_context","tab_context_http","tab_context_viewType_moz"],"contexts":["tab"],"bookmarkId":"undefined","pageUrl":"undefined","frameUrl":"moz-extension://9e9bd9b7-a966-cb4c-9b33-d9a81fbb9744/tab.html","tabId":232} deepEqual {"menuIds":["tab_context","tab_context_http","tab_context_viewType_moz"],"contexts":["tab"],"bookmarkId":"undefined","pageUrl":"undefined","frameUrl":"moz-extension://9e9bd9b7-a966-cb4c-9b33-d9a81fbb9744/tab.html","tabId":232} - 
[task 2021-03-22T23:51:07.717Z] 23:51:07     INFO - Testing menu from @other-test-extension after changing context to tab
[task 2021-03-22T23:51:07.717Z] 23:51:07     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected onShown details after changing context to tab - {"menuIds":["tab_context","tab_context_http","tab_context_viewType_moz"],"contexts":["tab"],"bookmarkId":"undefined","pageUrl":"undefined","frameUrl":"moz-extension://9e9bd9b7-a966-cb4c-9b33-d9a81fbb9744/tab.html","tabId":232} deepEqual {"menuIds":["tab_context","tab_context_http","tab_context_viewType_moz"],"contexts":["tab"],"bookmarkId":"undefined","pageUrl":"undefined","frameUrl":"moz-extension://9e9bd9b7-a966-cb4c-9b33-d9a81fbb9744/tab.html","tabId":232} - 
[task 2021-03-22T23:51:07.717Z] 23:51:07     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected top-level menu for otherExtension - 
[task 2021-03-22T23:51:07.717Z] 23:51:07     INFO - Buffered messages finished
[task 2021-03-22T23:51:07.718Z] 23:51:07     INFO - TEST-UNEXPECTED-FAIL | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected menu items after changing context to tab - ["_menu-test-extension-menuitem-_tab_context","_menu-test-extension-menuitem-_tab_context_http","_menu-test-extension-menuitem-_tab_context_viewType_moz","context-sep-navigation","_other-test-extension-menuitem-95"] deepEqual ["_menu-test-extension-menuitem-_tab_context","_menu-test-extension-menuitem-_tab_context_http","_menu-test-extension-menuitem-_tab_context_viewType_moz","page-menu-separator","_other-test-extension-menuitem-95"] - JS frame :: chrome://mochitests/content/browser/browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js :: overrideContext_with_context :: line 296
[task 2021-03-22T23:51:07.718Z] 23:51:07     INFO - Stack trace:
[task 2021-03-22T23:51:07.718Z] 23:51:07     INFO - chrome://mochitests/content/browser/browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js:overrideContext_with_context:296
[task 2021-03-22T23:51:07.766Z] 23:51:07     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Correct submenu opened - 
[task 2021-03-22T23:51:07.768Z] 23:51:07     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected menu items in submenu after changing context to tab - ["_other-test-extension-menuitem-_tab_context","_other-test-extension-menuitem-_tab_context_http","_other-test-extension-menuitem-_tab_context_viewType_moz"] deepEqual ["_other-test-extension-menuitem-_tab_context","_other-test-extension-menuitem-_tab_context_http","_other-test-extension-menuitem-_tab_context_viewType_moz"] - 
[task 2021-03-22T23:51:07.768Z] 23:51:07     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected message in @menu-test-extension - Expected: testTabAccess, Actual: testTabAccess - 
[task 2021-03-22T23:51:07.791Z] 23:51:07     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected error message - Expected: Missing host permission for the tab, Actual: Missing host permission for the tab - 
[task 2021-03-22T23:51:07.792Z] 23:51:07     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | executeScript should fail due to the lack of permissions. - 
[task 2021-03-22T23:51:07.816Z] 23:51:07     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected message in @other-test-extension - Expected: testTabAccess, Actual: testTabAccess - 
[task 2021-03-22T23:51:07.816Z] 23:51:07     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Other extension should not have activeTab permissions yet. - 
[task 2021-03-22T23:51:07.816Z] 23:51:07     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | There are two menu items with label 'tab_context' - 
[task 2021-03-22T23:51:07.849Z] 23:51:07     INFO - GECKO(1523) | [Child 1530: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 15 (10870a3c0) [pid = 1530] [serial = 182] [outer = 0] [url = http://mochi.test:8888/browser/browser/components/extensions/test/browser/context_frame.html]
[task 2021-03-22T23:51:07.850Z] 23:51:07     INFO - GECKO(1523) | [Child 1530: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 14 (10870a200) [pid = 1530] [serial = 184] [outer = 0] [url = http://mochi.test:8888/browser/browser/components/extensions/test/browser/context.html?2]
[task 2021-03-22T23:51:07.850Z] 23:51:07     INFO - GECKO(1523) | [Child 1530: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 13 (10870ae40) [pid = 1530] [serial = 187] [outer = 0] [url = http://mochi.test:8888/browser/browser/components/extensions/test/browser/context_frame.html]
[task 2021-03-22T23:51:07.859Z] 23:51:07     INFO - GECKO(1523) | [Child 1530: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 12 (102f56040) [pid = 1530] [serial = 179] [outer = 0] [url = http://mochi.test:8888/browser/browser/components/extensions/test/browser/context.html]
[task 2021-03-22T23:51:07.859Z] 23:51:07     INFO - GECKO(1523) | [Child 1530: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 11 (1087503c0) [pid = 1530] [serial = 190] [outer = 0] [url = http://mochi.test:8888/browser/browser/components/extensions/test/browser/context_frame.html]
[task 2021-03-22T23:51:08.084Z] 23:51:08     INFO - GECKO(1523) | [Child 1529: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 7 (102266c00) [pid = 1529] [serial = 232] [outer = 0] [url = about:blank]
[task 2021-03-22T23:51:08.084Z] 23:51:08     INFO - GECKO(1523) | [Child 1529: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 6 (109fb4c00) [pid = 1529] [serial = 227] [outer = 0] [url = about:blank]
[task 2021-03-22T23:51:08.093Z] 23:51:08     INFO - GECKO(1523) | [Child 1529: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 5 (10a34cc00) [pid = 1529] [serial = 228] [outer = 0] [url = http://mochi.test:8888/browser/browser/components/extensions/test/browser/context.html]
[task 2021-03-22T23:51:08.093Z] 23:51:08     INFO - GECKO(1523) | [Child 1529: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 4 (10a34b000) [pid = 1529] [serial = 230] [outer = 0] [url = http://mochi.test:8888/browser/browser/components/extensions/test/browser/context_frame.html]
[task 2021-03-22T23:51:08.093Z] 23:51:08     INFO - GECKO(1523) | [Child 1529: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 3 (109fb9800) [pid = 1529] [serial = 233] [outer = 0] [url = http://mochi.test:8888/browser/browser/components/extensions/test/browser/context.html]
[task 2021-03-22T23:51:08.093Z] 23:51:08     INFO - GECKO(1523) | [Child 1529: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 109fb4400 == 0 [pid = 1529] [id = 101] [url = about:blank]
[task 2021-03-22T23:51:08.093Z] 23:51:08     INFO - GECKO(1523) | [Child 1529: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 2 (10a34c000) [pid = 1529] [serial = 235] [outer = 0] [url = http://mochi.test:8888/browser/browser/components/extensions/test/browser/context_frame.html]
[task 2021-03-22T23:51:08.094Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected viewType at onClicked - Expected: tab, Actual: tab - 
[task 2021-03-22T23:51:08.094Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected linkUrl at onClicked - Expected: undefined, Actual: undefined - 
[task 2021-03-22T23:51:08.094Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected srcUrl at onClicked - Expected: undefined, Actual: undefined - 
[task 2021-03-22T23:51:08.094Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected onClicked details after changing context to tab - {"menuItemId":"tab_context","bookmarkId":"undefined","pageUrl":"http://example.com/?SomeTab","frameUrl":"moz-extension://9e9bd9b7-a966-cb4c-9b33-d9a81fbb9744/tab.html","tabId":232} deepEqual {"menuItemId":"tab_context","bookmarkId":"undefined","pageUrl":"http://example.com/?SomeTab","frameUrl":"moz-extension://9e9bd9b7-a966-cb4c-9b33-d9a81fbb9744/tab.html","tabId":232} - 
[task 2021-03-22T23:51:08.142Z] 23:51:08     INFO - GECKO(1523) | [Child 1529: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 1 (108810200) [pid = 1529] [serial = 236] [outer = 0] [url = about:blank]
[task 2021-03-22T23:51:08.232Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected message in @menu-test-extension - Expected: testTabAccess, Actual: testTabAccess - 
[task 2021-03-22T23:51:08.232Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected error message - Expected: Missing host permission for the tab, Actual: Missing host permission for the tab - 
[task 2021-03-22T23:51:08.233Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | executeScript of extension that created the menu should still fail. - 
[task 2021-03-22T23:51:08.239Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected message in @other-test-extension - Expected: testTabAccess, Actual: testTabAccess - 
[task 2021-03-22T23:51:08.246Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected successful executeScript - Expected: http://example.com/?SomeTab, Actual: http://example.com/?SomeTab - 
[task 2021-03-22T23:51:08.255Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Other extension should have activeTab permissions. - 
[task 2021-03-22T23:51:08.401Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected viewType at onShown - Expected: tab, Actual: tab - 
[task 2021-03-22T23:51:08.401Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected linkUrl at onShown - Expected: undefined, Actual: undefined - 
[task 2021-03-22T23:51:08.401Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected srcUrl at onShown - Expected: undefined, Actual: undefined - 
[task 2021-03-22T23:51:08.401Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected viewType at onShown - Expected: tab, Actual: tab - 
[task 2021-03-22T23:51:08.402Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected linkUrl at onShown - Expected: undefined, Actual: undefined - 
[task 2021-03-22T23:51:08.402Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected srcUrl at onShown - Expected: undefined, Actual: undefined - 
[task 2021-03-22T23:51:08.402Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | There are two menu items with label 'tab_context' - 
[task 2021-03-22T23:51:08.411Z] 23:51:08     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 10de8b000 == 12 [pid = 1525] [id = 371] [url = moz-extension://b44a4e19-3d4f-8c4e-aed9-f39de39d2f89/_generated_background_page.html]
[task 2021-03-22T23:51:08.411Z] 23:51:08     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 120e58c00 == 11 [pid = 1525] [id = 372] [url = moz-extension://e5d37d1f-daf6-0948-ad6b-effa4a192649/_generated_background_page.html]
[task 2021-03-22T23:51:08.636Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected viewType at onClicked - Expected: tab, Actual: tab - 
[task 2021-03-22T23:51:08.636Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected linkUrl at onClicked - Expected: undefined, Actual: undefined - 
[task 2021-03-22T23:51:08.744Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected srcUrl at onClicked - Expected: undefined, Actual: undefined - 
[task 2021-03-22T23:51:08.744Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected onClicked details after changing context to tab - {"menuItemId":"tab_context","bookmarkId":"undefined","pageUrl":"http://example.com/?SomeTab","frameUrl":"moz-extension://9e9bd9b7-a966-cb4c-9b33-d9a81fbb9744/tab.html","tabId":232} deepEqual {"menuItemId":"tab_context","bookmarkId":"undefined","pageUrl":"http://example.com/?SomeTab","frameUrl":"moz-extension://9e9bd9b7-a966-cb4c-9b33-d9a81fbb9744/tab.html","tabId":232} - 
[task 2021-03-22T23:51:08.749Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected message in @menu-test-extension - Expected: testTabAccess, Actual: testTabAccess - 
[task 2021-03-22T23:51:08.766Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected error message - Expected: Missing host permission for the tab, Actual: Missing host permission for the tab - 
[task 2021-03-22T23:51:08.766Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | activeTab permission should not be available to the extension that created the menu. - 
[task 2021-03-22T23:51:08.914Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected viewType at onShown - Expected: tab, Actual: tab - 
[task 2021-03-22T23:51:08.920Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected linkUrl at onShown - Expected: undefined, Actual: undefined - 
[task 2021-03-22T23:51:08.920Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected srcUrl at onShown - Expected: undefined, Actual: undefined - 
[task 2021-03-22T23:51:08.920Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected viewType at onShown - Expected: tab, Actual: tab - 
[task 2021-03-22T23:51:08.920Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected linkUrl at onShown - Expected: undefined, Actual: undefined - 
[task 2021-03-22T23:51:08.920Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected srcUrl at onShown - Expected: undefined, Actual: undefined - 
[task 2021-03-22T23:51:08.921Z] 23:51:08     INFO - Testing menu from @menu-test-extension after changing context to bookmark
[task 2021-03-22T23:51:08.921Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected onShown details after changing context to bookmark - {"menuIds":["bookmark_context","bookmark_context_http","bookmark_context_moz","bookmark_context_viewType_moz"],"contexts":["bookmark"],"bookmarkId":"iApiuwm3GPY2","pageUrl":"undefined","frameUrl":"moz-extension://9e9bd9b7-a966-cb4c-9b33-d9a81fbb9744/tab.html","tabId":"undefined"} deepEqual {"menuIds":["bookmark_context","bookmark_context_http","bookmark_context_moz","bookmark_context_viewType_moz"],"contexts":["bookmark"],"bookmarkId":"iApiuwm3GPY2","pageUrl":"undefined","frameUrl":"moz-extension://9e9bd9b7-a966-cb4c-9b33-d9a81fbb9744/tab.html","tabId":"undefined"} - 
[task 2021-03-22T23:51:08.921Z] 23:51:08     INFO - Testing menu from @other-test-extension after changing context to bookmark
[task 2021-03-22T23:51:08.921Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected onShown details after changing context to bookmark - {"menuIds":["bookmark_context","bookmark_context_http","bookmark_context_moz","bookmark_context_viewType_moz"],"contexts":["bookmark"],"bookmarkId":"iApiuwm3GPY2","pageUrl":"undefined","frameUrl":"moz-extension://9e9bd9b7-a966-cb4c-9b33-d9a81fbb9744/tab.html","tabId":"undefined"} deepEqual {"menuIds":["bookmark_context","bookmark_context_http","bookmark_context_moz","bookmark_context_viewType_moz"],"contexts":["bookmark"],"bookmarkId":"iApiuwm3GPY2","pageUrl":"undefined","frameUrl":"moz-extension://9e9bd9b7-a966-cb4c-9b33-d9a81fbb9744/tab.html","tabId":"undefined"} - 
[task 2021-03-22T23:51:08.921Z] 23:51:08     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected top-level menu for otherExtension - 
[task 2021-03-22T23:51:08.921Z] 23:51:08     INFO - Not taking screenshot here: see the one that was previously logged
[task 2021-03-22T23:51:08.921Z] 23:51:08     INFO - TEST-UNEXPECTED-FAIL | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected menu items after changing context to bookmark - ["_menu-test-extension-menuitem-_bookmark_context","_menu-test-extension-menuitem-_bookmark_context_http","_menu-test-extension-menuitem-_bookmark_context_moz","_menu-test-extension-menuitem-_bookmark_context_viewType_moz","context-sep-navigation","_other-test-extension-menuitem-95"] deepEqual ["_menu-test-extension-menuitem-_bookmark_context","_menu-test-extension-menuitem-_bookmark_context_http","_menu-test-extension-menuitem-_bookmark_context_moz","_menu-test-extension-menuitem-_bookmark_context_viewType_moz","page-menu-separator","_other-test-extension-menuitem-95"] - JS frame :: chrome://mochitests/content/browser/browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js :: overrideContext_with_context :: line 436
[task 2021-03-22T23:51:08.921Z] 23:51:08     INFO - Stack trace:
[task 2021-03-22T23:51:08.922Z] 23:51:08     INFO - chrome://mochitests/content/browser/browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js:overrideContext_with_context:436
[task 2021-03-22T23:51:09.169Z] 23:51:09     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Correct submenu opened - 
[task 2021-03-22T23:51:09.169Z] 23:51:09     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | Expected menu items in submenu after changing context to bookmark - ["_other-test-extension-menuitem-_bookmark_context","_other-test-extension-menuitem-_bookmark_context_http","_other-test-extension-menuitem-_bookmark_context_moz","_other-test-extension-menuitem-_bookmark_context_viewType_moz"] deepEqual ["_other-test-extension-menuitem-_bookmark_context","_other-test-extension-menuitem-_bookmark_context_http","_other-test-extension-menuitem-_bookmark_context_moz","_other-test-extension-menuitem-_bookmark_context_viewType_moz"] - 
[task 2021-03-22T23:51:09.208Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 120e66c00 == 10 [pid = 1525] [id = 374] [url = moz-extension://e5d37d1f-daf6-0948-ad6b-effa4a192649/tab.html]
[task 2021-03-22T23:51:09.208Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 44 (12253b400) [pid = 1525] [serial = 1029] [outer = 0] [url = about:blank]
[task 2021-03-22T23:51:09.209Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 43 (120e5b800) [pid = 1525] [serial = 1023] [outer = 0] [url = about:blank]
[task 2021-03-22T23:51:09.209Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 42 (122541400) [pid = 1525] [serial = 1027] [outer = 0] [url = moz-extension://98d5f9e6-3cf9-f74a-b3c3-fa5bdf11b039/_generated_background_page.html]
[task 2021-03-22T23:51:09.209Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 41 (122542000) [pid = 1525] [serial = 1046] [outer = 0] [url = about:blank]
[task 2021-03-22T23:51:09.209Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 40 (120e64c00) [pid = 1525] [serial = 1044] [outer = 0] [url = about:blank]
[task 2021-03-22T23:51:09.209Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 39 (10ddbc800) [pid = 1525] [serial = 1032] [outer = 0] [url = about:blank]
[task 2021-03-22T23:51:09.209Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 38 (120c83400) [pid = 1525] [serial = 1038] [outer = 0] [url = about:blank]
[task 2021-03-22T23:51:09.210Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 37 (10ddbb000) [pid = 1525] [serial = 1030] [outer = 0] [url = moz-extension://cc5cae38-e2cf-7c44-a9ed-b03914be09fb/_generated_background_page.html]
[task 2021-03-22T23:51:09.210Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 36 (10de87800) [pid = 1525] [serial = 1035] [outer = 0] [url = about:blank]
[task 2021-03-22T23:51:09.210Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 35 (120c7c400) [pid = 1525] [serial = 1033] [outer = 0] [url = moz-extension://b403e02b-cc02-3d4d-9d6d-89075a3f0114/_generated_background_page.html]
[task 2021-03-22T23:51:09.210Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 34 (120c88c00) [pid = 1525] [serial = 1036] [outer = 0] [url = moz-extension://36dea018-32e5-c644-a213-08bce426d2df/_generated_background_page.html]
[task 2021-03-22T23:51:09.210Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 33 (12253f800) [pid = 1525] [serial = 1024] [outer = 0] [url = moz-extension://0875d7df-3249-6f41-8fe7-6c3288f25b91/_generated_background_page.html]
[task 2021-03-22T23:51:09.210Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 32 (120e63000) [pid = 1525] [serial = 1026] [outer = 0] [url = about:blank]
[task 2021-03-22T23:51:09.210Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 31 (120e5b000) [pid = 1525] [serial = 1041] [outer = 0] [url = about:blank]
[task 2021-03-22T23:51:09.211Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 120e5fc00 == 9 [pid = 1525] [id = 379] [url = about:blank]
[task 2021-03-22T23:51:09.211Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 10b114c00 == 8 [pid = 1525] [id = 375] [url = moz-extension://4c236345-1604-9948-a8ac-7df19817021b/_generated_background_page.html]
[task 2021-03-22T23:51:09.211Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 10d9fe000 == 7 [pid = 1525] [id = 376] [url = moz-extension://4c236345-1604-9948-a8ac-7df19817021b/sidebar.html]
[task 2021-03-22T23:51:09.482Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 30 (121cb6900) [pid = 1525] [serial = 1060] [outer = 0] [url = about:blank]
[task 2021-03-22T23:51:09.482Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 29 (121cb6e40) [pid = 1525] [serial = 1045] [outer = 0] [url = moz-extension://e5d37d1f-daf6-0948-ad6b-effa4a192649/tab.html]
[task 2021-03-22T23:51:09.483Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 28 (121cb6040) [pid = 1525] [serial = 1040] [outer = 0] [url = moz-extension://e5d37d1f-daf6-0948-ad6b-effa4a192649/_generated_background_page.html]
[task 2021-03-22T23:51:09.483Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 27 (10d927580) [pid = 1525] [serial = 1037] [outer = 0] [url = moz-extension://b44a4e19-3d4f-8c4e-aed9-f39de39d2f89/_generated_background_page.html]
[task 2021-03-22T23:51:09.483Z] 23:51:09     INFO - GECKO(1523) | [Child 1525: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 26 (10b021c80) [pid = 1525] [serial = 1048] [outer = 0] [url = moz-extension://4c236345-1604-9948-a8ac-7df19817021b/_generated_background_page.html]
[task 2021-03-22T23:51:09.588Z] 23:51:09     INFO - TEST-PASS | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | The default 'Open Link in New Tab' menu item should be in context-openlinkintab,context-openlinkinusercontext-menu,context-openlink,context-openlinkprivate,context-sep-open,context-bookmarklink,context-savelink,context-savelinktopocket,context-copylink,context-sep-copylink,context-searchselect,frame-sep,context-inspect-a11y,context-inspect. - 
[task 2021-03-22T23:51:09.626Z] 23:51:09     INFO - GECKO(1523) | [Child 1525, Main Thread] WARNING: NS_ENSURE_TRUE(mDoneSetup) failed: file /builds/worker/checkouts/gecko/editor/composer/nsEditingSession.cpp:1180
[task 2021-03-22T23:51:09.626Z] 23:51:09     INFO - GECKO(1523) | [Child 1525, Main Thread] WARNING: '!CanSend() || !mManager || !mManager->CanSend()', file /builds/worker/checkouts/gecko/dom/ipc/jsactor/JSWindowActorChild.cpp:40
[task 2021-03-22T23:51:09.626Z] 23:51:09     INFO - GECKO(1523) | [Child 1525, Main Thread] WARNING: '!CanSend() || !mManager || !mManager->CanSend()', file /builds/worker/checkouts/gecko/dom/ipc/jsactor/JSWindowActorChild.cpp:40
[task 2021-03-22T23:51:09.626Z] 23:51:09     INFO - GECKO(1523) | [Child 1525, Main Thread] WARNING: '!CanSend() || !mManager || !mManager->CanSend()', file /builds/worker/checkouts/gecko/dom/ipc/jsactor/JSWindowActorChild.cpp:40
[task 2021-03-22T23:51:09.832Z] 23:51:09     INFO - Console message: [JavaScript Error: "sendRemoveListener on closed conduit @menu-test-extension.137438955921" {file: "resource://gre/modules/ConduitsChild.jsm" line: 108}]
[task 2021-03-22T23:51:09.832Z] 23:51:09     INFO - _send@resource://gre/modules/ConduitsChild.jsm:108:13
[task 2021-03-22T23:51:09.832Z] 23:51:09     INFO - removeListener@resource://gre/modules/ExtensionChild.jsm:663:34
[task 2021-03-22T23:51:09.832Z] 23:51:09     INFO - removeListener@resource://gre/modules/ExtensionChild.jsm:886:40
[task 2021-03-22T23:51:09.832Z] 23:51:09     INFO - getAPI/register/api.menus.onClicked@chrome://browser/content/child/ext-menus.js:284:21
[task 2021-03-22T23:51:09.832Z] 23:51:09     INFO - removeListener@resource://gre/modules/ExtensionCommon.jsm:2523:7
[task 2021-03-22T23:51:09.832Z] 23:51:09     INFO - revoke@resource://gre/modules/ExtensionCommon.jsm:2545:12
[task 2021-03-22T23:51:09.832Z] 23:51:09     INFO - close@resource://gre/modules/ExtensionCommon.jsm:2550:10
[task 2021-03-22T23:51:09.832Z] 23:51:09     INFO - unload@resource://gre/modules/ExtensionCommon.jsm:912:11
[task 2021-03-22T23:51:09.832Z] 23:51:09     INFO - unload@resource://gre/modules/ExtensionPageChild.jsm:261:11
[task 2021-03-22T23:51:09.832Z] 23:51:09     INFO - unload@resource://gre/modules/ExtensionPageChild.jsm:298:11
[task 2021-03-22T23:51:09.832Z] 23:51:09     INFO - destroyExtensionContext@resource://gre/modules/ExtensionPageChild.jsm:482:15
[task 2021-03-22T23:51:09.832Z] 23:51:09     INFO - observe@resource://gre/modules/ExtensionPageChild.jsm:395:12
[task 2021-03-22T23:51:09.832Z] 23:51:09     INFO - 
[task 2021-03-22T23:51:09.841Z] 23:51:09     INFO - GECKO(1523) | [Child 1525, Main Thread] WARNING: '!CanSend() || !mManager || !mManager->CanSend()', file /builds/worker/checkouts/gecko/dom/ipc/jsactor/JSWindowActorChild.cpp:40
[task 2021-03-22T23:51:09.842Z] 23:51:09     INFO - GECKO(1523) | [Child 1525, Main Thread] WARNING: '!CanSend() || !mManager || !mManager->CanSend()', file /builds/worker/checkouts/gecko/dom/ipc/jsactor/JSWindowActorChild.cpp:40
[task 2021-03-22T23:51:09.930Z] 23:51:09     INFO - Console message: [JavaScript Error: "sendRemoveListener on closed conduit @other-test-extension.137438955906" {file: "resource://gre/modules/ConduitsChild.jsm" line: 108}]
[task 2021-03-22T23:51:09.930Z] 23:51:09     INFO - _send@resource://gre/modules/ConduitsChild.jsm:108:13
[task 2021-03-22T23:51:09.930Z] 23:51:09     INFO - removeListener@resource://gre/modules/ExtensionChild.jsm:663:34
[task 2021-03-22T23:51:09.930Z] 23:51:09     INFO - removeListener@resource://gre/modules/ExtensionChild.jsm:886:40
[task 2021-03-22T23:51:09.930Z] 23:51:09     INFO - getAPI/register/api.menus.onClicked@chrome://browser/content/child/ext-menus.js:284:21
[task 2021-03-22T23:51:09.930Z] 23:51:09     INFO - removeListener@resource://gre/modules/ExtensionCommon.jsm:2523:7
[task 2021-03-22T23:51:09.930Z] 23:51:09     INFO - revoke@resource://gre/modules/ExtensionCommon.jsm:2545:12
[task 2021-03-22T23:51:09.930Z] 23:51:09     INFO - close@resource://gre/modules/ExtensionCommon.jsm:2550:10
[task 2021-03-22T23:51:09.930Z] 23:51:09     INFO - unload@resource://gre/modules/ExtensionCommon.jsm:912:11
[task 2021-03-22T23:51:09.930Z] 23:51:09     INFO - unload@resource://gre/modules/ExtensionPageChild.jsm:261:11
[task 2021-03-22T23:51:09.930Z] 23:51:09     INFO - unload@resource://gre/modules/ExtensionPageChild.jsm:298:11
[task 2021-03-22T23:51:09.930Z] 23:51:09     INFO - destroyExtensionContext@resource://gre/modules/ExtensionPageChild.jsm:482:15
[task 2021-03-22T23:51:09.930Z] 23:51:09     INFO - observe@resource://gre/modules/ExtensionPageChild.jsm:395:12
[task 2021-03-22T23:51:09.930Z] 23:51:09     INFO - 
[task 2021-03-22T23:51:09.992Z] 23:51:09     INFO - GECKO(1523) | [Child 1526: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 10beedc00 == 1 [pid = 1526] [id = 122] [url = about:blank]
[task 2021-03-22T23:51:09.992Z] 23:51:09     INFO - Leaving test bound overrideContext_with_context
[task 2021-03-22T23:51:10.022Z] 23:51:10     INFO - GECKO(1523) | MEMORY STAT | vsize 8466MB | residentFast 754MB | heapAllocated 248MB
[task 2021-03-22T23:51:10.022Z] 23:51:10     INFO - TEST-OK | browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js | took 3522ms
[task 2021-03-22T23:51:10.070Z] 23:51:10     INFO - GECKO(1523) | [Child 1526: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 3 (10588a900) [pid = 1526] [serial = 291] [outer = 0] [url = about:blank]
[task 2021-03-22T23:51:10.070Z] 23:51:10     INFO - GECKO(1523) | [Child 1529: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 101917000 == 1 [pid = 1529] [id = 102]
[task 2021-03-22T23:51:10.070Z] 23:51:10     INFO - GECKO(1523) | [Child 1529: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 2 (101921ac0) [pid = 1529] [serial = 238] [outer = 0]
[task 2021-03-22T23:51:10.071Z] 23:51:10     INFO - GECKO(1523) | [Child 1529: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 3 (10220ec00) [pid = 1529] [serial = 239] [outer = 101921ac0]
[task 2021-03-22T23:51:10.071Z] 23:51:10     INFO - checking window state
Flags: needinfo?(gijskruitbosch+bugs)

The failure is because a different separator is now used due to the new logic + menuseparator collapsing logic from bug 1691860.

In that patch, the "menuseparator" was replaced with the ID of the menu, even though we don't really care about the ID: https://hg.mozilla.org/mozilla-central/rev/873822e544614bd755622f8857c8c8dd2b08c5a4#l10.2

To resolve this failure, ai suggest to revert back to "menuseparator" in that patch and change the logic here to never return the ID for menu separators in the test: https://searchfox.org/mozilla-central/rev/be906232eedb22c064b78f3806b38964c04f1fbc/browser/components/extensions/test/browser/browser_ext_menus_replace_menu_context.js#9

An alternative way to fix the failure is to use a different ID for the separator on macOS, but I recommended the other approach because the ID of the menu separators are not significant due to the separator collapsing logic, and the test doesn't really care about which separator is in use.

Pushed by gijskruitbosch@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/f04c9dfb30a6
put extension items at the top of the content menu on macOS, r=robwu
Flags: needinfo?(gijskruitbosch+bugs)
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 89 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: