Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1457)

Unified Diff: third_party/WebKit/Source/devtools/front_end/common/ModuleExtensionInterfaces.js

Issue 2714833002: DevTools: use interface for ObjectUI and make it a non-autostart module (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..901b771209a7f5bff4b76e8da4aa062051aa0096 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() {};
+
+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) {
+ 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() {};
/**

Powered by Google App Engine
This is Rietveld 408576698