gomita / firegestures

FireGestures, a Firefox extension.
http://www.xuldev.org/firegestures/
Other
128 stars 30 forks source link

FireGestures doesn't work on latest Firefox Nightly (at least in some configurations) #99

Closed siebenmann closed 9 years ago

siebenmann commented 9 years ago

Today a commit landed on the main Firefox trunk that's caused FireGestures to stop working. I filed Firefox bug #1189434 about it but the Firefox developers believe that the correct solution is for FireGestures to be updated (one developer has offered assistance with this, per the bug comments). Although it's not mentioned in my Firefox bugzilla report, this happens both with and without e10s on.

(It's possible that the specific commit my Firefox trunk bisection found is not actually the core problem, merely something that turns on the core problem in Firefox.)

When I look at the browser console (with e10s off), I see:

TypeError: this._gestureMapping is null browser.js:103:8
NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS: [JavaScript Error: "this._gestureMapping is null" {file: "chrome://firegestures/content/browser.js" line: 103}]'[JavaScript Error: "this._gestureMapping is null" {file: "chrome://firegestures/content/browser.js" line: 103}]' when calling method: [xdIGestureObserver::onDirectionChanged] xdGestureHandler.js:413:0
TypeError: this._getLocaleString is not a function browser.js:123:6
NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS: [JavaScript Error: "this._getLocaleString is not a function" {file: "chrome://firegestures/content/browser.js" line: 123}]'[JavaScript Error: "this._getLocaleString is not a function" {file: "chrome://firegestures/content/browser.js" line: 123}]' when calling method: [xdIGestureObserver::onMouseGesture] xdGestureHandler.js:447:0

I don't seem to see this in my non-e10s Firefox Nightly from my most recent working build.

(This change is so new that it's not in the overnight Nightly builds, so a prebuilt Firefox Nightly with it in will only become available tomorrow, July 31st. I guess I was 'lucky' to be rebuilding my Nightly build today, since I don't do it every day.)

toyotabedzrock commented 9 years ago

Is there anything more specific about the problem known yet? Like what about the tab structure changed?

siebenmann commented 9 years ago

Since I don't know enough to work on the issue even if I got details about the tab structure changes, I haven't asked the mozilla people for more details. You can see the actual changeset diffs here: https://hg.mozilla.org/mozilla-central/rev/66d93422384f

However, I spotted something odd when I was reading the diff and I just made a test that verifies it. The diff removes some 'bindings' stuff at the start of browser/base/content/tabbrowser.xml; when I restore only that 'DOCTYPE bindings' stanza (and browser/base/content/tabbrowser.xml and its inclusion in browser/locales/jar.mn), the problem is gone; FireGestures runs happily and works fine and the previous messages are no longer present in the browser console.

ehsan commented 9 years ago

Since I don't know enough to work on the issue even if I got details about the tab structure changes, I haven't asked the mozilla people for more details. You can see the actual changeset diffs here: https://hg.mozilla.org/mozilla-central/rev/66d93422384f

More specifically, this is the new element that we added: http://hg.mozilla.org/mozilla-central/annotate/32712cd01159/browser/base/content/tabbrowser.xml#l5702

However, I spotted something odd when I was reading the diff and I just made a test that verifies it. The diff removes some 'bindings' stuff at the start of browser/base/content/tabbrowser.xml; when I restore only that 'DOCTYPE bindings' stanza (and browser/base/content/tabbrowser.xml and its inclusion in browser/locales/jar.mn), the problem is gone; FireGestures runs happily and works fine and the previous messages are no longer present in the browser console.

We also removed chrome://browser/locale/tabbrowser.dtd and moved the single string inside it to chrome://browser/locale/tabbrowser.properties. Does this add-on somehow depend on tabbrowser.dtd?

ehsan commented 9 years ago

Based on code inspection, I think my pull request should fix this bug, but I didn't know how to test it since I couldn't find build instructions for the add-on. Please test and merge the PR if it's enough to fix this!

toyotabedzrock commented 9 years ago

No building the addon is just a zip file without compression. Just remove the META-INF folder so there is no key to check it against.

Decme commented 9 years ago

Firegestures didn't break in Nightly 7 days ago, but it certainly broke today. Mine says "FireGestures could not be verified for use in Nightly and has been disabled."

Is there a dev version somewhere that is updated more frequently? I live and breathe with this addon, can't go without it.

Edit: Nevermind, fixed it! Just go to about:config and set xpinstall.signatures.required to 'false' then restart Nightly.