Files
react-native-devtools-frontend/front_end/elements/module.json
T
Tim van der Lippe 460e19b668 [module.json extensions] Add support for ContextMenu providers
Modules can now register their contextMenu providers in the meta
files. The ContextMenu will now request each registered provider
alongside the previously registered providers from the runtime.

Note that a contextmenu provider will eagerly load its module, to
load the definition of the provider itself. Ideally we don't perform
this work at once (we currently load *all* modules that have a
contextmenu provider as soon as the user opens a contextmenu), but
we will punt that to a follow-up to clean up.

Lastly, some cleanups were performed in `show()` to use async-await
and handle the array of Promises that return an array of Providers.

R=andoli@chromium.org

Bug: 1134103
Change-Id: Idb15be2b6f4c9d8c6fb663f548580620500b076d
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2569768
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Andres Olivares <andoli@chromium.org>
2020-12-08 12:15:12 +00:00

107 lines
2.7 KiB
JSON

{
"extensions": [
{
"type": "@UI.Renderer",
"contextTypes": [
"SDK.DOMNode",
"SDK.DeferredDOMNode"
],
"className": "Elements.ElementsTreeOutline.Renderer"
},
{
"type": "@Common.Revealer",
"contextTypes": [
"SDK.DOMNode",
"SDK.DeferredDOMNode",
"SDK.RemoteObject"
],
"destination": "Elements panel",
"className": "Elements.ElementsPanel.DOMNodeRevealer"
},
{
"type": "@Common.Linkifier",
"contextTypes": [
"SDK.DOMNode",
"SDK.DeferredDOMNode"
],
"className": "Elements.DOMLinkifier.Linkifier"
},
{
"type": "@Common.Revealer",
"contextTypes": [
"SDK.CSSProperty"
],
"destination": "styles sidebar",
"className": "Elements.ElementsPanel.CSSPropertyRevealer"
},
{
"type": "@UI.ToolbarItem.Provider",
"className": "Elements.ElementStatePaneWidget.ButtonProvider",
"order": 1,
"location": "styles-sidebarpane-toolbar"
},
{
"type": "@UI.ToolbarItem.Provider",
"className": "Elements.ClassesPaneWidget.ButtonProvider",
"order": 2,
"location": "styles-sidebarpane-toolbar"
},
{
"type": "@UI.ToolbarItem.Provider",
"className": "Elements.StylesSidebarPane.ButtonProvider",
"order": 100,
"location": "styles-sidebarpane-toolbar"
},
{
"type": "@Elements.MarkerDecorator",
"className": "Elements.ElementsPanel.PseudoStateMarkerDecorator",
"marker": "pseudo-state-marker"
},
{
"type": "@Elements.MarkerDecorator",
"factoryName": "Elements.GenericDecorator",
"marker": "hidden-marker",
"title": "Element is hidden",
"color": "#555"
},
{
"type": "@UI.ToolbarItem.Provider",
"actionId": "elements.toggle-element-search",
"location": "main-toolbar-left",
"order": 0
},
{
"type": "@UI.ViewLocationResolver",
"name": "elements-sidebar",
"category": "Elements",
"className": "Elements.ElementsPanel"
}
],
"dependencies": [
"components",
"extensions",
"inline_editor",
"color_picker",
"event_listeners"
],
"modules": [
"elements-legacy.js"
],
"resources": [
"classesPaneWidget.css",
"computedStyleSidebarPane.css",
"computedStyleWidgetTree.css",
"domLinkifier.css",
"elementsPanel.css",
"elementStatePaneWidget.css",
"elementsTreeOutline.css",
"layoutPane.css",
"metricsSidebarPane.css",
"platformFontsWidget.css",
"propertiesWidget.css",
"nodeStackTraceWidget.css",
"stylesSectionTree.css",
"stylesSidebarPane.css"
]
}