* Google changed from an Inc to an LLC.
This happened back in 2017 but we didn’t notice. Officially we should update files from Inc to LLC when they are changed as part of regular edits, but this is a nightmare to remember for the next decade.
* Remove project description/titles from licenses
This is no longer part of Google’s header requirements. Our existing descriptions were useless (“Visual Blocks Editor”) or grossly obselete (“Visual Blocks Language”).
* License no longer requires URL.
* Fix license regexps.
The JS Compiler would rename ‘id’ and ‘blockId’ to something random. Normally that would be fine, but if it ended up with a ‘$’ in the name, then that becomes an illegal HTML property name and Blockly crashes.
A bug that’s been lurking in Blockly for years and randomly surfaced on a recent compile.
* Moved comment icons to use a model-based system. The block holds the model of the comment, and the comment icon holds a reference to it.
* Reorganized the setVisible function.
* Changed how xml.js serializes and deserializes comments.
* Split showContextMenu_
Split showContextMenu_ into generateContextMenu_ and showContextMenu_. This allows for custom Blockly forks to easily extend the context menu options available on all blocks by just doing something like
```
var oldGenerateContextMenu_ = Blockly.BlockSvg.prototype.generateContextMenu_;
Blockly.BlockSvg.prototype.generateContextMenu_ = function() {
var menuOptions = Blockly.BlockSvg.prototype.generateContextMenu_() || [];
// Push other options into menuOptions
return menuOptions;
}
```
Rather than having to modify the core code in such a way as to cause unnecessary maintenance overhead when upgrading Blockly versions.
* Forgot the docblock, sorry
* Oops, missed a few ESLint things
* Update block_svg.js
Updated to be protected rather than private.
Old: a box object with two coordinate objects, each with two numbers.
New: a box object with four numbers.
The old system would make sense if there was a reason to group the top-left and bottom-right coordinates. But in our code we only pulled out top/bottom/left/right numbers.
New code is simpler and faster.