Greasemonkey: Broken in Nightly 56.0a1 (2017-07-26)

Created on 27 Jul 2017  路  16Comments  路  Source: greasemonkey/greasemonkey

Tried both stable 3.11 and dev 3.11beta1. Test script:

// ==UserScript==
// @name hello
// @namespace world
// @include *
// ==/UserScript==
alert('Hello world!');

Most helpful comment

You need 56b02 for that setting to work correctly. 56b03 will have that fix and the level 2 setting which should fix this, by default.

All 16 comments

Same here. Stopped working a few days ago.

Works for me. Going to need more detail.

Should I guess from OP's username that this is actually a conflict with some other extension?

I have uBlock Origin installed, but I do not see any blocked requests in network tab in Dev Tools.

Here is what console output looks like on my machine:

0 bind() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":763]
1 findSql() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":810]
2 findEnabled() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":82]
3 observe() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStartup.js":21]

0 bind() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":760]
1 findSql() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":810]
2 find() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":72]
3 getAddonByID() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStartup.js":57]
4 callProviderAsync() ["resource://gre/modules/AddonManager.jsm":295]
5 promiseCallProvider/<() ["resource://gre/modules/AddonManager.jsm":319]
6 promiseCallProvider() ["resource://gre/modules/AddonManager.jsm":318]
7 getAddonByID/promises<() ["resource://gre/modules/AddonManager.jsm":2407]
8 from() ["self-hosted":611]
9 getAddonByID() ["resource://gre/modules/AddonManager.jsm":2406]
10 getAddonByID() ["resource://gre/modules/AddonManager.jsm":3577]
11 init() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7BDD7B8D8D-C0B5-4122-9652-4FCB1E788CD8%7D.xpi!/bootstrap.js":132]
12 onFinalUiStartup() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7BDD7B8D8D-C0B5-4122-9652-4FCB1E788CD8%7D.xpi!/bootstrap.js":185]

0 bind() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":760]
1 findSql() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":810]
2 find() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":72]
3 getAddonByID() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStartup.js":57]
4 callProviderAsync() ["resource://gre/modules/AddonManager.jsm":295]
5 promiseCallProvider/<() ["resource://gre/modules/AddonManager.jsm":319]
6 promiseCallProvider() ["resource://gre/modules/AddonManager.jsm":318]
7 getAddonByID/promises<() ["resource://gre/modules/AddonManager.jsm":2407]
8 from() ["self-hosted":611]
9 getAddonByID() ["resource://gre/modules/AddonManager.jsm":2406]
10 getAddonByID() ["resource://gre/modules/AddonManager.jsm":3577]
11 <TOP LEVEL> ["chrome://greasemonkey/content/browser.js":13]

0 bind() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":760]
1 findSql() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":810]
2 find() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":72]
3 getAddonByID() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStartup.js":57]
4 callProviderAsync() ["resource://gre/modules/AddonManager.jsm":295]
5 promiseCallProvider/<() ["resource://gre/modules/AddonManager.jsm":319]
6 promiseCallProvider() ["resource://gre/modules/AddonManager.jsm":318]
7 getAddonByID/promises<() ["resource://gre/modules/AddonManager.jsm":2407]
8 from() ["self-hosted":611]
9 getAddonByID() ["resource://gre/modules/AddonManager.jsm":2406]
10 getAddonByID() ["resource://gre/modules/AddonManager.jsm":3577]
11 updateSettings() ["chrome://tabmixplus/content/tab/tab.js":2673]
12 init() ["resource://tabmixplus/TabmixSvc.jsm":180]
13 Tabmix.beforeBrowserInitOnLoad() ["chrome://tabmixplus/content/links/setup.js":49]
14 tabmix_initialization_run() ["chrome://tabmixplus/content/tabmix.js":1235]
15 TMP_EL_onContentLoaded() ["chrome://tabmixplus/content/tabmix.js":322]
16 TMP_EL_handleEvent() ["chrome://tabmixplus/content/tabmix.js":287]

0 bind() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":760]
1 findSql() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":810]
2 find() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":72]
3 getAddonByID() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStartup.js":57]
4 callProviderAsync() ["resource://gre/modules/AddonManager.jsm":295]
5 promiseCallProvider/<() ["resource://gre/modules/AddonManager.jsm":319]
6 promiseCallProvider() ["resource://gre/modules/AddonManager.jsm":318]
7 getAddonByID/promises<() ["resource://gre/modules/AddonManager.jsm":2407]
8 from() ["self-hosted":611]
9 getAddonByID() ["resource://gre/modules/AddonManager.jsm":2406]
10 getAddonByID() ["resource://gre/modules/AddonManager.jsm":3577]
11 checkFirstRun() ["chrome://superstart/content/js/startup.js":452]
12 onLoad() ["chrome://superstart/content/js/startup.js":186]

