aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-04-11(Whoops, remove unintended new line.)Stephen Blott
2015-04-11Add "What's New?" on help page.Stephen Blott
2015-04-05Note scrolling issue #1549.Stephen Blott
2015-04-03Merge branch 'upgrade-notification'Stephen Blott
2015-04-03Simplify upgrade notification.Stephen Blott
2015-03-29Move the search-engine logic out of settings.coffee.Stephen Blott
This logic should never have been in settings.coffee. This moves it to completion.coffee, where it belongs.
2015-03-25Check isEnabledForURL on hash change.Stephen Blott
If an exclusion rule depends on the hash/anchor, then we're not picking it up. Here's a concrete example of this: - https?://ca*.computing.dcu.ie/[0-9]*-*#* (which matches slides prepared via "slidy"). The initial URL does not include the anchor/hash, so we miss the exclusion rule. The page is bounced immediately to an anchor/hash for which the rule should apply, and we miss it. (There may be other ways in which the URL can change (WebNavigation?), we need to look into this.)
2015-03-22Upgrade notification. Add full-stop to message.Stephen Blott
2015-03-22Upgrade message; show after permission accepted.Stephen Blott
We're asking for the "notifications" permission. I'm not sure what happens. If the user is asked to accept the permission, then we wouldn't show the notification until the next time Vimium starts. Instead, we check more frequently. So the notification will show the next time a tab is created (or changes page).
2015-03-22Use chrome.notifications for upgrade notifications.Stephen Blott
2015-03-17Merge branch 'rework-exclusion-rules'Stephen Blott
Conflicts: content_scripts/vimium_frontend.coffee
2015-03-15Fall back to "chrome://newtab" in incognito mode.Stephen Blott
2015-03-15Note that createTab/pages/blank.html doesn't work in incognito mode.Stephen Blott
2015-03-15Fill in "pages/blank.html" is an absolute URL.Stephen Blott
"pages/blank.html" was being sent to the default search engine by chrome.tabs.create(). Not fully functional. New tabs created from incognito mode are created in a non-incognito mode window.
2015-03-15Tidy up exclusion rules/propagation.Stephen Blott
2015-03-15Rework page icon handling.Stephen Blott
Setting the page icon is now driven from the corrently-active frame. - Eliminates a race condition. - Icon matches actual frame state (not tab URL state). - Exclusion-rule changes propagate to all frames.
2015-03-15Propagate exclusion rules to all frames.Stephen Blott
When the active tab changes, we call updateActiveState to update the icon and propagate any changed exclusion-rule state to the tab. All frames received the request. However, only one response is received by the background page. Therefore, new exclusion rules are only propagated to one frame. Here's what can go wrong... On gmail, open the hangouts frame. Add an exclusion rule sepcific to the hangouts frame. Save it. The update is propagated only to the main frame. The new exclusion rule is not in effect in the hangouts frame. That's wierd and obviously wrong. In this commit, every frame receiving the getActiveState request also calls checkIfEnabledForUrl to ensure that any new exclusion-rule state is propagated. This is overkill, to some extent. We should really move settings to chrome.storage and have each frame check locally for changes affecting it.
2015-03-15Populate popup with frame's URL.Stephen Blott
Previously, we have been populating the suggested exclusion URL in the page popup with the tab's URL. This uses the active frame's URL instead: - because this is the URL which will affect the current frame (without this, a user can naively add an exclusion rule and it has no effect), and - because, without this, the user has no reasonable way to add exclusion rules for frames such as the hangouts frame on gmail (for which, the URL is not displayed in the address bar).
2015-03-15Fix frame-focus detection.Stephen Blott
In b05276ed8264e5a71f20a7068690ba2a414ee6d8, I inadvertently moved the focus handler from window to document. As a consequence, detectFocus (now registerFocus) wasn't being called when expected.
2015-03-15Fix frame-focus detection.Stephen Blott
In b05276ed8264e5a71f20a7068690ba2a414ee6d8, I inadvertently moved the focus handler from window to document. As a consequence, detectFocus (now registerFocus) wasn't being called when expected.
2015-03-11Merge pull request #1527 from smblott-github/fix-scrollingStephen Blott
Move Scroller.init() up the handler stack.
2015-03-11Move Scroller.init() up the handler stack.Stephen Blott
Move scroller initialisation so that its key handlers are above insert mode in the handler stack. This ensures that the scroller sees keyup events if we enter insert mode while continuous scrolling. Fixes #1526.
2015-03-09Inject content scripts on install/upgrade only.Stephen Blott
We should not inject content scripts on chrome upgrades.
2015-03-09Pass keyup events after entering link-hint mode.Stephen Blott
The page (or another extension) sees keydown events (such as shift) before entering link-hint mode. So we need to also pass the corresponding keyup events. Fixes #1522.
2015-03-08Merge branch 'mrmr1993-loadScriptsOnUpdate'Stephen Blott
2015-03-08Reload content scripts: document why changes are needed in tests.Stephen Blott
2015-03-08Reload content scripts: minor refactoring.Stephen Blott
2015-03-08Better documentation of closing sequence for vomnibar.Stephen Blott
2015-03-07Reload content scripts after install/update.Stephen Blott
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.)
2015-03-07Merge branch 'fix-vomnibar-visibility'Stephen Blott
2015-03-07Add HTML5 date and tel as targets for focusInput.Stephen Blott
2015-03-06Remove need for short delay to prevent vomnibar flicker.Stephen Blott
This delivers a "hidden" massage to the vomnibar after the vomnibar has been hiddent in the host page. The vomnibar only performs whatever action is required when it receives this "hidden" message.
2015-03-06Correctly remove event listeners.Stephen Blott
Fix oversight from #1517.
2015-03-06Add short delay before launching from vomnibar.Stephen Blott
This is not entirely satisfactory. It would be great if a delay of 0 worked (a la `nextTick`). But it seems we need a little longer because we need to allow the UI component messaging to complete. An alternative would be to thread the action required through the UI component logic. But that's pretty ugly too. Yet another alternative would be to have the UI Component post an "ok, we're done, do it" message once the UI component has been removed. Fixes #1485.
2015-03-06Merge branch 'hide-vomnibar-on-focus'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-05Fix various vomnibar clicks...Stephen Blott
Click: - in the vomnibar focuses the input - anywhere else (such as in the space below the vomnibar) hides the vomnibar. This makes clicks in the space below the vomnibar behave the same as clicks in the page itself... Which makes sense, because the difference is not apparent to the user.
2015-03-05Hide vomnibar if host frame regains focus.Stephen Blott
Fixes #1506. This takes the opposite approach to #1511. Instead of hiding the vomnibar when it blurs, we hide it when it's host frame is focused.
2015-03-05Quick fix for issue creating new tabs.Stephen Blott
This is a quick fix only (to keep master in a functional state). openUrlInNewTab is broken, and needs to be refactored.
2015-03-05Note that visual mode is a beta feature.Stephen Blott
2015-03-05Merge branch 'link-hint-text'Stephen Blott
2015-03-05Merge branch 'fix_1507_createTab_incognito'Stephen Blott
2015-03-05Tidy up #1507.Stephen Blott
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-03-01Stick in callback so `Nt` worksSudarshan Wadkar
- This fix enables `2t` to open two new tabs, even in incognito. Include callback in the call chain so that numbered commands can work.
2015-02-28Fix exception on options page.Stephen Blott
This adds another handler which is delivered to the options page, but for which there is no handler. This was causing an exception on the background page (console).
2015-02-28Make badges tab specific (fixed).Stephen Blott
Following on from c8d984520f5de4b3e702cee992c7ecc4f4f49435, I forgot to fix up the other call to setBadge.
2015-02-28Make badges tab specific.Stephen Blott
Fixes #1491.