Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/common/ModuleExtensionInterfaces.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/common/ModuleExtensionInterfaces.js b/third_party/WebKit/Source/devtools/front_end/common/ModuleExtensionInterfaces.js |
| index c49ba9369963b4bc8b2cb83b0adb6bb6e928cfa9..258be1743f6bec56ff91cf055ef8f7960369e966 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/common/ModuleExtensionInterfaces.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/common/ModuleExtensionInterfaces.js |
| @@ -26,6 +26,7 @@ Common.Renderer.renderPromise = function(object) { |
| /** |
| * @param {!Common.Renderer} renderer |
| + * @return {!Promise.<!Element>} |
| */ |
| function render(renderer) { |
| return renderer.render(object); |
| @@ -35,6 +36,41 @@ Common.Renderer.renderPromise = function(object) { |
| /** |
| * @interface |
| */ |
| +Common.RemoteObjectRenderer = function() {}; |
|
pfeldman
2017/02/25 01:30:16
You can't say "RemoteObject" in "common", modify R
chenwilliam
2017/04/07 20:59:27
Done.
|
| + |
| +Common.RemoteObjectRenderer.prototype = { |
| + /** |
| + * @param {!Object} object |
| + * @param {!Common.RemoteObjectRenderer.Options=} options |
| + * @return {?Element} |
| + */ |
| + render(object, options) {} |
| +}; |
| + |
| +/** |
| + * @param {!Object} object |
| + * @param {!Common.RemoteObjectRenderer.Options=} options |
| + * @return {!Promise.<!Element>} |
| + */ |
| +Common.RemoteObjectRenderer.renderPromise = function(object, options) { |
|
dgozman
2017/02/25 01:27:28
Just add options to Common.Renderer? While you are
chenwilliam
2017/04/07 20:59:27
I'll migrate Revealer in a follow-up CL.
|
| + var error = new Error('Can\'t render ' + object); |
| + if (!object) |
| + return Promise.reject(error); |
| + return self.runtime.extension(Common.RemoteObjectRenderer, object).instance().then(renderer => { |
| + var element = renderer.render(object, options); |
| + if (!element) |
| + return Promise.reject(error); |
| + return element; |
| + }); |
| +}; |
| + |
| +/** @typedef {!{title: (string|!Element|undefined), expand: (boolean|undefined), |
| + * editable: (boolean|undefined)}} */ |
| +Common.RemoteObjectRenderer.Options; |
| + |
| +/** |
| + * @interface |
| + */ |
| Common.Revealer = function() {}; |
| /** |