VimFx.git
4 days agoVimFx v0.24.4 master v0.24.4
girst [Tue, 24 Nov 2020 09:58:05 +0000 (10:58 +0100)]
VimFx v0.24.4

6 days agoUpdate documentation
girst [Sun, 22 Nov 2020 15:43:11 +0000 (16:43 +0100)]
Update documentation

- remove outdated information
- fix link tag spelling
- document userchrome pref
- note Nightly Fission experiment

6 days agoFix search on help screen
girst [Sun, 22 Nov 2020 15:27:50 +0000 (16:27 +0100)]
Fix search on help screen

Used the long removed <xul:textbox> element, which was replaced with a
standard <html:input>.

6 days agoFix `ew` and `ep` commands
girst [Sun, 22 Nov 2020 15:20:13 +0000 (16:20 +0100)]
Fix `ew` and `ep` commands

6 days agoDo not inject Console.jsm into frame scripts
girst [Sun, 22 Nov 2020 15:03:29 +0000 (16:03 +0100)]
Do not inject Console.jsm into frame scripts

causes some errors in the browser console

TypeError: console.createInstance is not a function 3 E10SUtils.jsm:297:27
    log resource://gre/modules/E10SUtils.jsm:297
    shouldLoadURI resource://gre/modules/E10SUtils.jsm:955
    shouldLoadURI chrome://browser/content/tab-content.js:45
TypeError: log is not a function LoginManagerChild.jsm:813:8
    onDOMFormHasPassword resource://gre/modules/LoginManagerChild.jsm:813
    handleEvent resource://gre/modules/LoginManagerChild.jsm:673
TypeError: log is undefined LoginFormFactory.jsm:68:5
    createFromForm resource://gre/modules/LoginFormFactory.jsm:68
    createFromField resource://gre/modules/LoginFormFactory.jsm:110
    handleEvent resource://gre/modules/LoginManagerChild.jsm:684

11 days agoVimFx v0.24.3 v0.24.3
girst [Tue, 17 Nov 2020 15:44:40 +0000 (16:44 +0100)]
VimFx v0.24.3

11 days agoFix Extension Bootstrap for Firefox 84
girst [Tue, 17 Nov 2020 15:38:24 +0000 (16:38 +0100)]
Fix Extension Bootstrap for Firefox 84

Regresed by: Bug 1649843

4 weeks agoRemove Github templates
girst [Fri, 30 Oct 2020 16:52:28 +0000 (17:52 +0100)]
Remove Github templates

4 weeks agoupdate known bugs
girst [Fri, 30 Oct 2020 16:38:06 +0000 (17:38 +0100)]
update known bugs

- fission/oop-iframes semi-supported now
- document behaviour after installation

4 weeks agoDon't crash on pages with out-of-process iframes when fission is enabled
girst [Tue, 5 May 2020 12:18:53 +0000 (14:18 +0200)]
Don't crash on pages with out-of-process iframes when fission is enabled

This should be considered at most a workaround; oop iframes are
completely opaque to VimFx. This not only means that hints are not
generated for elements inside them, but also that VimFx can't detect
when an input element is focused. Due to the latter, we switch to insert
mode whenever we detect that focus is inside an OOP iframe, so text
inputs can still be used.

