Closed Bug 1216032 Opened 9 years ago Closed 9 years ago

"FindBar Tweak" addon disables the "layout.word_select.stop_at_punctuation" pref, breaking double-click text selection on OS X

Categories

(Firefox :: Extension Compatibility, defect)

All
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
firefox41 --- unaffected
firefox42 --- unaffected
firefox43 --- unaffected
firefox44 --- fixed

People

(Reporter: cpeterson, Unassigned)

References

()

Details

(Keywords: regression)

Enabling the "FindBar Tweak" add-on now disables the "layout.word_select.stop_at_punctuation" pref, breaking double-click text selection on OS X.

STR:
1. Install FindBar Tweak addon:
https://addons.mozilla.org/en-US/firefox/addon/findbar-tweak/
2. Double-click a word in the address bar URL.

RESULT:
The entire URL is selected instead of just the word double-clicked. Other FindBar Tweak functionality seems to have stopped working recently and may be related to this problem.

I bisected this regression to the following pushlog, which backs out three billm bugs. So backing out these bugs seems to have *caused* this FindBar Tweak problem?!

https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=2499a66d5b37595ec35063b0a6c3d7ed1a9cf154&tochange=b268160e8919390c1a9f61a75d3f3b3c79491f77

Back out bug 1191143 - Cancel CPOWs from both sides
Back out bug 1191145 - Stop blocking scripts in CPOW IPCs
Back out bug 967873 - Make browser_relatedTabs.js not race in e10s
Back out bug 967873 - Start TabView when starting tests that might lazily load it
Back out bug 967873 - Test changes for async removeTab
Back out bug 967873 - Allow RemotePrompt to be closed while it's being opened
Back out bug 967873 - browser_onbeforeunload_navigation.js fix for e10s
Back out bug 967873 - Ignore content process DOMWillOpenModalDialog event in e10s
Back out bug 967873 - Proxy nsDocumentViewer::PermitUnload to the child process
Please try the latest version 2.1.2 in the queue: https://addons.mozilla.org/firefox/addon/findbar-tweak/versions/. It has many bugfixes, including a critical one for use in the latest Nightly builds. If that doesn't help please read on, otherwise ignore the rest.

I don't understand what this has to do with FBT. The add-on provides a shortcut for this preference in its preferences dialog (under Tweaks - "Double-clicking on a word stops selection at punctuation"), but that's it. It doesn't do anything with it, it just has a checkbox to toggle it. Are you sure you didn't just toggle it yourself and forgot about it?

I also can't reproduce it. Text selection works fine for me, according to the state of that preference.

FWIW, the first time I tried today, I had the add-on _disabled_ (by chance I left it disabled from yesterday), and text selection _wasn't_ stopping at punctuation! I enabled the add-on and selection still didn't stop at punctuation, despite the add-on's checkbox for this preference being clearly checked. I then unchecked the checkbox, selection didn't stop at punctuation as expected, then rechecked the checkbox and now everything works fine. No matter how I start or restart firefox, with or without the add-on, text selection stopping at punctuation reflects the state of layout.word_select.stop_at_punctuation.

I should have checked layout.word_select.stop_at_punctuation directly in about:config when text selection wasn't respecting it at first, instead of just the add-on's checkbox (which goes through a dummy preference, in order to be able to revert changes on uninstall). So it's hard to say whether it's a problem with the add-on or Firefox itself with absolute certainty. _But_ the add-on has a similar checkbox shortcut for layout.word_select.eat_space_to_next_word which uses the exact same underlying dummy routine, and that was working as expected right from the start: its checkbox was checked and text selection was selecting the following space; I made sure to also test this before I toggled either of those prefs. This leads me to conclude that it's not really a problem with the add-on, if there is a problem at all.

