Closed Bug 1356256 Opened 7 years ago Closed 7 years ago

browser_ext_contextMenus_chrome.js fails when screenshots is enabled

Categories

(WebExtensions :: Untriaged, defect, P1)

defect

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1359704

People

(Reporter: standard8, Assigned: kmag)

References

Details

(Whiteboard: triaged)

Attachments

(1 file)

Failures such as https://treeherder.mozilla.org/logviewer.html#?job_id=91308658&repo=try&lineNumber=3716:

All platforms.

13:18:40     INFO - TEST-UNEXPECTED-FAIL | browser/components/extensions/test/browser/browser_ext_contextMenus_chrome.js | Separator before first extension item - Got menuitem, expected menuseparator
[task 2017-04-13T13:18:40.906189Z] 13:18:40     INFO - Stack trace:
[task 2017-04-13T13:18:40.908361Z] 13:18:40     INFO -     chrome://mochikit/content/browser-test.js:test_is:928
[task 2017-04-13T13:18:40.910548Z] 13:18:40     INFO -     chrome://mochitests/content/browser/browser/components/extensions/test/browser/browser_ext_contextMenus_chrome.js:test_tabContextMenu:106
[task 2017-04-13T13:18:40.912649Z] 13:18:40     INFO -     process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:922:23
[task 2017-04-13T13:18:40.915087Z] 13:18:40     INFO -     walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:806:7
[task 2017-04-13T13:18:40.920744Z] 13:18:40     INFO -     Promise*scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:739:11
[task 2017-04-13T13:18:40.923832Z] 13:18:40     INFO -     schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:770:7
[task 2017-04-13T13:18:40.925720Z] 13:18:40     INFO -     completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:707:7
[task 2017-04-13T13:18:40.927425Z] 13:18:40     INFO -     TaskImpl_run@resource://gre/modules/Task.jsm:324:15
[task 2017-04-13T13:18:40.929159Z] 13:18:40     INFO -     promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:396:7
[task 2017-04-13T13:18:40.930952Z] 13:18:40     INFO -     TaskImpl_run@resource://gre/modules/Task.jsm:327:15
[task 2017-04-13T13:18:40.934115Z] 13:18:40     INFO -     promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:396:7
[task 2017-04-13T13:18:40.936142Z] 13:18:40     INFO -     TaskImpl_run@resource://gre/modules/Task.jsm:327:15
[task 2017-04-13T13:18:40.938401Z] 13:18:40     INFO -     promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:396:7
[task 2017-04-13T13:18:40.940418Z] 13:18:40     INFO -     TaskImpl_run@resource://gre/modules/Task.jsm:327:15
[task 2017-04-13T13:18:40.943554Z] 13:18:40     INFO -     promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:396:7
[task 2017-04-13T13:18:40.945318Z] 13:18:40     INFO -     TaskImpl_run@resource://gre/modules/Task.jsm:327:15
[task 2017-04-13T13:18:40.948489Z] 13:18:40     INFO -     process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:922:23
[task 2017-04-13T13:18:40.950438Z] 13:18:40     INFO -     walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:806:7
[task 2017-04-13T13:18:40.952196Z] 13:18:40     INFO -     Promise*scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:739:11
[task 2017-04-13T13:18:40.954475Z] 13:18:40     INFO -     schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:770:7
[task 2017-04-13T13:18:40.956796Z] 13:18:40     INFO -     completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:707:7
[task 2017-04-13T13:18:40.959382Z] 13:18:40     INFO -     TaskImpl_run@resource://gre/modules/Task.jsm:324:15
[task 2017-04-13T13:18:40.961110Z] 13:18:40     INFO -     promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:396:7
[task 2017-04-13T13:18:40.963230Z] 13:18:40     INFO -     TaskImpl_run@resource://gre/modules/Task.jsm:327:15
[task 2017-04-13T13:18:40.965199Z] 13:18:40     INFO -     TaskImpl@resource://gre/modules/Task.jsm:277:3
[task 2017-04-13T13:18:40.967429Z] 13:18:40     INFO -     asyncFunction@resource://gre/modules/Task.jsm:252:14
[task 2017-04-13T13:18:40.971187Z] 13:18:40     INFO -     Task_spawn@resource://gre/modules/Task.jsm:166:12
[task 2017-04-13T13:18:40.972980Z] 13:18:40     INFO -     TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:389:16
[task 2017-04-13T13:18:40.974729Z] 13:18:40     INFO -     TaskImpl_run@resource://gre/modules/Task.jsm:327:15
[task 2017-04-13T13:18:40.976595Z] 13:18:40     INFO -     process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:922:23
[task 2017-04-13T13:18:40.979092Z] 13:18:40     INFO -     walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:806:7
[task 2017-04-13T13:18:40.980920Z] 13:18:40     INFO -     Promise*scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:739:11
[task 2017-04-13T13:18:40.984750Z] 13:18:40     INFO -     schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:770:7
[task 2017-04-13T13:18:40.987409Z] 13:18:40     INFO -     completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:707:7
[task 2017-04-13T13:18:40.989749Z] 13:18:40     INFO -     TaskImpl_run@resource://gre/modules/Task.jsm:324:15
[task 2017-04-13T13:18:40.991872Z] 13:18:40     INFO -     promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:396:7
[task 2017-04-13T13:18:40.996014Z] 13:18:40     INFO -     TaskImpl_run@resource://gre/modules/Task.jsm:327:15
[task 2017-04-13T13:18:40.997887Z] 13:18:40     INFO -     TaskImpl@resource://gre/modules/Task.jsm:277:3
[task 2017-04-13T13:18:41.000093Z] 13:18:40     INFO -     asyncFunction@resource://gre/modules/Task.jsm:252:14
[task 2017-04-13T13:18:41.003851Z] 13:18:41     INFO -     Task_spawn@resource://gre/modules/Task.jsm:166:12
[task 2017-04-13T13:18:41.007566Z] 13:18:41     INFO -     TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:389:16
[task 2017-04-13T13:18:41.011027Z] 13:18:41     INFO -     TaskImpl_run@resource://gre/modules/Task.jsm:327:15
[task 2017-04-13T13:18:41.012844Z] 13:18:41     INFO -     promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:396:7
[task 2017-04-13T13:18:41.014675Z] 13:18:41     INFO -     TaskImpl_run@resource://gre/modules/Task.jsm:327:15
[task 2017-04-13T13:18:41.016496Z] 13:18:41     INFO -     promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:396:7
[task 2017-04-13T13:18:41.018524Z] 13:18:41     INFO -     TaskImpl_run@resource://gre/modules/Task.jsm:327:15
[task 2017-04-13T13:18:41.021152Z] 13:18:41     INFO -     process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:922:23
[task 2017-04-13T13:18:41.023175Z] 13:18:41     INFO -     walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:806:7
[task 2017-04-13T13:18:41.026269Z] 13:18:41     INFO -     Promise*scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:739:11
[task 2017-04-13T13:18:41.028377Z] 13:18:41     INFO -     schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:770:7
[task 2017-04-13T13:18:41.030886Z] 13:18:41     INFO -     completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:707:7
[task 2017-04-13T13:18:41.032734Z] 13:18:41     INFO -     TaskImpl_run@resource://gre/modules/Task.jsm:324:15
Component: General → WebExtensions: Untriaged
Product: Firefox → Toolkit
I've just attached a WIP test. Running