During implementation, a bug (https://bugzilla.mozilla.org/1635530) was
found (and filed) where activeElement was wrong. This is fixed as of
Firefox 78. Given that fission is still disabled by default, earlier
verisons aren't affected.

Note: lib/utils.coffee::getTopOffset() also accesses frameElement, but
that's safe, since this function is only called by
simulateMouseEvents(), which only works on elements that were previously
reached via hints mode (where we already check for oop iframes).

lib/utils.coffee::containsDeep() is also safe, albeit less so. It is
called through lib/scrollable-elements.coffee::addChecked()
by lib/events-frame.coffee's addEventHandler('overflow'), which as of
fx78 does not receive events from OOP frames.

4 weeks agoupdate installation, known bugs and development documentation
girst [Sun, 20 Sep 2020 12:27:20 +0000 (14:27 +0200)]
update installation, known bugs and development documentation

- remove AMO installation method
- change LegacyFox links
- realign development docs with reality
- less jargon on known-bugs.

2 months agoSupport in-content dark mode on options.xhtml
girst [Sun, 20 Sep 2020 12:13:00 +0000 (14:13 +0200)]
Support in-content dark mode on options.xhtml

3 months agoVimFx v0.24.2 v0.24.2
girst [Thu, 6 Aug 2020 09:33:29 +0000 (11:33 +0200)]
VimFx v0.24.2

3 months agohotfix: 'F'
girst [Thu, 6 Aug 2020 09:26:13 +0000 (11:26 +0200)]
hotfix: 'F'

3 months agoVimFx v0.24.1 v0.24.1
girst [Wed, 5 Aug 2020 14:24:18 +0000 (16:24 +0200)]
VimFx v0.24.1

4 months agoBetter LegacyFox Link
girst [Thu, 16 Jul 2020 14:54:43 +0000 (16:54 +0200)]
Better LegacyFox Link

4 months agoUpdate contentAreaClick() for Firefox 80
girst [Thu, 16 Jul 2020 14:53:01 +0000 (16:53 +0200)]
Update contentAreaClick() for Firefox 80

keeping old value around to stay backwards-compatible. upstream change:
https://hg.mozilla.org/mozilla-central/diff/48564fee92c70018cae91b914cb7529c86edecb7/browser/actors/ClickHandlerParent.jsm

4 months agoUpdate LegacyFox repo URL and installation instructions
girst [Sun, 12 Jul 2020 13:51:59 +0000 (15:51 +0200)]
Update LegacyFox repo URL and installation instructions

5 months agoVimFx v0.24.0 v0.24.0
girst [Fri, 12 Jun 2020 12:01:54 +0000 (14:01 +0200)]
VimFx v0.24.0

5 months agoDocument known bugs and their workarounds
girst [Tue, 5 May 2020 13:33:53 +0000 (15:33 +0200)]
Document known bugs and their workarounds

6 months agoChromeWindow has no ShadowRoot
girst [Tue, 5 May 2020 12:57:55 +0000 (14:57 +0200)]
ChromeWindow has no ShadowRoot

STR: using `eb` mode, switch to another tab => ReferenceError: "ShadowRoot is not defined"

6 months agofix pushing of the release tag
girst [Tue, 5 May 2020 12:17:31 +0000 (14:17 +0200)]
fix pushing of the release tag

6 months agoFix getting stuck in normal mode in docked DevTools after refocusing
girst [Tue, 5 May 2020 12:07:34 +0000 (14:07 +0200)]
Fix getting stuck in normal mode in docked DevTools after refocusing

In Nightly 70 the docked DevTools were switched from a Chrome Frame to a
Content Frame. The part of VimFx that determines what is part of the
browser UI (to work around a bug regarding delayed ipc messages) then
didn't recognize the DevTools as part of the UI any longer.

When a focusType event comes from the browser UI, a second event is
fired erroneously a few milliseconds later. This caused us to enter
insert mode in the devtools, and immediately exit out of it again,
making it impossible to type in e.g. the style editor.

STR:
    1. open devtools->style editor (or ->network)
    2. focus textbox (vimfx icon will turn silver)
    3. focus webpage (vimfx switches to normal mode)
    4. focus style editor (vimfx fails to return to ignore mode)

regressed by: Bug 1539979 - https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=91f7769b3d7ec17aa11f7a8ada7104f5b4cec38d&tochange=39e19afc797d310f568447eae7054789e641b591

Unrelated to this change, the about:devtools-toolbox's chrome document
was renamed from .xul to .xhtml a few releases back. This second URI was
added; no idea if its absence broke anything.

8 months agoVimFx v0.23.3 v0.23.3
girst [Thu, 19 Mar 2020 16:47:00 +0000 (17:47 +0100)]
VimFx v0.23.3

8 months agoFix `o` in nightly 76 (Bug 1610479)
girst [Thu, 19 Mar 2020 16:35:14 +0000 (17:35 +0100)]
Fix `o` in nightly 76 (Bug 1610479)

9 months agoFix GitHub search box hint
girst [Thu, 30 Jan 2020 22:05:33 +0000 (23:05 +0100)]
Fix GitHub search box hint

Github has wrapped the input field in a div with aria attributes, but
the trigger is actually attached to the input itself. Since they share
the same position, the useless hint for the div is displayed on top of
the useful hint of the input.

Minimal test case:
<div role="combobox">
  <input name="q" onclick="void 0">
</div>

10 months agoFix typo in CHANGELOG
girst [Tue, 7 Jan 2020 23:22:21 +0000 (00:22 +0100)]
Fix typo in CHANGELOG

As evident in the commit message of df0367e, the change occured in
Firefox 73, not 72.

10 months agoonly embolden section title (not section description)
girst [Mon, 6 Jan 2020 23:19:44 +0000 (00:19 +0100)]
only embolden section title (not section description)

10 months agoVimFx v0.23.2 v0.23.2
girst [Sun, 5 Jan 2020 21:07:58 +0000 (22:07 +0100)]
VimFx v0.23.2

10 months agoMake options section headings bold
girst [Thu, 2 Jan 2020 01:33:43 +0000 (02:33 +0100)]
Make options section headings bold

10 months agoFix race condition on options page
girst [Thu, 2 Jan 2020 00:17:51 +0000 (01:17 +0100)]
Fix race condition on options page

If the browser gets restarted with options.xhtml focused, vimfx.info
will be undefined (vimfx.info gets loaded asynchronically)

10 months agoIgnore error thrown by dispatchDOMEvent
girst [Tue, 31 Dec 2019 16:44:37 +0000 (17:44 +0100)]
Ignore error thrown by dispatchDOMEvent

Triggered e.g. by `f`-ing on an extension card's description/title. The
click still registers, so it's just noise in the log. This bug is
present in all supported versions (at least 68..73), but unlikely to be
fixed, as it is "only" a testing function (and we're not supposed to use
it).
NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIDOMWindowUtils.dispatchDOMEventViaPresShellForTesting]

