Do not handle keystrokes for contentEditable.
Do not handle keystrokes for contentEditable (refactor).
 Do not handle keystrokes for contentEditable (check find mode).

 It is not strictly necessary to check find mode here.  However, if we
 don't do so, then we leave a booby trap for future developers.  So we
 do the extra check.  This, hopefully, means that we don't suddenly find
 ourselves dropping into insert mode just because somebody reorders the
 code elsewhere.
Revert 3f3f256e1abe2a7795ba89ff6b84d4b81fb0a7e2.

On reflection, 3f3f256e1abe2a7795ba89ff6b84d4b81fb0a7e2 seems like a bad
idea.  It's unnecessary, and risks unforeseen consequences.
Fix frame switching after frame redirect/creation
Remove redundant code, add a new listener to be more consistent
Monitor a tab's frames as a list with the current frame at its head
Change DomUtils.makeXPath to loop as an array rather than an object

This fixes the tests, which were broken by makeXPath trying to recurse
over Arrays with an augmented prototype.
Small cosmetic changes
Store frameIds directly in background page
Don't record frameIds for frames only containing a frameset

Frameset frames have no content of their own -- they only embed other
pages in sub-frames. The user can't perform any actions (of ours or
the browsers) with a frameset focused, so we might as well just not
focus it.
Change some loops to arrays rather than objects
Frames; tidy up.
Don't let input hints accept click events
Merge pull request #1258 from mrmr1993/fix-focusInput-overlays

Draw overlays for input elements before focusing in focusInput
Frames; more tidy up.
Frames; more tidy up; fix typo.
Frames; do not guess frame on unregisterFrame.
Frames; remove unnecessary comments.
Frames; always start rotation from the current frame.