Make sure to treat tabindex as number, not string, so comparisons work correctly, fixes #15036 !strict.
Don't focus the first menu item when menu drop down is opened by a mouse click.   Continue to focus the first menu item if menu is opened via the keyboard.    Also, continue to focus the selected item in the dropdown list from a dijit.form.Select.   Works around iOS problem on !DropDownButton, !ComboButton, and Menu/!MenuBar where the first click on the drop down menu  is ignored.   

Refs #14918, fixes #10716 !strict.
Account for exception on closing a Dialog when the !DialogLevelManager tries to refocus the button that launched the Dialog, but gets an error.   Happens on page unload on IE when the dijit.form.Button that launched the Dialog is destroyed before the Dialog.   Fixes #15058 on trunk/ !strict.
Remove unnneeded require() of dojo/touch, and fix event names.   Can't use dojo/touch because _CssStateMixin uses addEventListener()/attachEvent() rather than dojo/on.   Refs #12250 !strict.
Avoid exception calling emit() after widget is destroyed (when there is no domNode), or during teardown, refs #13785 !strict.   Depends on this._beingDestroyed remaining true after the widget is destroyed.
Fixes #15068.  Don't overwrite existing label id.
Fix update() method to obey source.generateText flag (specifically, when the flag is false).   Fixes #14282 !strict.
Allow placeAt() to take an id of a widget or DOMNode, rather than an id refers to a DOMNode.   This will (hopefully) avoid confusion given that a widget's id == it's DOMNode's id.

If the parent widget is started then call startup() on the child widget automatically, even if the parent doesn't have an addChild() method.

Also upgrading test to AMD.

Fixes #14946, #15066 !strict.
Refs #14968.  Eliminate Chrome performance issue by progressively shrinking faster instead of 1px at a time.
Don't try to save tree state if cookieName is undefined (which happens when there's no user specified id).   Fixes #15088, refs #12735 !strict.
Fixes #15098.  Remove incorrect and duplicate ButtonMixin test.
Fixes #15101.  Add semicolons after return statements in the onclick handlers in 1.7 and reverted return false statements.
Refs #14968.  Speed up shrink on Chrome/Firefox.
Fixes #15070.  Move InlineEditBox related widgets offscreen when not in use instead of just hiding them on screen.
Fix error from [25961] preventing specifying datePackage as a string (back-compat support), refs #13494, fixes #15111 !strict, thanks cjolif.
For some reason [28224] broke how "dijit" in robot test files points to the dijit in the iframe, thus breaking dijit/tests/tree/robot/Tree_selector.html (and also intermittently the Tree_dnd.html test) on IE8.

Referencing dojo.global.require("dijit/registry") instead of dijit.   Eventually all these files should be converted to full AMD.

Refs #14929, #14986 !strict.
Use dojo/when rather than dojo/_base/Deferred (for dijit), refs #14615 !strict.   For _AutoCompleterMixin.js it was just including Deferred unnecessarily, so removed it.
Manually generate click event from touchend event to avoid iOS/safari bugs when a click event doesn't occur after focus has been programatically shifted.

Right now the code is just listening for touchend events.   dojox/mobile is doing something more complicated where it listens to touchstart, touchmove, and touchend.   That's not needed on most dijit pages since touchmove just scrolls the document, while keeping the finger on the originally touched node.   But maybe dijit will need to do it eventually for pages that trap touchmove and call evt.preventDefault(), thus allowing a user to touchstart somewhere random, slide to the node with the a11yclick handler, and then do a touchend.

Fixes #14918, refs #14604 !strict.
Make ContentPane extend _Container so that addChild()/removeChild() work for basic case.  

Also updating _Container documentation (aka spec) to indicate that it can be a superclass for any widget with children, but that addChild()/removeChild() should only be used when an instance contains (nothing more than) a list of child widgets.

addChild() won't work well for !ContentPane nested in layout widgets because it doesn't call resize(), since it's unclear if the !ContentPane is visible or not, and resize() doesn't work on hidden tabs.   It also doesn't call _checkIfSingleChild() to resize a single child widget to fill the whole !ContentPane.

Finally, reducing code for _Container::_getSiblingOfChild().

Fixes #7819 !strict.
Fix tests to be more resilient to small viewport sizes, fixes #15083.