10 months agoClean up some shims for <fx63
girst [Fri, 27 Dec 2019 05:09:54 +0000 (06:09 +0100)]
Clean up some shims for <fx63

nsIDomUtils was removed in fx59 (Bug 1427419 - Part 27). Others found
through
  grep -nrwE '\b(fx|waterfox|mozilla) ?(5[0-9]|6[0-7])' extension

11 months agoRemove last isXULDocument() references
girst [Fri, 27 Dec 2019 01:09:05 +0000 (02:09 +0100)]
Remove last isXULDocument() references

== commands.follow ==
On XUL pages/windows, <body> does not exist (hence the check was put
in), but is `null`, so can be safely compared against (and the check can
be omitted).

== helper_follow ==
Since the last war on isXULDocument, the namespace has in many cases
been moved from the document root to a descendant (e.g. to <body> on
about:preferences in fx73). This means that the isXULDocument call often
isn't triggered when it should.
Coincidentally, most XULElements are recognized, either due to them
being implemented as a custom element containing a recognized element or
by their tag name being identical to a recognized one. The only
exception is <xul:label is="text-link">, which needed special handling
in commands.follow_in_tab().

11 months agos/dispatchDOMEventViaPresShell/&ForTesting/
girst [Tue, 24 Dec 2019 14:25:39 +0000 (15:25 +0100)]
s/dispatchDOMEventViaPresShell/&ForTesting/

regressed by: fx73; Bug 1603074

the 3rd parameter was removed in fx62 (Bug 1455676), which we don't support
any more, so that was pruned as well.

11 months agoVimFx v0.23.1 v0.23.1
girst [Thu, 5 Dec 2019 20:31:22 +0000 (21:31 +0100)]
VimFx v0.23.1

11 months agoupdate "vulnerable" packages
girst [Thu, 5 Dec 2019 20:06:52 +0000 (21:06 +0100)]
update "vulnerable" packages

vi package.json && npm install && npm audit fix && git commit -A

to make this new github bot shut up, hopefully. none of these packages
are included in the final xpi, and the build doesn't change, so it
doesn't matter either way. the addon-linter package was fixed to 0.24.0,
which is the last version that supports install.rdf without throwing a
warning.

11 months agoreplace imported ContentClick module with stub
girst [Mon, 2 Dec 2019 14:36:43 +0000 (15:36 +0100)]
replace imported ContentClick module with stub

The module was replaced at the very end of the 72 cycle with
ClickHandlerParent.jsm, which made contentAreaClick non-static. It would
have been technically possible to just ship the old module with either
VimFx or LegacFox, but since it is so small and it was replaced to
support Fission, it seemed better to extract the relevant parts of the
method and just inline them. We'll need to keep it up-to-date either
way.
Note that despite this we are _not_ fission compatible; when a 3rd-party
iframe is present, hints mode breaks.

