OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | |
5 /** | 4 /** |
6 * @interface | 5 * @interface |
7 */ | 6 */ |
8 WebInspector.Renderer = function() | 7 WebInspector.Renderer = function() {}; |
9 { | |
10 }; | |
11 | 8 |
12 WebInspector.Renderer.prototype = { | 9 WebInspector.Renderer.prototype = { |
13 /** | 10 /** |
14 * @param {!Object} object | 11 * @param {!Object} object |
15 * @return {!Promise.<!Element>} | 12 * @return {!Promise.<!Element>} |
16 */ | 13 */ |
17 render: function(object) {} | 14 render: function(object) {} |
18 }; | 15 }; |
19 | 16 |
20 /** | 17 /** |
21 * @param {!Object} object | 18 * @param {!Object} object |
22 * @return {!Promise.<!Element>} | 19 * @return {!Promise.<!Element>} |
23 */ | 20 */ |
24 WebInspector.Renderer.renderPromise = function(object) | 21 WebInspector.Renderer.renderPromise = function(object) { |
25 { | 22 if (!object) |
26 if (!object) | 23 return Promise.reject(new Error('Can\'t render ' + object)); |
27 return Promise.reject(new Error("Can't render " + object)); | |
28 | 24 |
29 return self.runtime.extension(WebInspector.Renderer, object).instance().then
(render); | 25 return self.runtime.extension(WebInspector.Renderer, object).instance().then(r
ender); |
30 | 26 |
31 /** | 27 /** |
32 * @param {!WebInspector.Renderer} renderer | 28 * @param {!WebInspector.Renderer} renderer |
33 */ | 29 */ |
34 function render(renderer) | 30 function render(renderer) { |
35 { | 31 return renderer.render(object); |
36 return renderer.render(object); | 32 } |
37 } | |
38 }; | 33 }; |
39 | 34 |
40 /** | 35 /** |
41 * @interface | 36 * @interface |
42 */ | 37 */ |
43 WebInspector.Revealer = function() | 38 WebInspector.Revealer = function() {}; |
44 { | |
45 }; | |
46 | 39 |
47 /** | 40 /** |
48 * @param {?Object} revealable | 41 * @param {?Object} revealable |
49 * @param {boolean=} omitFocus | 42 * @param {boolean=} omitFocus |
50 */ | 43 */ |
51 WebInspector.Revealer.reveal = function(revealable, omitFocus) | 44 WebInspector.Revealer.reveal = function(revealable, omitFocus) { |
52 { | 45 WebInspector.Revealer.revealPromise(revealable, omitFocus); |
53 WebInspector.Revealer.revealPromise(revealable, omitFocus); | |
54 }; | 46 }; |
55 | 47 |
56 /** | 48 /** |
57 * @param {?Object} revealable | 49 * @param {?Object} revealable |
58 * @param {boolean=} omitFocus | 50 * @param {boolean=} omitFocus |
59 * @return {!Promise.<undefined>} | 51 * @return {!Promise.<undefined>} |
60 */ | 52 */ |
61 WebInspector.Revealer.revealPromise = function(revealable, omitFocus) | 53 WebInspector.Revealer.revealPromise = function(revealable, omitFocus) { |
62 { | 54 if (!revealable) |
63 if (!revealable) | 55 return Promise.reject(new Error('Can\'t reveal ' + revealable)); |
64 return Promise.reject(new Error("Can't reveal " + revealable)); | 56 return self.runtime.allInstances(WebInspector.Revealer, revealable).then(revea
l); |
65 return self.runtime.allInstances(WebInspector.Revealer, revealable).then(rev
eal); | |
66 | 57 |
67 /** | 58 /** |
68 * @param {!Array.<!WebInspector.Revealer>} revealers | 59 * @param {!Array.<!WebInspector.Revealer>} revealers |
69 * @return {!Promise.<undefined>} | 60 * @return {!Promise.<undefined>} |
70 */ | 61 */ |
71 function reveal(revealers) | 62 function reveal(revealers) { |
72 { | 63 var promises = []; |
73 var promises = []; | 64 for (var i = 0; i < revealers.length; ++i) |
74 for (var i = 0; i < revealers.length; ++i) | 65 promises.push(revealers[i].reveal(/** @type {!Object} */ (revealable), omi
tFocus)); |
75 promises.push(revealers[i].reveal(/** @type {!Object} */ (revealable
), omitFocus)); | 66 return Promise.race(promises); |
76 return Promise.race(promises); | 67 } |
77 } | |
78 }; | 68 }; |
79 | 69 |
80 WebInspector.Revealer.prototype = { | 70 WebInspector.Revealer.prototype = { |
81 /** | 71 /** |
82 * @param {!Object} object | 72 * @param {!Object} object |
83 * @param {boolean=} omitFocus | 73 * @param {boolean=} omitFocus |
84 * @return {!Promise} | 74 * @return {!Promise} |
85 */ | 75 */ |
86 reveal: function(object, omitFocus) {} | 76 reveal: function(object, omitFocus) {} |
87 }; | 77 }; |
88 | 78 |
89 /** | 79 /** |
90 * @interface | 80 * @interface |
91 */ | 81 */ |
92 WebInspector.App = function() | 82 WebInspector.App = function() {}; |
93 { | |
94 }; | |
95 | 83 |
96 WebInspector.App.prototype = { | 84 WebInspector.App.prototype = { |
97 /** | 85 /** |
98 * @param {!Document} document | 86 * @param {!Document} document |
99 */ | 87 */ |
100 presentUI: function(document) { } | 88 presentUI: function(document) {} |
101 }; | 89 }; |
102 | 90 |
103 /** | 91 /** |
104 * @interface | 92 * @interface |
105 */ | 93 */ |
106 WebInspector.AppProvider = function() | 94 WebInspector.AppProvider = function() {}; |
107 { | |
108 }; | |
109 | 95 |
110 WebInspector.AppProvider.prototype = { | 96 WebInspector.AppProvider.prototype = { |
111 /** | 97 /** |
112 * @return {!WebInspector.App} | 98 * @return {!WebInspector.App} |
113 */ | 99 */ |
114 createApp: function() { } | 100 createApp: function() {} |
115 }; | 101 }; |
116 | 102 |
117 /** | 103 /** |
118 * @interface | 104 * @interface |
119 */ | 105 */ |
120 WebInspector.QueryParamHandler = function() | 106 WebInspector.QueryParamHandler = function() {}; |
121 { | |
122 }; | |
123 | 107 |
124 WebInspector.QueryParamHandler.prototype = { | 108 WebInspector.QueryParamHandler.prototype = { |
125 /** | 109 /** |
126 * @param {string} value | 110 * @param {string} value |
127 */ | 111 */ |
128 handleQueryParam: function(value) { } | 112 handleQueryParam: function(value) {} |
129 }; | 113 }; |
OLD | NEW |