I'm also positive this has nothing to do with e10s. That part of the code (add-on) doesn't touch anything e10s-related, so unless Firefox's text selections functions themselves are affected by e10s, this probably shouldn't be tracked (and it they are affected by e10s, then I'm certain it has nothing to do with the add-on).
When I open FBT's Preferences in Nightly 44, the about:findbartweak page is empty except for a "Preferences" button and a "Jump to preference..." input box. I see the following error message in the browser console:

A promise chain failed to handle a rejection. Did you forget to '.catch', or did you forget to 'return'?
See https://developer.mozilla.org/Mozilla/JavaScript_code_modules/Promise.jsm/Promise

Date: Mon Oct 19 2015 10:17:20 GMT-0700 (PDT)
Full Message: ReferenceError: Piggyback is not defined
Full Stack: @resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/cpeterson/Library/Application%20Support/Firefox/Profiles/js4mmjfe.Test/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/sandboxUtils.jsm:27:69
this.PrefPanes.initWindow/<@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/cpeterson/Library/Application%20Support/Firefox/Profiles/js4mmjfe.Test/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/PrefPanes.jsm:234:5
Promise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:385:5
this.PrefPanes.initWindow@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/cpeterson/Library/Application%20Support/Firefox/Profiles/js4mmjfe.Test/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/PrefPanes.jsm:232:18
this.PrefPanes.observe@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/cpeterson/Library/Application%20Support/Firefox/Profiles/js4mmjfe.Test/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/PrefPanes.jsm:29:3
this.Browsers.callWatchers/<@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/cpeterson/Library/Application%20Support/Firefox/Profiles/js4mmjfe.Test/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/Browsers.jsm:217:8
callOnLoad@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/cpeterson/Library/Application%20Support/Firefox/Profiles/js4mmjfe.Test/extensions/fbt@quicksaver.xpi!/bootstrap.js:197:9
this.Browsers.callWatchers/<@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/cpeterson/Library/Application%20Support/Firefox/Profiles/js4mmjfe.Test/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/Browsers.jsm:216:1
this.Browsers.callWatchers@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/cpeterson/Library/Application%20Support/Firefox/Profiles/js4mmjfe.Test/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/Browsers.jsm:214:7
this.Browsers.handleEvent@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/cpeterson/Library/Application%20Support/Firefox/Profiles/js4mmjfe.Test/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/Browsers.jsm:184:5
EventListener.handleEvent*this.Browsers.tabNonRemote@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/cpeterson/Library/Application%20Support/Firefox/Profiles/js4mmjfe.Test/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/Browsers.jsm:230:3
this.Browsers.handleEvent@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/cpeterson/Library/Application%20Support/Firefox/Profiles/js4mmjfe.Test/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/Browsers.jsm:158:6
addTab@chrome://browser/content/tabbrowser.xml:1920:13
loadOneTab@chrome://browser/content/tabbrowser.xml:1440:23
openLinkIn@chrome://browser/content/utilityOverlay.js:347:1
openUILinkIn@chrome://browser/content/utilityOverlay.js:189:3
switchToTabHavingURI@chrome://browser/content/browser.js:18657:7
openOptionsInTab@chrome://mozapps/content/extensions/extensions.js:1471:5
cmd_showItemPreferences_doCommand@chrome://mozapps/content/extensions/extensions.js:1111:13
gVC_doCommand@chrome://mozapps/content/extensions/extensions.js:1457:5
showPreferences@chrome://mozapps/content/extensions/extensions.xml:1564:11
oncommand@about:addons:1:1
 sandboxUtils.jsm
tracking-e10s: ? → ---
(In reply to Chris Peterson [:cpeterson] from comment #2)
> When I open FBT's Preferences in Nightly 44, the about:findbartweak page is
> empty

That is the critical bug I mentioned that version 2.1.2 still in the queue fixes. ;)
Luís, I just tested version 2.1.2 and all these problems have been fixed. :)
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
That's great to hear. Thanks for keeping an eye on the add-on like this as well. :)
You need to log in before you can comment on or make changes to this bug.