Add missing host-node and host-rhino rules to has.js

Fixes #17741.

(cherry picked from commit ce4704766da86485459d9b16514fe7d2e48a6bda)
(cherry picked from commit fd52c9617a7191983427172335f71b2211db383e)
(cherry picked from commit d4c0bbf60e25fe9dfd05668260f8225042b6856f)
Revert "Fix IE11 sniffing. Fixes #17311."

This reverts commit 926898da2934cdfba9c99c11a25a8c9080811f35.
Add Microsoft-recommended UA sniff for IE11. Backported to 1.7 _base/sniff.js. Fixes #17311.
Add Trident UA to match every other UA

Refs #17311

(cherry picked from commit bbe72ecd13f5604802b2498f3623e7c5961069f4)
(cherry picked from commit 769bfce2141826ed873d3eba3302227a08a43052)
(cherry picked from commit 136ac4ed115997c5a88118db15d29ff706d7654e)

Conflicts:
	window.js
Always return QueryResults from map and filter (1.7 backport)

Fixes #17681

(cherry picked from commit bdd52aceb1319e919aa8a5157156c36170bcc098)
(cherry picked from commit d34b6a591477ca4e43d000540b66bc612f29ed7a)

Conflicts:
	store/util/QueryResults.js
Use IE's native focusin/focusout support for IE9+ too, avoiding asynchronous focus notification, fixes #16968,  #16970, and refs #16926, #16972 !strict.

git-svn-id: http://svn.dojotoolkit.org/src/dojo/trunk@31152 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit 74f1af634dff02139086221b69b6066c34546e18)

Conflicts:
	on.js

(cherry picked from commit b9ab7f580c8a123ff07ebd9a3b0695e24cf5c5ba)

Conflicts:
	on.js
Remove dumb speed test that compares against an old API we will never restore

Fixes #11200

(cherry picked from commit a3dd7a47aa01315e601525b0d8217a8408237149)
(cherry picked from commit d7ec9bb2e84a0880e831b5c120214011cdcd9097)
Make selective fixes to the date/locale tests based on what Mark Hays did for 1.9

(cherry picked from commit c2034f3a991a7a0184e0815f7f4f046ed35e97d9)
[27007] updated the browser-resize detection for subclasses of _LayoutWidget, but not for subclasses of !ContentPane.    Adding in code for !ContentPane too.   However, that exposes the infinite loop problem, where !ContentPane.resize() causes a(nother) browser resize event, so have to add guard code to detect spurious resize notifications, hence a new !Viewport.js helper module.

Also modifying Dialog to leverage the viewport resize events it gets as a !ContentPane subclass, rather than setting up it's own listener.

Also modifying robotx.js so that it sets the iframe size before dojo loads (inside the iframe), rather than after.   The !BorderContainer_full.html test was hitting a corner case (on IE) where DOH resized the iframe after the !BorderContainer layout() ran, but the !BorderContainer didn't get a resize event (like on a true browser resize), so it didn't resize itself.

Refs #14247 !strict.

git-svn-id: http://svn.dojotoolkit.org/src/dojo/trunk@27262 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit 936fd91d48c48b4a826dc2478f92718599e9c7ef)
Fix MID's in dojo/ and dijit/ modules to be relative paths (when possible), and convert "." --> "./main".

The "./main" references in dijit/ modules are for exporting symbols to the "dijit" namespace and thus will be removed in 2.0, but before that (for consistency) maybe it's worth changing the code to export via setObject(), like dojo.declare() does.

Fixes #14742 !strict.

git-svn-id: http://svn.dojotoolkit.org/src/dojo/trunk@27778 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit 0564589f5cb9cdefc763f47355ea02268e654d7d)

Conflicts:
	robotx.js
Some fixes for robot to be able to run against AMD (baseless) iframe.   Refs #14929 1strict.

