aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2017-12-16Do not open tab for target "_blank".Stephen Blott
Fixes #2860. That issue reports that, when the target is "_blank", Firefox/Vimium ends up opening two tabs.
2017-11-29event.code is not always defined.Stephen Blott
While looking into #2841, I observed that we are seeing keyboard events for which neither `event.key` not `event.code` is defined. They might be being generated by the page.
2017-11-25Merge pull request #2601 from mrmr1993/ff-copy-pasteStephen Blott
Enable Firefox clipboard commands
2017-11-24FF: Use a contenteditable <div> for Clipboard.pastemrmr1993
This adds support for pasting rich text from the clipboard
2017-11-18FF: Add contentEditable to clipboard operation textboxesmrmr1993
2017-11-14Don't suppress default action for non-printing keys in link hintsmrmr1993
This restores the old behaviour prior to c4cc76e9f6a0a99ebc297e420be739a0fc77f827 (PR #2772).
2017-11-11Don't resolve modifiers as keysmrmr1993
2017-11-09Suppress propagation for keyup events when we have for keydown eventsmrmr1993
2017-11-05Rationalise the order of these tests.Stephen Blott
The tests make more sense in this order.
2017-11-05Add more named keys (version 2)Stephen Blott
This allows any special key to mapped, simply by using the `event.key` key name. E.g. map <enter> scrollDown Replaces #2770. Fixes #2769.
2017-11-02Replace all references to selection.type with our FF polyfillmrmr1993
Credit to @gdh1995 for catching these oversights.
2017-11-01Rename Rect.rectOverlaps to Rect.intersectsStrict, clarify the commentmrmr1993
2017-11-01Rename Rect.contains to Rect.intersects, add an explanitory commentmrmr1993
2017-11-01Refine definition of Rects.rectsOverlapmrmr1993
2017-10-29Suppress all keyup events automatically if we consume the keydownmrmr1993
2017-10-29Merge pull request #2748 from mrmr1993/frontend-splitStephen Blott
Move normal mode and its commands out of vimium_frontend.coffee
2017-10-28Remove invokeCommandString, call NormalModeCommands directlymrmr1993
2017-10-28Add backup/restore for Vimium options.Stephen Blott
See the *very* bottom of the options page (below advanced settings). Clicking "Backup" creates a JSON file. Selecting a backup populates the options inputs, the user then clicks *Save Changes* to confirm.
2017-10-25FF: Share |root| global proxy, re-add the globals to window on DOMLoadmrmr1993
This is a workaround for Firefox bug 1408996.
2017-10-14Allow <c-[> to be mapped as a regular command.Stephen Blott
If map <c-[> someCommand is configured, then the hardwired `<c-[>` meaning `Escape` behaviour is disabled. Users who want to map `<c-[>` probably *never* use it as `Escape`. Fixes #2722.
2017-09-30Merge pull request #2683 from mrmr1993/inject-css-for-framesStephen Blott
Inject user css into all frames
2017-09-30Merge pull request #2682 from mrmr1993/ff-setOpenerStephen Blott
Use openerTabId in chrome.tabs.create when possible
2017-09-29Manually inject custom user CSS into our own frames/pagesmrmr1993
2017-09-29Use openerTabId in chrome.tabs.create when possiblemrmr1993
2017-09-29Simulate default click action for <a target="_blank">smrmr1993
2017-09-21Move simulating click default action to DomUtils, add shift handlingmrmr1993
2017-09-18Recognise (FF) internal URLs.Stephen Blott
Recognise URLs like: - moz-extension://c66906b4-3785-4a60-97bc-094a6366017e/pages/options.html Fixes #2657.
2017-09-14FF: Tweak getViewportTopLeft to use borderTop/Left for clientTop/Leftmrmr1993
2017-09-14Always use getBoundingClientRect for getViewportTopLeftmrmr1993
2017-09-14Revert #2636.Stephen Blott
Mention @mrmr1993. Mention @gdh1995. We have zoom issues resulting from: - style - zoom - --force-device-scale-factor=1.5 - HiDPI This intended to fix HiDPI, but seems to have created problems in the some of the other cases. I don't have time to figure out the problem right now, so I'm going to revert this and push it as 1.60.2. That leaves us pretty much where we were before, I think, in terms of zoom. We can come back to it later.
2017-09-12FF: Don't use devicePixelRatio fix for HiDPI link hintsmrmr1993
2017-09-12Use browser.runtime.getBrowserInfo to identify Firefoxmrmr1993
2017-09-12Add Utils.isFirefoxmrmr1993
This also stops the content scripts from being injected into each frame on reload (in Firefox only). They do not successfully connect to the background page, and it causes considerable lag, so we lose nothing by doing this.
2017-09-12Consider devicePixelRatio when calculating viewportmrmr1993
This should fix #2635, fix #2633 and fix #2620.
2017-09-07Merge pull request #2626 from smblott-github/ignore-keyboard-layoutStephen Blott
Ignore keyboard layout
2017-09-07Use stubs from window.top for tests.Stephen Blott
(Similar to idea suggested by @mrmr1993.) This way: - we do not have to replicate the stub code, and - we have minimal impact on the live implementation.
2017-09-06Merge pull request #2605 from mrmr1993/isTrusted-eventsStephen Blott
Check whether events are trusted before executing listeners
2017-09-04Fix tests for #2626.Stephen Blott
This fixes the tests for #2626. Note: This may not be th best approach. The problem is that, for the first time, we're using `Settings` (and hence `chrome.storage`) within the Vomnibar and HUD iframes, and our `chrome` stubs are not injected into those frames. Mention @mrmr1993. Matt: Do you know of a better approach? Can we inject the stubs programmatically in the tests? An alternative approach would be appreciated.
2017-09-02Fix special keys (e.g. <Shift-Left>).Stephen Blott
2017-09-01Use event.key for numpad.Stephen Blott
See this comment: https://github.com/philc/vimium/pull/2626#issuecomment-326553282.
2017-09-01Handle shifted numeric keys.Stephen Blott
2017-09-01Translate event.code key representations to the corresponding event.key format.Stephen Blott
2017-09-01Implement ignoreKeyboardLayout option in getKeyChar.Stephen Blott
Fixes #2618.
2017-08-31Add ignoreKeyboardLayout option (under advanced).Stephen Blott
2017-08-31Update URLs to HTTPS in code, pages and docsDavid Beitey
Updating URLs to use HTTPS provides greater privacy and reduces the potential of having content modified whilst in transit (as it happening more and more by ISPs, networks, state actors etc). These URLs themselves have been tested and confirmed to work over HTTPS.
2017-08-18Check whether events are trusted before executing listenersmrmr1993
2017-05-01FF - Fix updates from the exclusions popupmrmr1993
This stops |Exclusions| from holding a reference to the |value| parameter passed to |Settings.set|. In Firefox, this object is garbage collected when the owning context (the exclusions popup) is closed. The fix for all such cases in the future is to switch to using |Settings.get|, which implicitly does |JSON.parse JSON.stringify value| and thus returns an object in the same context as |Settings|. We could fix this generally by doing this for the |Settings.performPostUpdateHook| call in |Settings.set| instead. However, I'm not convinced that it warrants the overhead of a |JSON.parse| for every |Settings.set| call.
2017-04-22Firefox: Polyfill for selection.type for visual mode.Stephen Blott
@mrmr1993... This puts the logic of how we choose the selection type in one place; so, if you have a better idea of how to determine the selection type, then we just change it here. Once.
2017-04-22Refactor getSelectionType() to DOM utils.Stephen Blott
This is a no-op. It is preparatory to implementing a suitable polyfill for `selection.type` for Firefox.
2017-04-21Firefox: Fix waitForEnterForFilteredHints.Stephen Blott
This is the filtered-hints feature whereby links aren't activiated until the user hits `Enter`. There was a race condition caused by forcing this setting to true for new users *before* the correct storage area was determined in `Settings.init()`. Mention @mrmr1993.