aboutsummaryrefslogtreecommitdiffstats
path: root/background_scripts
AgeCommit message (Collapse)Author
2015-04-25Simplify front-end settings logic.Stephen Blott
- Simplify the settings logic. - Send a single request for all required settings (instead of 12 inidividual requests for the 12 settings values we need in the front end).
2015-04-25Remove unused code.Stephen Blott
2015-04-25Track tab URL even if frame's URL changes.Stephen Blott
We track the URL of the active frame in each tab so that we can correctly populate the rules in the page popup. Previously, we tracked URL changes only on focus events. This commit moves that to isEnabledForURL, which is also called when the URL changes as a result of web navigation.
2015-04-25Remove requirement for Chrome 41.Stephen Blott
2015-04-25Merge branch 'exclusion-rules-pushState-and-hash' of ↵Stephen Blott
https://github.com/mrmr1993/vimium into mrmr1993-exclusion-rules-pushState-and-hash Conflicts: content_scripts/vimium_frontend.coffee
2015-04-25Merge remote-tracking branch 'origin/focus-main-frame' into ↵Stephen Blott
focus-main-frame-merge Conflicts: content_scripts/vimium_frontend.coffee Also rework to remove dependency on Chrome 41+ sendMessage API (specifically, relating to optional target frameId argument).
2015-04-25Activate vomnibar in window.top; do not register framesets.Stephen Blott
When the vomnibar closes, it focuses its enclosing window. If that is a frameset, then we do not want to inadvertently register it.
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-24Re-check enabled state after history.pushState/location.hash is changedmrmr1993
This uses the chrome.webRequest API to detect changes to page URL which *do not* cause the content script to refresh.
2015-04-24Get incognto state directly from chrome.extensions.inIncognitoContextmrmr1993
2015-04-23Activate vomnibar in window.top; no flicker and tidy up.Stephen Blott
1. Rework event handling to eliminate frame flicker (a la #1485). 2. Tidy up logic. Which should make this more robust.
2015-04-22Remove redundant line.Stephen Blott
This lines was never needed.
2015-04-21Implement mainFrame command.Stephen Blott
Fixes #426.
2015-04-19Activate vomnibar in window.top; strip (now) unnecessary setting.Stephen Blott
2015-04-18Activate vomnibar in window.top; add "labs" option.Stephen Blott
2015-04-18Mode indicator: strip all references to badges.Stephen Blott
2015-04-12Simplify 9ac435e2791eaccb03e3dc0b6156060f413666d9.Stephen Blott
2015-04-12Do not domain complete zero length queries.Utkarsh Upadhyay
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-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-17Activate vomnibar in window.top; more clean up.Stephen Blott
Clean up, and fixes following code review from @mrmr1993.
2015-03-17Activate vomnibar in window.top; fix race condition on close.Stephen Blott
2015-03-17Activate vomnibar in window.top; more clean up.Stephen Blott
2015-03-17Activate vomnibar in window.top; hide on focus, fixed.Stephen Blott
2015-03-17Activate vomnibar in window.top; hide on focus.Stephen Blott
2015-03-17Merge branch 'rework-exclusion-rules'Stephen Blott
Conflicts: content_scripts/vimium_frontend.coffee
2015-03-17Activate vomnibar in window.top; simplify messaging.Stephen Blott
2015-03-17Activate vomnibar in window.top; refocus original frame.Stephen Blott
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-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-09Inject content scripts on install/upgrade only.Stephen Blott
We should not inject content scripts on chrome upgrades.
2015-03-08Reload content scripts: minor refactoring.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-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 'fix_1507_createTab_incognito'Stephen Blott
2015-03-05Tidy up #1507.Stephen Blott
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-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.
2015-02-26Remove noise, explain in commitSudarshan Wadkar
- Change openUrlInNewTab to pass tab.windowId Why? Work around for upstream bug #308171 - Change createTab to use openUrlInNewTab Why? Fix issue #1507 to open new tab in current window (Note: This commit removes noise from the code and explains the changes)
2015-02-26Fix #1507 Open new tab in incognito modeSudarshan Wadkar
- Change openUrlInNewTab to pass selected tab.windowId - Change createTab to use openUrlInNewTab