// 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 content.mojom;

// The primordial interface implemented by a render process host. This should be
// used for implementing renderer-to-browser messages.
interface RendererHost {
  // Request a histogram from the browser process. The browser will send the
  // histogram data only if it has been passed the command line flag
  // switches::kStatsCollectionController. This may or may not include
  // histograms and some or all of their data from subprocesses and other
  // sources outside the actual browser process.
  [Sync]
  GetBrowserHistogram(string name) => (string histogram_json);

  // Notify the browser that this render process can or can't be suddenly
  // terminated.
  SuddenTerminationChanged(bool enabled);
};
