summaryrefslogtreecommitdiff
path: root/chromium/third_party/catapult/tracing/tracing/ui/side_panel/side_panel_registry.html
blob: 0ec139f2225a8c12bd186ac128628c45a66a3b43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<!DOCTYPE html>
<!--
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.
-->

<link rel="import" href="/tracing/base/extension_registry.html">

<script>
'use strict';

// TODO(charliea): This can probably be cleaned up so that we don't have to
// manually wrap the Polymer element names with a function and
// `document.createElement` at each of the registration sites by creating a
// new "Polymer" registration mode.
tr.exportTo('tr.ui.side_panel', function() {
  /**
   * SidePanelRegistry is an entity for side panel Polymer elements to register
   * on so that they'll render a side panel if the model has the correct data.
   *
   * Example usage:
   *
   *   SidePanelRegistry.register(function() {
   *     return document.createElement('my-side-panel');
   *   });
   *
   * @constructor
   */
  function SidePanelRegistry() {}

  const options = new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);
  tr.b.decorateExtensionRegistry(SidePanelRegistry, options);

  return {
    SidePanelRegistry,
  };
});
</script>