<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vimium/content_scripts, branch v1.58</title>
<subtitle>The hacker's browser.</subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/'/>
<entry>
<title>Merge pull request #2384 from gdh1995/pass-keys-on-body-locked</title>
<updated>2017-03-04T07:55:45+00:00</updated>
<author>
<name>Stephen Blott</name>
</author>
<published>2017-03-04T07:55:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=5cdaf6b8fa341ff9f1a3c2c7c21416deb1724d08'/>
<id>5cdaf6b8fa341ff9f1a3c2c7c21416deb1724d08</id>
<content type='text'>
InsertMode should not handle key events if document.body is editable</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
InsertMode should not handle key events if document.body is editable</pre>
</div>
</content>
</entry>
<entry>
<title>Don't depend on global event for Frame event listeners (FF)</title>
<updated>2017-02-11T17:02:43+00:00</updated>
<author>
<name>mrmr1993</name>
</author>
<published>2017-02-08T19:37:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=3f8026dfc1ce12fb179b758f84254e34e65ac339'/>
<id>3f8026dfc1ce12fb179b758f84254e34e65ac339</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't depend on global event for CoreScroller event listeners (FF)</title>
<updated>2017-02-11T17:02:43+00:00</updated>
<author>
<name>mrmr1993</name>
</author>
<published>2017-02-08T17:49:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=ddbc94875a19c2b9c57ca6c282e3d6918c16b279'/>
<id>ddbc94875a19c2b9c57ca6c282e3d6918c16b279</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Stop using non-standard event.srcElement; switch to event.target</title>
<updated>2017-02-08T20:25:40+00:00</updated>
<author>
<name>mrmr1993</name>
</author>
<published>2017-02-08T20:24:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=bebedfa4e7abc45fc72ce961d28b6ee44f84b895'/>
<id>bebedfa4e7abc45fc72ce961d28b6ee44f84b895</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>InsertMode should not handle key events if document.body is editable</title>
<updated>2017-01-03T08:45:19+00:00</updated>
<author>
<name>gdh1995</name>
</author>
<published>2016-12-22T17:51:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=48c169bd5a61685bb4e67b1e76c939dbf360a658'/>
<id>48c169bd5a61685bb4e67b1e76c939dbf360a658</id>
<content type='text'>
For example, the host JavaScript may create an "about:blank" iframe with a
`content-editable` `body`, and then:
* the parent frame may handle `Escape` key events by itself
* but now, Vimium always grabs `Escape` events
  * and tries to exit `InsertMode`
  * although `document.body` is still current `activeElement`
    after `body.blur()`
* as a result, neither the parent can receive and handle wanted keyevents,
  nor Vimium will succeed in returing back to NormalMode
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For example, the host JavaScript may create an "about:blank" iframe with a
`content-editable` `body`, and then:
* the parent frame may handle `Escape` key events by itself
* but now, Vimium always grabs `Escape` events
  * and tries to exit `InsertMode`
  * although `document.body` is still current `activeElement`
    after `body.blur()`
* as a result, neither the parent can receive and handle wanted keyevents,
  nor Vimium will succeed in returing back to NormalMode
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix (another) infinite-scroll issue.</title>
<updated>2016-12-26T06:17:30+00:00</updated>
<author>
<name>Stephen Blott</name>
</author>
<published>2016-12-26T06:17:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=4855173ec4e8e9852c4a6d51be0a8a5519e9daba'/>
<id>4855173ec4e8e9852c4a6d51be0a8a5519e9daba</id>
<content type='text'>
Steps to reproduce:

- Press and hold `j`.
- Tab `k`.
- Release `j`.

The tap on `k` is uninstalling the `cancelEventListener` installed by
`j`, and because we advance `@time`, the `j` stops scrolling and
removes the `cancelEventListener` installed for `k`.  So we end up with
no `cancelEventListener` installed.

The fix is to make the `cancelEventListener` specific to the scroller
instance.

The more fundamental problem here is that we're mixing dynamic and
static state.  A better approach would be to have `CoreScroller` as a
class, with a new instance created for each scroll instance.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Steps to reproduce:

- Press and hold `j`.
- Tab `k`.
- Release `j`.

The tap on `k` is uninstalling the `cancelEventListener` installed by
`j`, and because we advance `@time`, the `j` stops scrolling and
removes the `cancelEventListener` installed for `k`.  So we end up with
no `cancelEventListener` installed.

The fix is to make the `cancelEventListener` specific to the scroller
instance.

The more fundamental problem here is that we're mixing dynamic and
static state.  A better approach would be to have `CoreScroller` as a
class, with a new instance created for each scroll instance.
</pre>
</div>
</content>
</entry>
<entry>
<title>Guard against element.tagName not being a string.</title>
<updated>2016-12-26T05:25:27+00:00</updated>
<author>
<name>Stephen Blott</name>
</author>
<published>2016-12-26T05:25:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=ea7b2005c078dbe862b805a47e5723ba52bbef85'/>
<id>ea7b2005c078dbe862b805a47e5723ba52bbef85</id>
<content type='text'>
Example page: http://codeforces.com/contest/752/problem/B.

There, `element.tagName` is an element with `name` `tagName` (not a string).  Here, we guard against that case.

Fixes #2305.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Example page: http://codeforces.com/contest/752/problem/B.

There, `element.tagName` is an element with `name` `tagName` (not a string).  Here, we guard against that case.

Fixes #2305.
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't focus non-focusable node.</title>
<updated>2016-12-21T16:09:59+00:00</updated>
<author>
<name>Stephen Blott</name>
</author>
<published>2016-12-21T16:09:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=351489c7c5e093531aa8cd5870a3f78c99fb2923'/>
<id>351489c7c5e093531aa8cd5870a3f78c99fb2923</id>
<content type='text'>
Try the following....

- load page
- `/`
- type some junk which matches nothing
- `Escape`

We expect to leave find mode.  Instead, we have to hit escape again to
get out of find mode.

Here, `focusNode.focus()` is not a function.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Try the following....

- load page
- `/`
- type some junk which matches nothing
- `Escape`

We expect to leave find mode.  Instead, we have to hit escape again to
get out of find mode.

Here, `focusNode.focus()` is not a function.
</pre>
</div>
</content>
</entry>
<entry>
<title>Tweak #2327.</title>
<updated>2016-12-21T05:13:54+00:00</updated>
<author>
<name>Stephen Blott</name>
</author>
<published>2016-12-21T05:13:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=3d7e37611c4af4877f72fa40f73cc6714d5b5485'/>
<id>3d7e37611c4af4877f72fa40f73cc6714d5b5485</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #2311 from smblott-github/enterNormalMode</title>
<updated>2016-12-21T05:09:42+00:00</updated>
<author>
<name>Stephen Blott</name>
</author>
<published>2016-12-21T05:09:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/vimium/commit/?id=320f433afb53cc774b175dab0f6a1ad7a47d60f9'/>
<id>320f433afb53cc774b175dab0f6a1ad7a47d60f9</id>
<content type='text'>
New command option to enter normal mode</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
New command option to enter normal mode</pre>
</div>
</content>
</entry>
</feed>