0 bind() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":757]
1 findByMeta() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":104]
2 updateStatus() ["chrome://stylish/content/overlay.js":175]
3 urlUpdated() ["chrome://stylish/content/overlay.js":141]
4 init() ["chrome://stylish/content/overlay.js":67]

0 bind() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":757]
1 findByMeta() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":105]
2 updateStatus() ["chrome://stylish/content/overlay.js":175]
3 urlUpdated() ["chrome://stylish/content/overlay.js":141]
4 init() ["chrome://stylish/content/overlay.js":67]

0 bind() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":760]
1 findSql() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":810]
2 find() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":72]
3 getAddonByID() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStartup.js":57]
4 callProviderAsync() ["resource://gre/modules/AddonManager.jsm":295]
5 promiseCallProvider/<() ["resource://gre/modules/AddonManager.jsm":319]
6 promiseCallProvider() ["resource://gre/modules/AddonManager.jsm":318]
7 getAddonByID/promises<() ["resource://gre/modules/AddonManager.jsm":2407]
8 from() ["self-hosted":611]
9 getAddonByID() ["resource://gre/modules/AddonManager.jsm":2406]
10 getAddonByID() ["resource://gre/modules/AddonManager.jsm":3577]
11 enable/<() ["resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/preferences/native-options.js":34]
12 enable() ["resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/preferences/native-options.js":28]
13 run() ["resource://gre/modules/commonjs/sdk/addon/runner.js":108]
14 startup/</<() ["resource://gre/modules/commonjs/sdk/addon/runner.js":83]
15 process() ["resource://gre/modules/Promise-backend.js":922]
16 walkerLoop() ["resource://gre/modules/Promise-backend.js":806]
17 bound walkerLoop() ["self-hosted":945]
18 bound walkerLoop() ["self-hosted":945]
19 scheduleWalkerLoop/<() ["resource://gre/modules/Promise-backend.js":742]
20 getExtensionInfo() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7BDD7B8D8D-C0B5-4122-9652-4FCB1E788CD8%7D.xpi!/bootstrap.js":21]
21 init/<() ["jar:file:///home/nazar-pc/.mozilla/firefox/0 bind() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":760]
1 findSql() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":810]
2 find() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":72]
3 getAddonByID() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStartup.js":57]
4 callProviderAsync() ["resource://gre/modules/AddonManager.jsm":295]
5 promiseCallProvider/<() ["resource://gre/modules/AddonManager.jsm":319]
6 promiseCallProvider() ["resource://gre/modules/AddonManager.jsm":318]
7 getAddonByID/promises<() ["resource://gre/modules/AddonManager.jsm":2407]
8 from() ["self-hosted":611]
9 getAddonByID() ["resource://gre/modules/AddonManager.jsm":2406]
10 getAddonByID() ["resource://gre/modules/AddonManager.jsm":3577]
11 enable/<() ["resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/preferences/native-options.js":34]
12 enable() ["resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/preferences/native-options.js":28]
13 run() ["resource://gre/modules/commonjs/sdk/addon/runner.js":108]
14 startup/</<() ["resource://gre/modules/commonjs/sdk/addon/runner.js":83]
15 process() ["resource://gre/modules/Promise-backend.js":922]
16 walkerLoop() ["resource://gre/modules/Promise-backend.js":806]
17 bound walkerLoop() ["self-hosted":945]
18 bound walkerLoop() ["self-hosted":945]
19 scheduleWalkerLoop/<() ["resource://gre/modules/Promise-backend.js":742]
20 getExtensionInfo() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7BDD7B8D8D-C0B5-4122-9652-4FCB1E788CD8%7D.xpi!/bootstrap.js":21]
21 init/<() ["jar:file:///home/nazar-pc/.mozilla/firefox/0 bind() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":760]
1 findSql() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":810]
2 find() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":72]
3 getAddonByID() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStartup.js":57]
4 callProviderAsync() ["resource://gre/modules/AddonManager.jsm":295]
5 promiseCallProvider/<() ["resource://gre/modules/AddonManager.jsm":319]
6 promiseCallProvider() ["resource://gre/modules/AddonManager.jsm":318]
7 getAddonByID/promises<() ["resource://gre/modules/AddonManager.jsm":2407]
8 from() ["self-hosted":611]
9 getAddonByID() ["resource://gre/modules/AddonManager.jsm":2406]
10 getAddonByID() ["resource://gre/modules/AddonManager.jsm":3577]
11 enable/<() ["resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/preferences/native-options.js":34]
12 enable() ["resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/preferences/native-options.js":28]
13 run() ["resource://gre/modules/commonjs/sdk/addon/runner.js":108]
14 startup/</<() ["resource://gre/modules/commonjs/sdk/addon/runner.js":83]
15 process() ["resource://gre/modules/Promise-backend.js":922]
16 walkerLoop() ["resource://gre/modules/Promise-backend.js":806]
17 bound walkerLoop() ["self-hosted":945]
18 bound walkerLoop() ["self-hosted":945]
19 scheduleWalkerLoop/<() ["resource://gre/modules/Promise-backend.js":742]
20 getExtensionInfo() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7BDD7B8D8D-C0B5-4122-9652-4FCB1E788CD8%7D.xpi!/bootstrap.js":21]
21 init/<() ["jar:file:///home/nazar-pc/.mozilla/firefox/0 bind() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":760]
1 findSql() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":810]
2 find() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":72]
3 getAddonByID() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStartup.js":57]
4 callProviderAsync() ["resource://gre/modules/AddonManager.jsm":295]
5 promiseCallProvider/<() ["resource://gre/modules/AddonManager.jsm":319]
6 promiseCallProvider() ["resource://gre/modules/AddonManager.jsm":318]
7 getAddonByID/promises<() ["resource://gre/modules/AddonManager.jsm":2407]
8 from() ["self-hosted":611]
9 getAddonByID() ["resource://gre/modules/AddonManager.jsm":2406]
10 getAddonByID() ["resource://gre/modules/AddonManager.jsm":3577]
11 enable/<() ["resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/preferences/native-options.js":34]
12 enable() ["resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/preferences/native-options.js":28]
13 run() ["resource://gre/modules/commonjs/sdk/addon/runner.js":108]
14 startup/</<() ["resource://gre/modules/commonjs/sdk/addon/runner.js":83]
15 process() ["resource://gre/modules/Promise-backend.js":922]
16 walkerLoop() ["resource://gre/modules/Promise-backend.js":806]
17 bound walkerLoop() ["self-hosted":945]
18 bound walkerLoop() ["self-hosted":945]
19 scheduleWalkerLoop/<() ["resource://gre/modules/Promise-backend.js":742]
20 getExtensionInfo() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7BDD7B8D8D-C0B5-4122-9652-4FCB1E788CD8%7D.xpi!/bootstrap.js":21]
21 init/<() ["jar:file:///home/nazar-pc/.mozilla/firefox/0 bind() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":760]
1 findSql() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":810]
2 find() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStyle.js":72]
3 getAddonByID() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7B46551EC9-40F0-4e47-8E18-8E5CF550CFB8%7D.xpi!/components/stylishStartup.js":57]
4 callProviderAsync() ["resource://gre/modules/AddonManager.jsm":295]
5 promiseCallProvider/<() ["resource://gre/modules/AddonManager.jsm":319]
6 promiseCallProvider() ["resource://gre/modules/AddonManager.jsm":318]
7 getAddonByID/promises<() ["resource://gre/modules/AddonManager.jsm":2407]
8 from() ["self-hosted":611]
9 getAddonByID() ["resource://gre/modules/AddonManager.jsm":2406]
10 getAddonByID() ["resource://gre/modules/AddonManager.jsm":3577]
11 enable/<() ["resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/preferences/native-options.js":34]
12 enable() ["resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/preferences/native-options.js":28]
13 run() ["resource://gre/modules/commonjs/sdk/addon/runner.js":108]
14 startup/</<() ["resource://gre/modules/commonjs/sdk/addon/runner.js":83]
15 process() ["resource://gre/modules/Promise-backend.js":922]
16 walkerLoop() ["resource://gre/modules/Promise-backend.js":806]
17 bound walkerLoop() ["self-hosted":945]
18 bound walkerLoop() ["self-hosted":945]
19 scheduleWalkerLoop/<() ["resource://gre/modules/Promise-backend.js":742]
20 getExtensionInfo() ["jar:file:///home/nazar-pc/.mozilla/firefox/q5eocnir.default/extensions/%7BDD7B8D8D-C0B5-4122-9652-4FCB1E788CD8%7D.xpi!/bootstrap.js":21]
21 init/<() ["jar:file:///home/nazar-pc/.mozilla/firefox/

@arantius No other extensions were installed, using a freshly created profile. I tried to switch between FF Stable and Nightly using the same profile, alert does not appear in Nightly. Same as @nazar-pc said, broke just two days ago.

Running on Debian 8 x64.

On Linux confirmed.

Ad (default):
about:config
security.sandbox.content.level = 3


Throws an error in Browser Console:

1)