Regressed by: Bug 1595155

11 months agofix 'modifiers is null' TypeError
girst [Sun, 1 Dec 2019 20:23:28 +0000 (21:23 +0100)]
fix 'modifiers is null' TypeError

element.getAttribute() might return null, while
xulElement.getAttribute() returns the empty string. the latter is
expected by the implementation. Since fx71, the main window is now an
HTMLDocument instead of a XULDocument, causing the breakage.

See also: commitmsg of 1791f889

11 months agoRemove misuse of isXULDocument()
girst [Sun, 1 Dec 2019 17:57:09 +0000 (18:57 +0100)]
Remove misuse of isXULDocument()

A new isXULElement() has been introduced as a replacement for improper
use of isXULDocument() (where the latter was used to indirectly check
the former). isXULDocument() only works if the xul-xmlns is attached to
the document as its main namespace, which is not the case e.g. on fx72's
about:preferences#sync (the test for which now uses isXULElement).

The test in isProperLink() actually wants to know if an element belongs
to the XUL namespace, not if it is embedded in a document of that NS
(to treat <xul:label is="text-link"> element equivalent to <html:a>).

The blurring condition in events-frame.coffee was introduced in e881629
for about:config, but that does not work any more and is also annoying
on :prefs (and was again an indirect test for what was actually wanted).

