1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
8 WebInspector.Renderer = function()
12 WebInspector.Renderer.prototype = {
14 * @param {!Object} object
15 * @return {!Promise.<!Element>}
17 render: function(object) {}
21 * @param {!Object} object
22 * @return {!Promise.<!Element>}
24 WebInspector.Renderer.renderPromise = function(object)
27 return Promise.rejectWithError("Can't render " + object);
29 return self.runtime.instancePromise(WebInspector.Renderer, object).then(render);
32 * @param {!WebInspector.Renderer} renderer
34 function render(renderer)
36 return renderer.render(object);
43 WebInspector.Revealer = function()
48 * @param {!Object} revealable
49 * @param {number=} lineNumber
51 WebInspector.Revealer.reveal = function(revealable, lineNumber)
53 WebInspector.Revealer.revealPromise(revealable, lineNumber).done();
57 * @param {!Object} revealable
58 * @param {number=} lineNumber
61 WebInspector.Revealer.revealPromise = function(revealable, lineNumber)
64 return Promise.rejectWithError("Can't reveal " + revealable);
66 return self.runtime.instancesPromise(WebInspector.Revealer, revealable).then(reveal);
69 * @param {!Array.<!WebInspector.Revealer>} revealers
72 function reveal(revealers)
75 for (var i = 0; i < revealers.length; ++i)
76 promises.push(revealers[i].reveal(revealable, lineNumber));
77 return Promise.race(promises);
81 WebInspector.Revealer.prototype = {
83 * @param {!Object} object
84 * @param {number=} lineNumber
87 reveal: function(object, lineNumber) {}