| Age | Commit message (Collapse) | Author | 
 | 
https://github.com/mrmr1993/vimium into mrmr1993-exclusion-rules-pushState-and-hash
Conflicts:
	content_scripts/vimium_frontend.coffee
 | 
 | 
The event listeners were registered late, potentially allowing the page
to get priority over us for key events, etc., when:
* the original URL was disabled by an exclusion rule
* the URL was changed
  - without a page load (by history.pushState or modifying
    location.hash), and
  - the new URL isn't (completely) disabled by any exclusion rules.
This forces the event listeners to be registered even when the
current URL is disabled, to avoid this problem.
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
This logic should never have been in settings.coffee.  This moves it to completion.coffee, where it belongs.
 | 
 | 
 | 
 | 
This is @mrmr1993's work from #1041.
Reload content scripts when vimium is installed or updates.
(@mrmr1993:  The automatic merge was really messy (or, at least, I
couldn't figure out what was going on).  Since the bulk of #1041 was
actually quite compact, I took the liberty of just copying it in.  Hope
you don't mind.)
 | 
 | 
 | 
 | 
See #1495.
 | 
 | 
 | 
 | 
- add new option "GrabBackFocus"
- use chrome.storage.sync.get() to get option value
- avoid race conditions on load
- fix tests
 | 
 | 
When we exit visual mode with "y"...
"y" is a command for visual mode.  Currently it clears the selection.
Because it's executed as a command, scrollIntoView is called after
running the command.  Because the selection is cleared, scrollIntoView
found nothing to scroll, and was creating an error.
So we need to check whether there's anything to scroll into view, before
trying to scroll it.
Also fix mis-named file in the tests.
 | 
 | 
 | 
 | 
focusInput was getting its focus events from the handler stack.  When
the handler stack was reset during tests, we lost focusInput's handler.
So we couldn't test the feature whereby focusInput has a memory (#1438).
Instead, here focusInput adds its listener directly to the window, and
we add the approriate test.
 | 
 | 
 | 
 | 
 | 
 | 
This uses phantomjs to generate keyboard events.  So the events are
propagated through the regular event listeners.  So we're testing the
full keyboard-event flow.
 | 
 | 
- Set up modes such that they can be re-initialised.
- Move initialisation of BadgeMode to general initialisation function.
- Add reset() method for handlerStack.
- Consistently use  initializeModeState() in all tests' setup().
- Refactor focusInput tests.
- Add some more tests.
- Simplify some other tests.
Note: Clean-up of the inputFocus overlay now happens when the exit()
method is called in Mode.reset().  This eliminates most needs to
artificially bubble a keyboard event to clear the overlay.
 | 
 | 
 | 
 | 
 | 
 | 
Nicer syntax.
And we don't need those braces.
 | 
 | 
 | 
 | 
- Mainly comments.
- Rename chooseBadge to updateBadge (for consistency).
- No badge for passkeys; also fix tests.
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
As a proof of concept, this incorporates normal mode, passkeys mode and
insert mode.
 | 
 | 
https://github.com/smblott-github/vimium into smblott-github-search-engine-descriptions
 | 
 | 
 | 
 | 
 | 
 | 
https://github.com/smblott-github/vimium into smblott-github-passkeys---union-of-rules
 | 
 | 
 | 
 | 
Conflicts:
	content_scripts/vimium_frontend.coffee
	manifest.json
 | 
 | 
 | 
 | 
- Simplify component API.
- Iframe flashes on re-focus.
- Probably some other stuff which I've forgotten.
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 |