In commands-frame.coffee's commands.follow(), two of the three uses of
isXULDocument have been replaced by the proper isXULElement, the third
one is likely to be correct (as there isn't a <body> on xul-<window>s).

This leaves us with 1 remaining unclean use, in commands-frame.coffee's
helper_follow(). It is used to catch all the xul elements that have html
equivalents with different tag names. Replacing that with something
proper will not be attempted in this change, as it would probably
require changing its callers to pass in different arguments when ran in
the XUL namespace.

11 months agoundo useless hint exclusion
girst [Sun, 1 Dec 2019 17:51:05 +0000 (18:51 +0100)]
undo useless hint exclusion

this was originally introduced to "remove unnecessary hints markers in
the addon manager"(@94f5252), but about:addons has since been rewritten
and this actually breaks the search box on about:preferences and
about:addons, as well as on the old xul-about:config.

11 months agomore release script work
girst [Sun, 1 Dec 2019 17:50:42 +0000 (18:50 +0100)]
more release script work

 * push to correct remote from release script
 * when aborting a push, also delete the tag, or it'll fail the next
   time round

11 months agoVimFx v0.23.0 v0.23.0
girst [Sun, 1 Dec 2019 15:48:06 +0000 (16:48 +0100)]
VimFx v0.23.0

12 months agoRequire Firefox 68 and Update Documentation
girst [Wed, 27 Nov 2019 21:10:58 +0000 (22:10 +0100)]
Require Firefox 68 and Update Documentation

since the removal of the XBL-aware getAllElements() code path, this
extension is less useful on .xul pages (i.e. some about: pages) in older
Firefoxen. Users of older versions of Firefox (or derivatives) should
stay on v0.22.2. While nobody is stopping you from downgrading or
ignoring the min-version requirement, you don't gain any new
functionality and might have a degraded experience with v0.23.x.

12 months agofix lint error for overlong line
girst [Thu, 21 Nov 2019 16:07:27 +0000 (17:07 +0100)]
fix lint error for overlong line

12 months agoremove getAnonymousNodes() code path from getAllElements()
girst [Thu, 21 Nov 2019 15:47:49 +0000 (16:47 +0100)]
remove getAnonymousNodes() code path from getAllElements()

in fx68 and newer, there are no in-content bindings (i.e. those in .xul
about:-pages) left, and hardly any that are reachable via VimFx hints.
The only element with anonymous nodes that was reachable that way is the
(non-megabar) URL bar, which is better focused using 'o'.

The other now removed function, getBindingParent(), will have to stay;
otherwise custom elements (e.g. on bugs.chromium.org or the <xul:tree>
element on XUL-about:config) won't be properly clickable through hints.

12 months agogetAnonymousNodes() and getBindingParent() removed from fx72
girst [Thu, 21 Nov 2019 13:10:44 +0000 (14:10 +0100)]
getAnonymousNodes() and getBindingParent() removed from fx72

see also: https://bugzil.la/1596800

the whole XULDocument code path in
markable-elements.coffee::getAllElements() is now obsolete, since
getAnonymousNodes() no longer exists, and before that, returned nothing
of importance, since most XBL bindings have been removed before Firefox
68. Removal of the code path will follow in a follow up to ease a
possible revert, since a very small amount of hints might get lost in
68esr without it (the only concrete example I've found is the urlbar in
'eb' mode, which can also be reached with 'o').

12 months agonew release script
girst [Sat, 16 Nov 2019 12:35:55 +0000 (13:35 +0100)]
new release script

inspired by
https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-the-key-to-gradual-automation/
and https://drewdevault.com/2019/10/12/how-to-fuck-up-releases.html

care has been taken to make it posix compliant. however, it does by
default depend on my fairly unusual setup to be present, which can
however be easily overridden (see script for details).

12 months agogulp: make lint failures fatal
girst [Sat, 16 Nov 2019 12:00:34 +0000 (13:00 +0100)]
gulp: make lint failures fatal

required for upcoming release automation

12 months agofix 'eb' for nightly72
girst [Sat, 16 Nov 2019 11:40:18 +0000 (12:40 +0100)]
fix 'eb' for nightly72

browser.xhtml now uses a <html> (was a <xul:window>) element as its
root. since the ID we anchored to was assigned to <html>, we added the
hints as a sibling to the body instead of below it.

regressed by Bug 1492582

12 months agofix hints on about:preferences (nightly72)
girst [Sat, 16 Nov 2019 11:35:27 +0000 (12:35 +0100)]
fix hints on about:preferences (nightly72)

getClientRects() was undefined when called on <menulist id=defaultFont>.
might have been caused by 1588142 (switching from xul:window to html
root).

13 months agoVimFx v0.22.0 v0.22.2
girst [Sat, 19 Oct 2019 17:38:31 +0000 (19:38 +0200)]
VimFx v0.22.0

13 months agofix 'eb' for fx71
girst [Sat, 19 Oct 2019 17:33:08 +0000 (19:33 +0200)]
fix 'eb' for fx71

browser.xhtml was restructured between firefox 69 and 71, and hints were
not displaying any more (they still worked, adding to the confusion). It
turns out that moving the hints-containert before #navigator-toolbox is
sufficient. But insertBefore()ing that element breaks Waterfox 56, as
this element does not exist there (which is a bit strange, as the docs
say, insertBefore should degrade gracefully to appendChild in such a
case). However, we can just insert it as the first element below
the #main-window element, which works a treat.

14 months agoVimFx v0.22.1
girst [Sat, 28 Sep 2019 12:31:57 +0000 (14:31 +0200)]
VimFx v0.22.1

14 months agoDocument config file sandboxing issues and workarounds on Fx57+
girst [Thu, 26 Sep 2019 20:03:26 +0000 (22:03 +0200)]
Document config file sandboxing issues and workarounds on Fx57+

Further discussion in bug #939.

14 months agoVimFx v0.22.0 v0.22.0
girst [Sun, 22 Sep 2019 16:41:24 +0000 (18:41 +0200)]
VimFx v0.22.0

15 months agoexperimental custom-element support
girst [Sat, 24 Aug 2019 00:55:41 +0000 (02:55 +0200)]
experimental custom-element support

Web Components / HTML5 Custom Elements were previously inaccessible to
VimFx. Examples of heavy users of this technology is about:logins
(Firefox 70) and bugs.chromium.org. Elements within the shadow DOM were
unable to be selected with hints mode.

VimFx' non-XUL DOM traversal routine was extended to not only search the
(regular) DOM, but also check each element if it contains an open shadow
DOM, and traverse it too. Interestingly, getElementsByTagName is not
defined by the DocumentOrShadowRoot class, only querySelectorAll.

Further, it appears that the native C++ function VimFx uses to send key
events to clickable elements is unable to be used inside the shadow DOM,
resulting in the error message below.
    NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIDOMWindowUtils.dispatchDOMEventViaPresShell] utils.js:291

NOTE: This regression has made it obvious that VimFx uses isXULDocument
to make assumptions about the document it is looking at that no longer
hold when WebComponents are involved. More might be unearthed in the
future.

NOTE: the URL for an entry in about:logins is not clickable, as it is a
read-only text input with an onclick handler, instead of a link. That
edge case is not handled by utils.isTypingElement().

