// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module chrome.mojom;

import "url/mojom/url.mojom";

interface NavigationCorrector {
  // Provides the information needed by the renderer process to contact a
  // navigation correction service.  Handled by the NetErrorHelper.
  SetNavigationCorrectionInfo(url.mojom.Url navigation_correction_url,
                              string language,
                              string country_code,
                              string api_key,
                              url.mojom.Url search_url);
};
