From e18dcd1bea388527bdbf8e9c11edfda6d9f4313e Mon Sep 17 00:00:00 2001 From: Sam El-Husseini Date: Wed, 9 Oct 2019 16:08:23 -0700 Subject: [PATCH] bringToFront optimization for large workspaces (#3214) * bringToFront optimization for large workspaces --- core/block_svg.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/block_svg.js b/core/block_svg.js index eaf20126d..7c1ef782a 100644 --- a/core/block_svg.js +++ b/core/block_svg.js @@ -1375,7 +1375,12 @@ Blockly.BlockSvg.prototype.bringToFront = function() { var block = this; do { var root = block.getSvgRoot(); - root.parentNode.appendChild(root); + var parent = root.parentNode; + var childNodes = parent.childNodes; + // Avoid moving the block if it's already at the bottom. + if (childNodes[childNodes.length - 1] !== root) { + parent.appendChild(root); + } block = block.getParent(); } while (block); };