Closed Bug 1375002 Opened 5 years ago Closed 5 years ago
.on Input Changed .add Listener fails
User Agent: Mozilla/5.0 (X11; Linux i686; rv:56.0) Gecko/20100101 Firefox/56.0 Build ID: 20170620100236 Steps to reproduce: Open the addon debugger and load the attached WebExtension. Try using it: type 'example foo' in the location bar, and you should get a dummy suggestion. Actual results: No suggestions are provided. in the addon debugger, the error is 'TypeError: handler is undefined', in ExtensionParent.jsm, line 681.
Component: Untriaged → WebExtensions: Frontend
Product: Firefox → Toolkit
I ran into this the other day. I found that if I call setDefaultSuggestion before adding the listener, then everything works fine.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Daniela is looking into getting the regression window…
Looks like bug 1350522 was the culprit, perhaps because the API isn't loaded until we call setDefaultSuggestion? :)
This is happening because, for some reason, the parent side of this API has an "omnibox_internal" namespace that the child-side onInputChanged event uses, and it isn't setup for lazy loading.
Assignee: mwein → kmaglione+bmo
https://hg.mozilla.org/integration/mozilla-inbound/rev/2cb8b8e9d1e978c4824c4daa5ca44d533e2eac4f Bug 1375002: Get rid of the omnibox_internal namespace. r=me
This namespace has schema definitions which spuriously expose it to extension callers, and does not support lazy loading correctly, which breaks certain usage patterns.
Comment on attachment 8883668 [details] [diff] [review] Get rid of the omnibox_internal namespace Approval Request Comment [Feature/Bug causing the regression]: Bug 1350522 [User impact if declined]: This causes certain add-ons which use the omnibox API to fail. [Is this code covered by automated tests?]: Yes, though the specific bug is not, since it depends on the ordering of API calls during the entire length of the browsers session, and we can't reasonably test variations on that. [Has the fix been verified in Nightly?]: No [Needs manual test from QE? If yes, steps to reproduce]: Described in comment 0 [List of other uplifts needed for the feature/fix]: None [Is the change risky?]: No [Why is the change risky/not risky?]: It's a trivial change to merge an unnecessary internal namespace into the normal namespace for this API. [String changes made/needed]: None
Attachment #8883668 - Flags: approval-mozilla-beta?
Comment on attachment 8883668 [details] [diff] [review] Get rid of the omnibox_internal namespace fix regression affecting webextensions in beta55
Attachment #8883668 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Needs a rebased patch for Beta.
I was able to reproduce the initial error on Firefox 56.0a1 (2017-06-21) under Windows 10 64-bit. Verified fixed on Firefox 56.0a1 (2017-07-25) under Windows 10 64-bit and Ubuntu 16.04 32-bit. 'TypeError: handler is undefined' error is no longer thrown in Browser Console. See screenshot: https://www.screencast.com/t/0zgQhgUMFg
You need to log in before you can comment on or make changes to this bug.