@samitouri / QOS-React / commits / 99593444b9

Address review

Dan committed Apr 6, 2019 at 21:30 UTC 99593444b98bd0c0ae255fb897867a02c4a73d25
1 file changed +19 -20
src/backend/agent.js
+19 -20
@@ -49,8 +49,8 @@ export default class Agent extends EventEmitter {
49 _isProfiling: boolean = false;
50 _rendererInterfaces: { [key: RendererID]: RendererInterface } = {};
51
52 - _selectInterval: null | IntervalID;
53 - _nextFiberIDToSelect: null | number;
52 + _selectFiberInterval: null | IntervalID;
53 + _lastInspectedNode: null | HTMLElement;
54
55 constructor() {
56 super();
@@ -342,7 +342,10 @@ export default class Agent extends EventEmitter {
342 window.addEventListener('mousedown', this._onMouseDown, true);
343 window.addEventListener('mouseup', this._onMouseUp, true);
344 window.addEventListener('mouseover', this._onMouseOver, true);
345 - this._selectInterval = setInterval(this._updateSelectedFiber, 200);
345 + this._selectFiberInterval = setInterval(
346 + this._selectFiberForLastInspectedNode,
347 + 200
348 + );
349 };
350
351 startProfiling = () => {
@@ -364,10 +367,10 @@ export default class Agent extends EventEmitter {
367 window.removeEventListener('mouseup', this._onMouseUp, true);
368 window.removeEventListener('mouseover', this._onMouseOver, true);
369
367 - this._updateSelectedFiber();
368 - clearInterval(this._selectInterval);
369 - this._selectInterval = null;
370 - this._nextFiberIDToSelect = null;
370 + this._selectFiberForLastInspectedNode();
371 + clearInterval(this._selectFiberInterval);
372 + this._selectFiberInterval = null;
373 + this._lastInspectedNode = null;
374 };
375
376 stopProfiling = () => {
@@ -431,10 +434,7 @@ export default class Agent extends EventEmitter {
434 event.stopPropagation();
435
436 const target = ((event.target: any): HTMLElement);
434 - const id = this.getIDForNode(target);
435 - if (id !== null) {
436 - this._nextFiberIDToSelect = id;
437 - }
437 + this._lastInspectedNode = target;
438 };
439
440 // While we don't do anything here, this makes choosing
@@ -453,17 +453,16 @@ export default class Agent extends EventEmitter {
453 // Don't pass the name explicitly.
454 // It will be inferred from DOM tag and Fiber owner.
455 showOverlay(target);
456 -
457 - const id = this.getIDForNode(target);
458 - if (id !== null) {
459 - this._nextFiberIDToSelect = id;
460 - }
456 + this._lastInspectedNode = target;
457 };
458
463 - _updateSelectedFiber = () => {
464 - const id = this._nextFiberIDToSelect;
465 - if (id !== null) {
466 - this._bridge.send('selectFiber', id);
459 + _selectFiberForLastInspectedNode = () => {
460 + const node = this._lastInspectedNode;
461 + if (node !== null) {
462 + const id = this.getIDForNode(node);
463 + if (id !== null) {
464 + this._bridge.send('selectFiber', id);
465 + }
466 }
467 };
468 }