* Do not refresh the toolbox when a new variable is created on the workspace but it already exists in the variable map. This gets rid of some calls to Toolbox.refreshSelection. e.g. when you drag a variable block out of the toolbox, we were refreshing the toolbox. It will also help with xml loading for workspaces using multiple of the same variable reporter. More needs to be done to solve #879, but this helps a little.
* Fix typo
* New widget div functions, used in context menu code
* Make all widget div positioning functions use the same argument order
* Use new widget div functions for fields
* share code for measuring menu size
* Get rid of positionMenu
* Update copyright date
* Rebuild blockly_uncompressed because there's a new require in town
* Fix wrong width of field_dropdown with an image on Edge / IE
* Avoid re-rendering on IE and Edge by using getBBox().width to compute the text width on those browsers
* Implement Blockly.Events.filter in linear time
For large App Inventor projects (order 1k+ blocks, 100+ top-level
blocks), the O(n^2) behavior of Blockly.Event.filter was causing
performance issues when rearranging blocks or pasting from the
backpack. This commit provides a linear merge implementation using a
key that uniquely identifies a block so that multiple events targeting
the same block are merged. This change benefits from O(1) amortized
lookup using an object as a key-value store.
* Add event filter unit tests and fix logic bugs
* Update Blockly.Events.filter unit tests
* Fix#1275 by adding a more specific rule for overflow:visible on the drag surface svg. This wins out over a common bootstrap rule that says: svg:not(:root) {overflow:hidden} and helps avoid a difficult problem for Blockly users to diagnose.
* Update css.js
* Update extensions.js to be compatible with ADVANCED_OPTIMIZATIONS
We were using strings to check for the existence of properties on
a mutator, which breaks if those properties were renamed by the
closure compiler. This updates all of the uses to direct function
references so that anyone building with advanced optimizations turned
on will get the correct method references in their mutators.
fixes#1251
* Update to extensions.js for advanced optimizations
Some minor updates to making extensions.js work with advanced
optimizations.
* use === undefined instead of typeof == 'undefined'