TypeError: el is null
emptyEl.js:4:10

and

2)

NS_ERROR_FILE_ACCESS_DENIED: Component returned failure code: 0x80520015
(NS_ERROR_FILE_ACCESS_DENIED) [nsIStringBundle.GetStringFromName]
sandbox.js:19

__Last good: Firefox 56.0a1 (2017-07-25)__
Built from https://hg.mozilla.org/mozilla-central/rev/131e19a573e901fb4d01b471b11b7916420b9fee

__First bad: Firefox 56.0a1 (2017-07-26)__
Built from https://hg.mozilla.org/mozilla-central/rev/e8400551c2e39f24c75a009ebed496c7acd7bf47

__Pushlog__
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=131e19a573e901fb4d01b471b11b7916420b9fee&tochange=e8400551c2e39f24c75a009ebed496c7acd7bf47


Ad 1)

Ad:
https://github.com/greasemonkey/greasemonkey/blob/3.11/content/browser.js#L288
mm == [object ChromeMessageSender], but this callbacks:
https://github.com/greasemonkey/greasemonkey/blob/3.11/modules/processScript.js#L16
(https://github.com/greasemonkey/greasemonkey/blob/3.11/modules/processScript.js#L30)
https://github.com/greasemonkey/greasemonkey/blob/3.11/content/browser.js#L294
does not work (it never gets inside).

But I cannot simulate it with Scratchpad (this is probably the one content):

let messageName = "greasemonkey:message";

function framescript() {

  let messageName = "greasemonkey:message";

  this.addMessageListener(messageName, any);

  function any(aMessage) {
     let consoleService = Components.classes["@mozilla.org/consoleservice;1"]
         .getService(Components.interfaces.nsIConsoleService);
     consoleService.logStringMessage("I am here!");
  }

}

let globalMessageManager = Components.classes["@mozilla.org/globalmessagemanager;1"]
    .getService(Components.interfaces.nsIMessageListenerManager);

globalMessageManager.loadFrameScript(
    "data:text/javascript,(" + framescript.toString() + ")();", false);

var mm = getBrowser().mCurrentBrowser.frameLoader.messageManager;

mm.sendAsyncMessage(messageName, {});

Ad 2)

