Skip to content

Commit 57f364d

Browse files
committed
in on-debugger-event we are only interested in main frame events
1 parent cc1ee4e commit 57f364d

File tree

5 files changed

+27
-5
lines changed

5 files changed

+27
-5
lines changed

resources/unpacked/devtools/front_end/dirac/dirac.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,10 @@ Object.assign(window.dirac, (function () {
215215
return loadLazyDirac().then(() => window.dirac.hasDefaultContext());
216216
}
217217

218+
function getMainDebuggerModel(...args) {
219+
return loadLazyDirac().then(() => window.dirac.getMainDebuggerModel(...args));
220+
}
221+
218222
function subscribeDebuggerEvents(...args) {
219223
return loadLazyDirac().then(() => window.dirac.subscribeDebuggerEvents(...args));
220224
}
@@ -277,6 +281,7 @@ Object.assign(window.dirac, (function () {
277281
hasCurrentContext: hasCurrentContext,
278282
evalInDefaultContext: evalInDefaultContext,
279283
hasDefaultContext: hasDefaultContext,
284+
getMainDebuggerModel: getMainDebuggerModel,
280285
subscribeDebuggerEvents: subscribeDebuggerEvents,
281286
unsubscribeDebuggerEvents: unsubscribeDebuggerEvents,
282287
addConsoleMessageToMainTarget: addConsoleMessageToMainTarget,

resources/unpacked/devtools/front_end/dirac_lazy/dirac_lazy.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,10 @@ Object.assign(window.dirac, (function() {
128128
evalInContext(lookupDefaultContext(), code, silent, callback);
129129
}
130130

131+
function getMainDebuggerModel() {
132+
return SDK.targetManager.mainTarget().model(SDK.DebuggerModel);
133+
}
134+
131135
let debuggerEventsUnsubscribers = new Map();
132136

133137
/**
@@ -911,6 +915,7 @@ Object.assign(window.dirac, (function() {
911915
hasCurrentContext: hasCurrentContext,
912916
evalInDefaultContext: evalInDefaultContext,
913917
hasDefaultContext: hasDefaultContext,
918+
getMainDebuggerModel: getMainDebuggerModel,
914919
subscribeDebuggerEvents: subscribeDebuggerEvents,
915920
unsubscribeDebuggerEvents: unsubscribeDebuggerEvents,
916921
addConsoleMessageToMainTarget: addConsoleMessageToMainTarget,

resources/unpacked/devtools/front_end/externs.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,10 @@ var dirac = {
420420
*/
421421
hasDefaultContext: function() {},
422422

423+
/**
424+
* @return {?SDK.DebuggerModel}
425+
*/
426+
getMainDebuggerModel: function() {},
423427
/**
424428
* @param {?} callback
425429
* @return {boolean}

src/implant/dirac/implant/eval.cljs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
(eval-fn code)
6565
(error "window.dirac.codeAsString not found")))
6666

67+
(defn get-main-debugger-model []
68+
(ocall (get-dirac) "getMainDebuggerModel"))
69+
6770
(defn subscribe-debugger-events! [f]
6871
(ocall (get-dirac) "subscribeDebuggerEvents" f))
6972

src/implant/dirac/implant/intercom.cljs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -314,11 +314,16 @@
314314
(declare go-react-on-global-object-cleared!)
315315

316316
(defn on-debugger-event [type & args]
317-
(log "on-debugger-event" type)
318-
(case type
319-
"GlobalObjectCleared" (let [handle-global-object-cleared (gfns/debounce go-react-on-global-object-cleared! 500)]
320-
(apply handle-global-object-cleared args))
321-
true))
317+
(let [event (first args)
318+
debugger-model (oget event "data")
319+
main-debugger-model (eval/get-main-debugger-model)]
320+
; we are only interested in main frame debugger events
321+
(when (= debugger-model main-debugger-model)
322+
(log "on-debugger-event" type args)
323+
(case type
324+
"GlobalObjectCleared" (let [handle-global-object-cleared (gfns/debounce go-react-on-global-object-cleared! 500)]
325+
(apply handle-global-object-cleared args))
326+
true))))
322327

323328
(defn subscribe-debugger-events! []
324329
(when-not *debugger-events-subscribed*

0 commit comments

Comments
 (0)