Bug 1320939 - Lazy load tooltip event helpers. r=jdescottes
MozReview-Commit-ID: 1FXSUprpCN7
--- a/devtools/client/inspector/markup/views/element-container.js
+++ b/devtools/client/inspector/markup/views/element-container.js
@@ -9,20 +9,23 @@ const PREVIEW_MAX_DIM_PREF = "devtools.i
const promise = require("promise");
const Services = require("Services");
const Heritage = require("sdk/core/heritage");
const {Task} = require("devtools/shared/task");
const nodeConstants = require("devtools/shared/dom-node-constants");
const clipboardHelper = require("devtools/shared/platform/clipboard");
const {setImageTooltip, setBrokenImageTooltip} =
require("devtools/client/shared/widgets/tooltip/ImageTooltipHelper");
-const {setEventTooltip} = require("devtools/client/shared/widgets/tooltip/EventTooltipHelper");
const MarkupContainer = require("devtools/client/inspector/markup/views/markup-container");
const ElementEditor = require("devtools/client/inspector/markup/views/element-editor");
+// Lazy load this module as _buildEventTooltipContent is only called on click
+loader.lazyRequireGetter(this, "setEventTooltip",
+ "devtools/client/shared/widgets/tooltip/EventTooltipHelper", true);
+
/**
* An implementation of MarkupContainer for Elements that can contain
* child nodes.
* Allows editing of tag name, attributes, expanding / collapsing.
*
* @param {MarkupView} markupView
* The markup view that owns this container.
* @param {NodeFront} node
@@ -44,16 +47,17 @@ function MarkupElementContainer(markupVi
MarkupElementContainer.prototype = Heritage.extend(MarkupContainer.prototype, {
_buildEventTooltipContent: Task.async(function* (target, tooltip) {
if (target.hasAttribute("data-event")) {
yield tooltip.hide();
let listenerInfo = yield this.node.getEventListenerInfo();
let toolbox = this.markup.toolbox;
+
setEventTooltip(tooltip, listenerInfo, toolbox);
// Disable the image preview tooltip while we display the event details
this.markup._disableImagePreviewTooltip();
tooltip.once("hidden", () => {
// Enable the image preview tooltip after closing the event details
this.markup._enableImagePreviewTooltip();
});
tooltip.show(target);