Bug 1308400


A fix:
about:config
security.sandbox.content.level = 1

For info, this is broken on 56.0b1 Dev edition under Linux too.

Changing security.sandbox.content.level from 3 to 1 does not fix anything.

You need 56b02 for that setting to work correctly. 56b03 will have that fix and the level 2 setting which should fix this, by default.

I'm on 56.0b2 and it's not working for me, altough what happens it's that Greasemonkey says that there are no scripts installed to run on this page. Can't tell if it's related to this issue or not.

Update: nevermind, it works, you have to change the setting and then restart.

@faelsoto did you change security.sandbox.content.level from 3 to 2? (or 1)

Or just wait for 56.0b3, releasing tomorrow-ish.

on 56.0b2, I just tested modifying security.sandbox.content.level to 2, then to 1, tried to refresh a page on which I have a custom greasemonkey script, tried to open a new tab and go to that same page ; this does not fix anything unfortunately.

Make sure to restart the browser after changing that setting.

Ok, setting security.sandbox.content.level to 2, then restarting fix the problem. Congrats.

Side note: What are the implications of changing that security level exactly?

Side note: What are the implications of changing that security level exactly?

https://wiki.mozilla.org/Security/Sandbox#Content_Levels_2

In simple terms, with level 2 an attacker that finds one security hole in Firefox won't be able to take over the browser or PC, but can still access sensitive data such as your passwords, cookies, etc. Level 3 closes that hole.

There were too many outstanding compatibility issues to leave 3 enabled on 56, though we plan to enable it in 57, which has a load more fixes. Note that this is specific to Linux, macOS and Windows already shipped a stricter sandbox.

Bankruptcy milestone

Wow that sounds sad. But isn't this pretty much fixed? Firefox 57.0a1 has level 3, but I'm pretty sure I saw other fixes for this same bug, and I just tested nightly buildid 20170816100153 and it works.

Nightly was fixed by bug 1385891. There's nothing Greasemonkey needs to do to fix this on their side.

(Aside from the obvious WebExtensions elephant in the room, and the controversy over whether they should have filesystem access or not, but that's being dealt with in other issues)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

an-electric-sheep picture an-electric-sheep  路  11Comments

arantius picture arantius  路  6Comments

simonzack picture simonzack  路  8Comments

jesus2099 picture jesus2099  路  9Comments

darkred picture darkred  路  10Comments