| 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 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.
|
|
|
|
|
|
Conflicts:
content_scripts/vimium_frontend.coffee
manifest.json
|
|
- Simplify component API.
- Iframe flashes on re-focus.
- Probably some other stuff which I've forgotten.
|
|
|
|
|
|
Some websites (notably Facebook) use `opacity: none;` to show an image in
the place of a less-customisable element (eg. an `<input type="file" />`).
To not show link hints for such transparent elements is confusing and
often the wrong thing to do.
|
|
mrmr1993-disable-on-disable
|
|
into smblott-github-vomnibarToPage
Conflicts:
background_scripts/main.coffee
content_scripts/vimium.css
content_scripts/vomnibar.coffee
lib/utils.coffee
|
|
|
|
* The `window` object receives key events before the `document` object,
and so any event listeners on `window` get priority. This commit
switches from binding `keydown`, `keypress`, `keyup` on `document` to
on `window`.
* We were using `event.stopPropagation()` to prevent other event
listeners from firing if we had handled an event. This stopped the event
from propagating to other elements/objects and triggering their event
listeners, but didn't block event listeners registered on the same
object as ours. Switching to `event.stopImmediatePropagation()` ensures
that our event listener is the last to run for the event.
Fixing these issues allows Vimium to regain control over key events in
Google Groups (eg. the [vimium-dev
group](https://groups.google.com/forum/vimium-dev)).
|
|
|
|
|
|
|
|
Fix build and test tasks on Windows
|
|
|
|
Link types are case-insensitive:
http://www.w3.org/TR/html5/links.html#linkTypes
This should fix #1115.
|