./mach mochitest browser/components/extensions/test/browser/browser_ext_contextMenus_chrome.js

fails on the second run (in test-oop-extensions, with extensions.webextensions.remote = true).

Running:

./mach mochitest --jsdebugger browser/components/extensions/test/browser/browser_ext_contextMenus_chrome.js

passes on both runs.

I'm therefore slightly confused. The second run failure is because the context menu doesn't have the screenshots entry, but the screenshots button is on the toolbar. On the test log I'm seeing:

GECKO(16057) | JavaScript error: moz-extension://27ec85a3-7e1f-dc4d-a91a-82ba2f6a4bae/background/deviceInfo.js, line 9: TypeError: browser.runtime.getPlatformInfo is not a function
GECKO(16057) | JavaScript error: moz-extension://27ec85a3-7e1f-dc4d-a91a-82ba2f6a4bae/background/main.js, line 79: TypeError: browser.browserAction is undefined
67 INFO Console message: [JavaScript Error: "TypeError: browser.runtime.getPlatformInfo is not a function" {file: "moz-extension://27ec85a3-7e1f-dc4d-a91a-82ba2f6a4bae/background/deviceInfo.js" line: 9}]
this.deviceInfo<@moz-extension://27ec85a3-7e1f-dc4d-a91a-82ba2f6a4bae/background/deviceInfo.js:9:24
@moz-extension://27ec85a3-7e1f-dc4d-a91a-82ba2f6a4bae/background/deviceInfo.js:5:20

68 INFO Console message: [JavaScript Error: "TypeError: browser.browserAction is undefined" {file: "moz-extension://27ec85a3-7e1f-dc4d-a91a-82ba2f6a4bae/background/main.js" line: 79}]
this.main<@moz-extension://27ec85a3-7e1f-dc4d-a91a-82ba2f6a4bae/background/main.js:79:3
@moz-extension://27ec85a3-7e1f-dc4d-a91a-82ba2f6a4bae/background/main.js:6:14

Any ideas, could this be related to some of the other bugs that have landed, affecting legacy extensions maybe?
Flags: needinfo?(mixedpuppy)
Flags: needinfo?(kmaglione+bmo)
Blocks: 1358097
Assignee: nobody → kmaglione+bmo
Priority: -- → P1
Whiteboard: triaged
I'm starting to think this is because the WebExtension part isn't started up straight away, and this causes the button not to be consistently present.

This is going to make it difficult for tests to be consistent, and it may be strange for the user if extra buttons pop-up a little after start-up.
Hi Mark,

I believe this went away with bug 1359704, as we were adding "page" context menu items to the "tab" context menu (my mistake), which this test caught when you enabled the Screenshots extension.

Sorry for the trouble, and for not catching this sooner!

(resolving as DUPE, since bug 1359704 already landed)
Status: NEW → RESOLVED
Closed: 7 years ago
Flags: needinfo?(mixedpuppy)
Flags: needinfo?(kmaglione+bmo)
Resolution: --- → DUPLICATE
Thank you Tomislav, I've tried the test again locally and it seems to pass :-)
Product: Toolkit → WebExtensions
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: