diff options
| author | Stephen Blott | 2016-05-07 04:19:46 +0100 | 
|---|---|---|
| committer | Stephen Blott | 2016-05-07 04:19:46 +0100 | 
| commit | bd0bcadf130db6d34ba99e4d43eb57c05eb52970 (patch) | |
| tree | eb7544d39d2da37196680d02fcda94375a069025 /git_hooks | |
| parent | 804fdc96f5dc1698d0ed3872de6c1d78feda2e59 (diff) | |
| download | vimium-bd0bcadf130db6d34ba99e4d43eb57c05eb52970.tar.bz2 | |
Fix link-hints failing to launch.
Sometimes, link-hints mode fails to launch.  See Issue 1 from this post:
https://github.com/philc/vimium/issues/2081#issuecomment-210980903.
Here's a reproducible case:
- visit twitter
- using the vomnibar, visit any other page (in the same tab)
- hit `f` - the link hints fail to load.
What's happening is that the unregister/register frame messages for the
main/top frame arrive in the wrong order (first register, then
unregister).  Because these both have the same frame Id, the effect is
that the main/top frame ends up not registered.  So there are no
registered frames, so link hints mode doesn't launch.
Only the main/top frame has a re-usable frameId (`0`).  All other frames
receive a unique frame Id (which is never re-used).
Here, we just never unregister the main/top frame.  That way, it doesn't
matter which order the register/unregister messages arrive in.  If the
tab is navigating to a new page, then there'll be a new main/top frame
along soon.  If the tab is closing, then we tidy up in the
`chrome.tabs.onRemoved` handler.
Diffstat (limited to 'git_hooks')
0 files changed, 0 insertions, 0 deletions