15 months agoFix visual mode in Firefox 70 v0.21.3
girst [Mon, 26 Aug 2019 14:31:52 +0000 (16:31 +0200)]
Fix visual mode in Firefox 70

regressed by: https://bugzilla.mozilla.org/show_bug.cgi?id=1568585 /
 https://mail.mozilla.org/pipermail/firefox-dev/2019-July/007138.html
see also: https://hg.mozilla.org/comm-central/rev/a0625e9b6c59

15 months agowaterfox 56 fix
girst [Mon, 26 Aug 2019 14:30:56 +0000 (16:30 +0200)]
waterfox 56 fix

15 months agofix hints mode on about:addons and about:preferences in nightly 70
girst [Tue, 20 Aug 2019 17:38:10 +0000 (19:38 +0200)]
fix hints mode on about:addons and about:preferences in nightly 70

In Bug 1550801, all XUL documents were loaded as HTMLDocuments, which
caused the isXULDocument test to fail. The new test is modeled after a
snippet from devtools/.

This change caused hints mode to break in about:preferences and
about:addons, since (some of?) the de-XBL'd custom elements' <label>s
return the id (as string) when reading theLabelElement.control on a
label instead of an HTMLElement. VimFx passes this value to a function
that assumes the value has a .getClientRects() method.

Only these two pages were affected, since these are the only in-content
pages (other than about:downloads) in Firefox 70 that still have a .xul
document at the root.

15 months agoVimFx v0.21.2 v0.21.2
girst [Thu, 15 Aug 2019 10:09:51 +0000 (12:09 +0200)]
VimFx v0.21.2

15 months agoTaking over maintainership
girst [Thu, 15 Aug 2019 10:07:01 +0000 (12:07 +0200)]
Taking over maintainership

There's a new maintainer in town. While new features won't be developed,
VimFx will continue to work on Firefox Quantum and its derivatives for
the forseeable future.

15 months agoDeduplicate new settings code and final css tweaks
girst [Tue, 6 Aug 2019 09:11:03 +0000 (11:11 +0200)]
Deduplicate new settings code and final css tweaks

15 months agoPort settings page to a modern format
girst [Mon, 5 Aug 2019 01:25:43 +0000 (03:25 +0200)]
Port settings page to a modern format

Inline-settings have been dropped in http://bugzil.la/1414406. At the
same time, the <setting> XBL binding has been removed. Here, we recreate
the settings page using (X)HTML opening in a new tab.
The XBL converter (bgrins/xbl-analysis@564f6e402a) was helpful in
reconstructing the <setting> element and the new aboutconfig.js has a
good observer example at the end (-> central@4d5f1517ef85).

15 months agoprevent statusbar update from breaking waterfox56
girst [Sun, 4 Aug 2019 11:27:50 +0000 (13:27 +0200)]
prevent statusbar update from breaking waterfox56

15 months agofix blurring of URL bar in fx70a
girst [Sat, 3 Aug 2019 20:02:46 +0000 (22:02 +0200)]
fix blurring of URL bar in fx70a

Mozilla removed the shim for the old way of closing the autocomplete
popup in 1d51ec584c56cad54f09be093783ef843b1fc284; the new way was
introduced with c324bd6eb4bf102541d3eb1b751ee2f7a408fff4 (fx64a),
meaning we need to try both to support waterfox 56 as well.

see also: https://bugzil.la/1528605

15 months agoVimFx v0.21.1 v0.21.1
Simon Lydell [Sat, 3 Aug 2019 18:02:40 +0000 (20:02 +0200)]
VimFx v0.21.1

15 months agoFix lint errors
Simon Lydell [Sat, 3 Aug 2019 18:02:15 +0000 (20:02 +0200)]
Fix lint errors

15 months agoMerge pull request #937 from girst/master
Simon Lydell [Sat, 3 Aug 2019 17:55:31 +0000 (19:55 +0200)]
Merge pull request #937 from girst/master

Fix for hints mode in Firefox 69 and squashing TypeErrors and Deprecation Warnings

15 months agofix hints mode and help popups
girst [Thu, 1 Aug 2019 09:42:02 +0000 (11:42 +0200)]
fix hints mode and help popups

entering any of these modes adds an overlay above the <browser> element.
In mozilla69 the style property 'display: -moz-box' was removed from '*'
in minimal-xul.css. When the overlay was displayed without this
property, the <browser> would be resized to 25x25px to make room for the
overlay instead of displaying them on top of each other.

