Adds per-provider information to omnibox UMA logs.

Adds a fairly general structure to omnibox logs that can be used to pass information (that's not per-result information) from providers to the UMA logs.  Right now it's only used to pass whether the asynchronous pass of a provider has finished, but it will probably be used for other things in the future.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10380007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137288 0039d316-1c4b-4281-b951-d872f2087c98
void AutocompleteEditModel::InfoForCurrentSelection(
    AutocompleteMatch* match,
    GURL* alternate_nav_url) const {
  DCHECK(match != NULL);
  const AutocompleteResult& result = this->result();
  if (!autocomplete_controller_->done()) {
    if (result.empty())
      return;
    *match = *result.default_match();
  } else {
    CHECK(popup_->IsOpen());
    CHECK(!result.empty());
    CHECK(popup_->selected_line() < result.size());
    *match = result.match_at(popup_->selected_line());
  }
  if (alternate_nav_url && popup_->manually_selected_match().empty())
    *alternate_nav_url = result.alternate_nav_url();
}

void AutocompleteEditModel::InfoForCurrentSelection(
    AutocompleteMatch* match,
    GURL* alternate_nav_url) const {
  DCHECK(match != NULL);
  const AutocompleteResult& result = this->result();
  if (!autocomplete_controller_->done()) {
    if (result.empty())
      return;
    *match = *result.default_match();
  } else {
    CHECK(popup_->IsOpen());
    CHECK(!result.empty());
    CHECK(popup_->selected_line() < result.size());
    *match = result.match_at(popup_->selected_line());
  }
  if (alternate_nav_url && popup_->manually_selected_match().empty())
    *alternate_nav_url = result.alternate_nav_url();
}
