Do not give instant focus if a view's toplevelwidget is not active

If the top level widget isn't active during setting focus view, we store the focused view and then attempt to activate the widget. If activation succeeds view will be focused. If activation fails |view| will be focused the next time the widget is made active.

Based on this rule, a set of unittests related are modified.

This is a following up CL for 2113163002 as there are already too many patches there.

BUG=621791
BUG=650776
BUG=152938
TEST=add an interactive_ui_test, NativeWidgetAuraTest.NonActiveWindowRequestImeFocus

Review-Url: https://chromiumcodereview.appspot.com/2371113003
Cr-Commit-Position: refs/heads/master@{#426905}
13 files changed