aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2015-01-22Visual/edit modes: further development.Stephen Blott
- Better abstraction. - Add HUD message on yank. - Require initial selection for visual mode. - Try to start with a visible selection. - Scroll the active end of the selection into view (with smooth scrolling, if enabled).
2015-01-21Edit mode: first working visual mode.Stephen Blott
2015-01-20Add contentEditable as criterion for isSelectable.Stephen Blott
This allows us to select contentEditable elements in the same way as we can select other inputs. Fixes #1437.
2015-01-20Rework DOM tests (integrate keyboard-event handling).Stephen Blott
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.
2015-01-20Rework DOM tests.Stephen Blott
- 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.
2015-01-20Minor refactoring of isSelected().Stephen Blott
There's no point in focusing element if it's already active. Also, we leave the caret in place, not just a range selection. isSelected makes the wrong decision if the user has placed the caret at the start of element. We cannot distinguish that case from the user having made no selection. Nevertheless, this is substantially better than the existing UX, which *always* moves the caret to the end.
2015-01-18Move isSelected test to before possible blur/click.Stephen Blott
2015-01-18Merge branch 'master' into fix-simulate-selectStephen Blott
2015-01-18Do not change selection if selection exists.Stephen Blott
Fixes #1430.
2015-01-18Modes; fix simulateSelect for PostFindMode.Stephen Blott
2015-01-18Merge pull request #1413 from smblott-github/modesStephen Blott
A modal-browsing framework
2015-01-18Modes; pre-merge clean up.Stephen Blott
2015-01-16Modes; clean up.Stephen Blott
2015-01-12Fix race condition on the options page (better).Stephen Blott
Uses document.readyState for all onDOMContentLoaded dependent functions. This should fix the same race condition as #1426 for all cases.
2015-01-12Fix race condition on the options page.Stephen Blott
Fixes #1426.
2015-01-11Modes; yet more tweaks, yet more tests.Stephen Blott
2015-01-11Modes; rework debugging support.Stephen Blott
2015-01-11Modes; add DOM tests.Stephen Blott
2015-01-11Modes; add DOM tests.Stephen Blott
2015-01-10Modes; better printable detection, move to keyboard_utils.Stephen Blott
2015-01-10Modes; reinstate key blockers:Stephen Blott
- when the selection is contentEditable - in PostFindMode Restricted to printable characters.
2015-01-10Modes; instrument for debugging...Stephen Blott
- Set Mode.debug to true to see mode activation/deactivation on the console. - Use Mode.log() to see a list of currently-active modes. - Use handlerStack.debugOn() to enable debugging of the handler stack.
2015-01-10Modes; more changes...Stephen Blott
- Better comments. - Strip unnecessary handlers for leaving post-find mode. - Simplify passKeys. - focusInput now re-bubbles its triggering keydown event.
2015-01-08Modes; incorporate small changes from #1413.Stephen Blott
Slightly more significant: Move several utilities to dome_utils.
2015-01-08Modes; more changes...Stephen Blott
- Simplify InsertMode Trigger/Blocker (yet again). - Reduce badge flicker for singletons.
2015-01-08Modes; refactor PostFindMode key handling.Stephen Blott
In particular, this refactors the handling of non-vimium key events in PostFindMode. This implements option 2 from #1415. However, #1415 is not resolved, and option 3 remains a viable option.
2015-01-07Modes; Continue incorporation of comments in #1413.Stephen Blott
- Slight rework of HandlerStack. - Remove classs ExitOnEscape and ExitOnBlur - Rework InsertMode, plus trigger and blocker. - Remove StateMode. - Do no mixin options. - Lots of tidy up (including set a debug variable to Mode).
2015-01-07Modes; rework Singletons, InsertModeBlocker and HandlerStack.Stephen Blott
This begins work on addressing @philc's comments in #1413. That work is nevertheless not yet complete.
2015-01-06Modes; when exiting on Escape, also grab keyup event.Stephen Blott
Also fix post insert.
2015-01-05Modes; revise InsertMode as two classes.Stephen Blott
2015-01-04Modes; comment tweeks.Stephen Blott
2015-01-04Revise handler stack implementation.Stephen Blott
The old implementation: - Wasn't actually checking whether handlers had been removed before calling them. - Could end up calling the same handler twice (if a handler was removed further down the stack, and the stack elements moved due the resulting splice. Solution: - Mark elements as removed and check. Set their ids to null. - Don't splice stack. Also, optimisation: - Removing the element at the top of the stack is still O(1). - In Modes, reverse handlers before removing (so, more likely to hit the optimisation above). For the record, the stable stack length at the moment seems to be about 10-12 elements.
2015-01-04Modes; various improvements.Stephen Blott
- Add StateMode. - PasskeysMode is a StateMode. - BadgeUpdateMode is a StateMode. - Improve badge handling. - Add push method to Mode. - Document how modes work. - Cache badge on background page to reduce the number of updates. - Remove badge restriction on document.body?.tagName.toLowerCase() == "frameset". - Add ExitOnEscape mode, use it for ConstrainedMode and FindMode. - Move PostFindMode to its own file.
2015-01-03Modes; more renaming and refactoring.Stephen Blott
2015-01-03Modes; better constant naming.Stephen Blott
2015-01-02Modes; incorporate find mode.Stephen Blott
2015-01-02Modes; fix insert mode.Stephen Blott
2015-01-02Modes; rework badge handling and fix passkeys mode.Stephen Blott
2015-01-02Modes; better name for handlerStack.passDirectlyToPage.Stephen Blott
2015-01-01Modes; implement insert mode.Stephen Blott
2015-01-01Modes; minor changes.Stephen Blott
2015-01-01Modes; incorporate three test modes.Stephen Blott
As a proof of concept, this incorporates normal mode, passkeys mode and insert mode.
2014-12-31Modes proof-of-concept.Stephen Blott
2014-12-30Merge branch 'smblott-link-hints-overlap' into post-1.46Stephen Blott
2014-12-30Merge branch 'master' into post-1.46Stephen Blott
2014-12-30Merge branch 'passkeys---union-of-rules' of ↵Stephen Blott
https://github.com/smblott-github/vimium into smblott-github-passkeys---union-of-rules
2014-12-30Exclusions; use querySelector to find sub-elements.Stephen Blott
As @philc pointed out in #1366, this is less brittle.
2014-12-29Merge pull request #1384 from ↵Stephen Blott
smblott-github/fix-search-custom-search-engine-support Uniform treatment of search queries
2014-12-28Consistent treatment of search terms; update comment..Stephen Blott
2014-12-28Consistent treatment of search terms.Stephen Blott