git-svn-id: http://svn.dojotoolkit.org/src/dojo/trunk@28089 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit b95f1305ce555e1564c35c5ed8f825fdadccdfe5)
Convert robot*.js files to baseless AMD, and remove document.write() usage.

 To get util/doh/robot.js to play nice with AMD (no document.write(), and no reference to dojo global), I introduced a dependency to dojo which theoretically wasn't needed before.   Perhaps it can be removed in the future.   If isolation is desired, the dojo-dependent code should be moved to dojo/robot.js, not put if if(){...} blocks.

 Also removed the document.write() usage in dojo/robotx.js to create a console div.   On IE6/IE7, we are already getting a firebug-lite console, so just using that.   (This might be dependent on having isDebug:true in the data-dojo-config of the test file though.)

 Theoretically fixes #14929 !strict.

git-svn-id: http://svn.dojotoolkit.org/src/dojo/trunk@28336 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit 40773a908934997a42eeb0f425fbf79117d26846)

Conflicts:
	robot.js
	robotx.js

Conflicts:
	robotx.js
fix path to doh/main, refs #14929 !strict

git-svn-id: http://svn.dojotoolkit.org/src/dojo/trunk@28448 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit 858109db9e00a554b1536c625514b8bef54db243)
make window and document from iframe (loaded by initRobot()) available from robot module export, refs #14929 !strict.

git-svn-id: http://svn.dojotoolkit.org/src/dojo/trunk@28569 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit b4b69a9772290e13ae27e54d2be1ce20800acf38)
Various DOH robot updates:

   - Don't include dijit code into page with robot test code; dijit should only be loaded in the content iframe.
   - Fix double scrollbar on tests (on IE8) caused by overflow:visible setting on <html>
   - Prefer dojo/domReady! to dojo/ready, in order to support other AMD loaders.   However, dojo/ready is still needed for the outer frame to detect when the inner frame (with the content) has completed initializing.
   - Since robot depends on dojo, use domClass.add() and remove() to add dohRobot class to <html> node, to avoid getting a space character in the class string.

 Fixes #15865, refs #15616 on 1.8/ branch !strict.

git-svn-id: http://svn.dojotoolkit.org/src/branches/1.8/dojo@29506 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit ffc6bd0481e461ca2364ff62eaf43dd5ea1e5e3c)

Conflicts:
	robotx.js
Refactor robot so initRobot() is implemented as an asynchronous test fixture, rather than using monkey patching code that doesn't work well, having two places calling doh._run() in a race condition.   This design also makes better code separation between vanilla DOH and robot.

I plan to do the same for startRobot() in the next check in.

Also fixes priority of ready() call inside DOH.   The default priority is 1000, so we need to be higher than that, so that DOH doesn't execute until the iframe's dojo.ready() call has finished executing.

Fixes #16386 !strict.

git-svn-id: http://svn.dojotoolkit.org/src/dojo/trunk@30060 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit 6698b8f5f307bd1c8ded908e22b8b91e1b1a6047)
(cherry picked from commit 57cacb66b7ed89c4a9ca2eb4ec7587fb95ef1ab5)

Conflicts:
	robotx.js
Refactor robot so startRobot() is implemented as an asynchronous test fixture, rather than monkey patching doh.run().  This design makes better code separation between vanilla DOH and robot.

Refs #16386 !strict.

git-svn-id: http://svn.dojotoolkit.org/src/dojo/trunk@30074 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit 28f564e8186eb26efc4f99746ac1d0c7d3038bb0)
(cherry picked from commit c52544a0e0ede89178bb3393cb4e737baf0026ca)
Correct detection of focusin support

Fixes #17599

(cherry picked from commit e245ce5c80b85351642fd1ffc18a2d77bbbb0770)
(cherry picked from commit ca391f932e3a3f032dd8b84566c4176857eb8ac3)
Improve focusin detection support

This change prevents unintentional scrolling and unfocusing of
whatever element was in focus before the feature detect in browsers
that need to do the long feature detect.

Adds test case.

Refs #17599

(cherry picked from commit 2536e5cd0935cc7356d584bab6ac2c73d3ad6164)

Conflicts:
	tests/on/on.js

(cherry picked from commit f774568707ea95b9a56bf646b2ce46e1c57907f8)
Position test element so it is actually fixed to viewport

Fixes #17626

(cherry picked from commit 65e989efbcda628e72c9616faf11d480aacebf2f)
(cherry picked from commit ab088a9741a6383495a20bc34e84403e2962ed03)