Make TypingCommand::insertText() to take SelectionInDOMTree instead of VisibleSelection

This patch makes |TypingCommand::insertText()| to take |SelectionInDOMTree|
instead of |VisibleSelection| to reduce usage of |VisibleSelection| for
improving code health.

BUG=657237
TEST=n/a

Review-Url: https://codereview.chromium.org/2733183002
Cr-Commit-Position: refs/heads/master@{#455368}
TypingCommand* TypingCommand::lastTypingCommandIfStillOpenForTyping(
    LocalFrame* frame) {
  DCHECK(frame);

  CompositeEditCommand* lastEditCommand = frame->editor().lastEditCommand();
  if (!lastEditCommand || !lastEditCommand->isTypingCommand() ||
      !static_cast<TypingCommand*>(lastEditCommand)->isOpenForMoreTyping())
    return nullptr;

  return static_cast<TypingCommand*>(lastEditCommand);
}

TypingCommand* TypingCommand::lastTypingCommandIfStillOpenForTyping(
    LocalFrame* frame) {
  DCHECK(frame);

  CompositeEditCommand* lastEditCommand = frame->editor().lastEditCommand();
  if (!lastEditCommand || !lastEditCommand->isTypingCommand() ||
      !static_cast<TypingCommand*>(lastEditCommand)->isOpenForMoreTyping())
    return nullptr;

  return static_cast<TypingCommand*>(lastEditCommand);
}
