aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2015-05-31Rewrite settings as a tight wrapper around Settings, tweaks for testsmrmr1993
2015-05-31Add event listeners to settings, support load eventsmrmr1993
2015-05-31Add Settings.isLoaded to the unified settings implementationmrmr1993
2015-05-31Merge pull request #1697 from smblott-github/vomnibar-map-with-prepopulated-textStephen Blott
Direct keyboard access to custom-search engines via keyword flag
2015-05-29Verify keyword for custom search-engine activation.Stephen Blott
For ... map s Vomnibar.activate keyword=g ... we verify that "g" is indeed a custom search-engine keyword before setting it. If it is not, we output a console.log message and launch a vanilla vomnibar. (An alternative would be to bail.)
2015-05-29Move search-engine parsing to Utils.Stephen Blott
This will allow us to use the same search-engine parsing code in the background page and in content scripts.
2015-05-29Make a check more coffeescript-ymrmr1993
2015-05-29Make Settings explicitly use a cachemrmr1993
The Settings object used by the background page now uses 1 of 3 caches, depending on the context it is available in: * localStorage - in the background page * a copy of localStorage - in non-background extension pages (options.html, popup.html, etc.) * an empty object - in all other pages (where localStorage doesn't point to the extension's localStorage object). For any extension page which is *not* the background page, a copy of localStorage is used instead of true localStorage: * Once localStorage is updated by one background page, the others can only see the updated copy. - Pages with an updated cache can't tell which changes are new, and so don't know which postUpdateHooks to run. * By copying localStorage's contents into a new object, extension pages can still access settings synchronously. - This is especially important to options.html and popup.html; they will not work without it.
2015-05-29Move settings.coffee from background_scripts/ to lib/mrmr1993
2015-05-29Only perform settings migration in the background pagemrmr1993
2015-05-27Merge pull request #1616 from mrmr1993/detect-inline-inline-fontSize-elementsStephen Blott
Fix for #1554.
2015-05-18Merge branch 'vomnibar-insert-history-with-tab'Stephen Blott
Conflicts: background_scripts/completion.coffee
2015-05-17use a less brittle approach to decoding URIs.Stephen Blott
2015-05-17TabToOpen: respect trailing options when extracting query terms.Stephen Blott
A custom search engine like this... i: https://www.google.ie/search?q=%s&num=30&newwindow=1&biw=1918&bih=1015&tbm=isch Google image search Should not match a URL like this... https://www.google.ie/search?q=bbc+sport
2015-05-17TabToOpen: more tidy up pre-PR.Stephen Blott
2015-05-17TabToOpen: tidy up pre-PR.Stephen Blott
2015-05-16Refactor query extraction to Utils.extractQuery().Stephen Blott
If we go with this and #1662, then we can share the utility.
2015-05-14Rework how SimpleCache works.Stephen Blott
Change the implementation of SimpleCache such that it does not rely upon timers. The problem with times is that they retain a reference to the object even if Vimium itself loses all references. This approach seems simpler, and perfectly adequate for our purposes.
2015-05-11Merge branch 'search-engine-completion-v5'Stephen Blott
2015-05-10Search completion; fix synchronisation issue.Stephen Blott
2015-05-10Search completion; reuse previous query.Stephen Blott
2015-05-10Search completion; refactor job-running logic.Stephen Blott
2015-05-10Search completion; rework SimpleCache.Stephen Blott
2015-05-10Search completion; refactor searchEngineCompleter.Stephen Blott
This revamps how search-engine configuration is handled, and revises some rather strange legacy code.
2015-05-09Search completion; refactor SearchCompleter activation.Stephen Blott
2015-05-08Search completion; search keyword on SPACE.Stephen Blott
2015-05-08Search completion; clear (not replace) the cache.Stephen Blott
2015-05-06Search completion; more tweaks.Stephen Blott
2015-05-05Search completion; misc.Stephen Blott
2015-05-05Search completion; better SimpleCache.Stephen Blott
SimpleCache should reset the timer very time it's rotated (including when the allowed number of entries is exceeded.
2015-05-05Fix javascript: URIs.Stephen Blott
This is @mrmr9393's suggestion from #1636. It mimic's Chrome's behaviour when a javascript: URI is enetered into the omnibox (or clicked). Fixes #1611.
2015-05-03Search completion; make completion lookup asynchronous.Stephen Blott
2015-05-03Search completion; tweaks and refactoring.Stephen Blott
2015-05-02Search completion; minor tweaks.Stephen Blott
Including: - Make completers classes. That way, we may be able to get better code reuse.
2015-05-02Search completion; refactor to separate file.Stephen Blott
2015-05-01Always URL decode javascript: URLs.Stephen Blott
2015-04-30URL decode bookmarklets, if necessary.Stephen Blott
2015-04-28Recognise inline child elements of height=0 elements caused by font-sizemrmr1993
If an element with style="display: inline; font-size: 0px;" surrounds another element with style="display: inline; font-size: apx;", where a is non-zero, then the inner element and its contents will be visible. However, the outer element will register height=0 in its clientRects, which previously caused us to reject these elements. This changes the behaviour to handle this case correctly.
2015-04-28Make DomUtils.getVisibleClientRects default to expected behaviourmrmr1993
This requires passing of an extra truthy argument in order to access the (generally) unexpected behaviour of sometimes returning the rects of child elements. All locations in the code that *actually* wanted this behaviour have been updated to continue using it. Also add a comment about the unexpected behaviour in the function description.
2015-04-28Remove redundant testmrmr1993
Elements with css `display: none;` never have client rects.
2015-04-25Merge branch 'vomnibar-in-main-window' into vomnibar-in-main-window-mergeStephen Blott
Conflicts: background_scripts/main.coffee content_scripts/vimium_frontend.coffee
2015-04-18Mode indicator: strip all references to badges.Stephen Blott
2015-03-17Activate vomnibar in window.top; more clean up.Stephen Blott
2015-03-06Merge branch 'fix-focus-html5-inputs'Stephen Blott
2015-03-06Cosmetic changes (following #1490).Stephen Blott
Mainly fix the indentation on comments. Also tweak wording a bid.
2015-03-03Note relevant PR number for link-hint-text change.Stephen Blott
2015-03-03Do not include duplicated texts in link hints.Stephen Blott
This only effects link hints with "Use the link's name and numbers for link-hint filtering" enabled. We have been matching the *entire text content* of each link-hint element. With two (or more) hints, and with one of the elements a descendent of the other, we have been using the entire text content of the outer node (which includes the text content of the inner node). This leads to odd situations where the inner element cannot be selected just by typing its text, because its text is a substring of the outer element's text. For example, on Google calendar, the "Today" button shows up as two hints, one inside the other. Typing "today" never disambiguates the hint. You always have to hit enter. There's another nasty example on feedly, where an outer container is clickable, but its text contains all of the (many) texts of the (many) contained links. So the hint always has to be selected manually. Here, when generating the text for an element, we exclude the texts from any descendent node which has already been considered.
2015-02-19Only send cursor to end when selection has the cursor at the startmrmr1993
This restores behaviour to how it was at commit 7cedc5d2481f61f4b0d1cbf99fbd203bb5c68b54.
2015-02-19Make DomUtils.isSelected behave correctly for all editable elementsmrmr1993
2015-02-19Stop trying to place the cursor at the end of an input on focusmrmr1993