// Copyright 2016 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 NetworkDiagnostics {
  RunNetworkDiagnostics(url.mojom.Url failed_url);
};

interface NetworkDiagnosticsClient {
  // Tells the renderer whether or not there is a local diagnostics service that
  // can be run via calls to NetworkDiagnostics::RunNetworkDiagnostics.
  SetCanShowNetworkDiagnosticsDialog(bool can_show);

  // Provides the renderer with the results of the browser's investigation into
  // why a recent main frame load failed (currently, just DNS probe result).
  // NetErrorHelper will receive this mesage and replace or update the error
  // page with more specific troubleshooting suggestions.
  DNSProbeStatus(int32 status);
};