keep an eye on http://bugzil.la/939428

15 months agoreplace custom status panel with default one
girst [Thu, 1 Aug 2019 09:06:27 +0000 (11:06 +0200)]
replace custom status panel with default one

In Mozilla's efforts to get rid of XBL[1] they changed the way the
status panel works. Up to Firefox 68, the changes meant that the panel
just didn't show up, but with Firefox 69 and onwards, it broke the
display of the browser. This change replaces the custom (secondary)
status bar and uses the main one for displaying infos and errors.
See also: bug[2] and changeset[3] of the removal of <statusbar>

[1]: http://arewexblstill.com/
[2]: https://bugzilla.mozilla.org/show_bug.cgi?id=1444891
[3]: https://hg.mozilla.org/mozilla-central/rev/18bbbdc02213

16 months agoFix TypeError when uninstalling VimFx
girst [Wed, 31 Jul 2019 10:56:20 +0000 (12:56 +0200)]
Fix TypeError when uninstalling VimFx

16 months agoFix TypeError when hitting ESC
girst [Wed, 31 Jul 2019 10:52:55 +0000 (12:52 +0200)]
Fix TypeError when hitting ESC

When hitting esc a TypeError was shown in the browser console
(Ctrl-Shift-J), except when an element is fullscreened. The location of
the error (i.e. commands-frame.js:621) is only shown on special pages
(like about:* or chrome://), making the problem harder to locate.
see also: functionality introduced in commit ab17744
> TypeError: The expression cannot be converted to return the specified type. commands-frame.js:621

16 months agoRemove dependency on non-standard Array.some() and Array.filter()
girst [Wed, 31 Jul 2019 10:51:44 +0000 (12:51 +0200)]
Remove dependency on non-standard Array.some() and Array.filter()

Also replaces the deprecated DOMQuad.bounds.

Firefox 70 will remove[1] non-standard Array generics[2][3]. These were
identified using the following shell pipeline:
  cd VimFx/extension
  grep -rn 'Array\.' | grep -v '\.isArray\|\.of\|\.from\|\.prototype'

[1]: https://bugzilla.mozilla.org/show_bug.cgi?id=1558914
[2]: https://www.fxsitecompat.dev/en-CA/docs/2019/non-standard-array-generics-have-been-deprecated/
[3]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#Array_generic_methods

16 months agoMerge pull request #936 from strel/master
Simon Lydell [Mon, 1 Jul 2019 11:16:22 +0000 (13:16 +0200)]
Merge pull request #936 from strel/master

es locale update from en-US locale

16 months agoes locale update
strel [Mon, 1 Jul 2019 10:51:34 +0000 (12:51 +0200)]
es locale update

18 months agoVimFx v0.21.0 v0.21.0
Simon Lydell [Wed, 15 May 2019 05:46:45 +0000 (07:46 +0200)]
VimFx v0.21.0

18 months agoCompatibility for Waterfox 68, Firefox <= 64 (cleanup) (#935)
Simon Lydell [Wed, 15 May 2019 05:12:45 +0000 (07:12 +0200)]
Compatibility for Waterfox 68, Firefox <= 64 (cleanup) (#935)

 Compatibility for Waterfox 68, Firefox <= 64 (cleanup)

18 months agoCleanups
Simon Lydell [Mon, 13 May 2019 06:32:28 +0000 (08:32 +0200)]
Cleanups

18 months agonew version (0.21.0)
girst [Sun, 12 May 2019 13:32:18 +0000 (15:32 +0200)]
new version (0.21.0)

18 months agoMerge remote-tracking branch 'upstream/master'
girst [Sun, 12 May 2019 13:25:02 +0000 (15:25 +0200)]
Merge remote-tracking branch 'upstream/master'

18 months agofix hintsmode clicking in ff56, squash some exceptions
girst [Sun, 12 May 2019 13:15:30 +0000 (15:15 +0200)]
fix hintsmode clicking in ff56, squash some exceptions

Some uses of the deprecated Array.func() syntax are, despite the browser
console telling us, not replacable by Array.prototype.func(). Also
silenced some exceptions that are expected.

18 months agoexplicitly import Services
girst [Sun, 12 May 2019 12:47:01 +0000 (14:47 +0200)]
explicitly import Services

This isn't loaded by default in Waterfox 68.0a1. Loading it in Firefox
56/64 does not interfere with anything.

18 months agoremove further remnants of devtools-integration
girst [Sun, 12 May 2019 12:40:21 +0000 (14:40 +0200)]
remove further remnants of devtools-integration

continued from 183cd23c3b65fb27873663c7e3cb97ef02f791b5
see also: http://bugzil.la/1461970

18 months agopartial fix for `eb'
girst [Sun, 12 May 2019 12:35:27 +0000 (14:35 +0200)]
partial fix for `eb'

the vbox#browser-panel element was removed and its children
(#navigator-toolbox, #content-deck, ...) are now direct descendants of
the <window> element.

This fix allows selecting and clicking on an item in the toolbar, but
any drop down menus that then appear aren't clickable.

23 months agoRemove links to VimFx on AMO
Simon Lydell [Fri, 30 Nov 2018 14:05:25 +0000 (15:05 +0100)]
Remove links to VimFx on AMO

Mozilla has removed all legacy addons, making the link a 404.

Fixes #931.

Unfortunately I don’t have access to remove it from the repo description
as well.

2 years agoCommands Follow link(s) in a new tab now work.
matsuhav [Mon, 1 Oct 2018 00:48:52 +0000 (09:48 +0900)]
Commands Follow link(s) in a new tab now work.

2 years agogetInterface(Ci.nsIDOMWindowUtils) doesn't work.
matsuhav [Mon, 1 Oct 2018 00:46:12 +0000 (09:46 +0900)]
getInterface(Ci.nsIDOMWindowUtils) doesn't work.

2 years agoSince developer tool bar was removed, this prevented Esc from working at
matsuhav [Mon, 1 Oct 2018 00:42:48 +0000 (09:42 +0900)]
Since developer tool bar was removed, this prevented Esc from working at
help dialog screen.

2 years agoMerge remote-tracking branch 'upstream/master'
matsuhav [Mon, 1 Oct 2018 00:08:23 +0000 (09:08 +0900)]
Merge remote-tracking branch 'upstream/master'

2 years agoAdd content variable back to frame scope. (#929)
Kevin Cox [Fri, 21 Sep 2018 20:14:10 +0000 (21:14 +0100)]
Add content variable back to frame scope. (#929)

This used to exist but was removed in recent versions of firefox. This
adds it back.

2 years agoVimFx v0.20.15 v0.20.15
Simon Lydell [Mon, 6 Aug 2018 05:40:44 +0000 (07:40 +0200)]
VimFx v0.20.15

2 years agoFix lint error
Simon Lydell [Mon, 6 Aug 2018 05:39:35 +0000 (07:39 +0200)]
Fix lint error

2 years agoutils getFindBar() returns a promise (#926)
matsuhav [Sun, 5 Aug 2018 15:11:54 +0000 (00:11 +0900)]
utils getFindBar() returns a promise (#926)

2 years agoutils getFindBar() returns a promise
matsuhav [Tue, 31 Jul 2018 14:09:12 +0000 (23:09 +0900)]
utils getFindBar() returns a promise

2 years agoVimFx v0.20.14 v0.20.14
Simon Lydell [Tue, 15 May 2018 20:05:46 +0000 (22:05 +0200)]
VimFx v0.20.14

2 years agoFix lint errors
Simon Lydell [Wed, 9 May 2018 16:51:51 +0000 (18:51 +0200)]
Fix lint errors

2 years agoUse require instead of Cu.import for devtools (#924)
Kevin Cox [Tue, 15 May 2018 20:02:21 +0000 (21:02 +0100)]
Use require instead of Cu.import for devtools (#924)

2 years agoFix findBar and DeveloperToolbar. (#920)
Kevin Cox [Wed, 9 May 2018 09:03:27 +0000 (10:03 +0100)]
Fix findBar and DeveloperToolbar. (#920)

getFindBar() was changed to return a promise: https://bugzil.la/1358815

window.DeveloperToolbar was removed: https://bugzil.la/1382661

2 years agoExport isXULDocument from utils and fix Ci.nsIDOMElement gone (#919)
依云 [Wed, 9 May 2018 05:47:05 +0000 (13:47 +0800)]
Export isXULDocument from utils and fix Ci.nsIDOMElement gone (#919)

bmo bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1455674
solution inpired by: https://bug1455674.bmoattachments.org/attachment.cgi?id=8971133

Imprint / Impressum