<!DOCTYPE html>
<!--
Copyright (c) 2013 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.
-->

<link rel="import" href="/base/base.html">
<script>
'use strict';

tr.exportTo('tr.e.about_tracing', function() {
  /**
   * Communicates with content/browser/tracing_controller_impl.cc
   *
   * @constructor
   */
  function TracingControllerClient() { }

  TracingControllerClient.prototype = {
    beginMonitoring: function(monitoringOptions) { },
    endMonitoring: function() { },
    captureMonitoring: function() { },
    getMonitoringStatus: function() { },
    getCategories: function() { },
    beginRecording: function(recordingOptions) { },
    beginGetBufferPercentFull: function() { },
    endRecording: function() { }
  };

  return {
    TracingControllerClient: TracingControllerClient
  };
});
</script>
