Rewrite unit tests for goog.events.EventTarget into a tester class.
Ensure that we test goog.events.EventTarget via both goog.events.*
interface and goog.events.EventTarget.* interface.

R=gboyer
DELTA=1164  (768 added, 380 deleted, 16 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5681


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2239 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Add goog.getMsgWithFallback.

R=nnaze
DELTA=31  (30 added, 0 deleted, 1 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5682


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2240 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Make InputHandler fire INPUT events synchronously in IE9 when adding text.

InputHandler events being  asynchronous for IE is a common issue for cases like auto-grow textareas where they result in a quick flash of scrollbars between the textarea content growing and it being resized to fit.

Also update the demo page to log both InputHandler and relevant browsers events.

I have tested this manually on Chrome, FF and IE8/IE9 and verified that the event is getting fired correctly.

R=gboyer
DELTA=98  (50 added, 23 deleted, 25 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5683


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2241 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Move performance tests into a shared location, add test of
byte strings.

R=azzie
DELTA=125  (67 added, 49 deleted, 9 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5684


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2242 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Add tracking of whether the shift key is pressed when an emoji symbol is picked.
This is needed according to the SlickCompose emoji UI design.

R=nicksantos
DELTA=82  (77 added, 1 deleted, 4 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5699


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2243 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Add more logic when document.documentMode is undefined.
In IE version < 8, document.documentMode is undefined, so attempt to use document.compatMode to see if we are in standards mode.
If we are in standards mode, treat the browser version as the document mode.
Otherwise, IE is emulating IE 5. For instance, in quirks mode, IE8 and IE9 both report a document mode of 5.

R=brenneman,mcaoun
DELTA=917  (900 added, 10 deleted, 7 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5700


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2244 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Add a comment indicating why we mark an XHR with status===0 for a non-Http
scheme endpoint as a successful XHR.
(Courtesy: Dan Pupius)

Notes on the web that indicate the issue:
http://www.daniweb.com/web-development/javascript-dhtml-ajax/threads/282972/why-am-i-getting-xmlhttprequest.status0#

R=vbhasin
DELTA=2  (2 added, 0 deleted, 0 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5701


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2245 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Add password-based key derivation function 2 (pbkdf2) to the closure library.

R=gcasto,nnaze
DELTA=261  (235 added, 19 deleted, 7 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5702


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2246 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Start using DOMTokenList methods in dom.classes.  See http://caniuse.com/classlist.  Added implementations for has, contains, get, swap, enable, toggle.  Support for add(), remove() and addRemove() will be tricky for a couple reasons:

- browsers don't seem to support the var-arg versions here: http://dom.spec.whatwg.org/#domtokenlist
- Closure allows space-separated class names, DOMTokenList throws exceptions for invalid classnames

All classes unit tests pass in Chrome, Firefox and all versions of IE.

R=gboyer,arv
DELTA=129  (89 added, 0 deleted, 40 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5703


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2247 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Automated g4 rollback

*** Reason for rollback ***

Broke lots of things...

*** Original change description ***

Start using DOMTokenList methods in dom.classes.  See http://caniuse.com/classlist.  Added implementations for has, contains, get, swap, enable, toggle.  Support for add(), remove() and addRemove() will be tricky for a couple reasons:

- browsers don't seem to support the var-arg versions here: http://dom.spec.whatwg.org/#domtokenlist
- Closure allow

... description truncated by g4 rollback ...

R=gboyer


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5704


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2248 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Make fireTouchSequence test a simple touch with one position.

R=pallosp
DELTA=6  (0 added, 2 deleted, 4 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5705


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2249 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Define a regular expression matcher.

R=vbhasin


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5706


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2250 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Improve type inferrence for iteration methods and such in: goog.object, goog.iter, goog.structs,
goog.function, and goog.component

R=gboyer
DELTA=5906  (2787 added, 2508 deleted, 611 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5711


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2251 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Extend PerformanceTimer to support asynchronous test functions.

Note that I checked that {function()} is considered a subtype of
{function(function()=)} by the Closure compiler, so the type change of
the test function should be safe.

R=nicksantos,zachlloyd
DELTA=205  (175 added, 9 deleted, 21 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5722


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2252 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Introduce alternative to goog.dom.classes:  goog.dom.classlist that is ideally a thin wrapper around Element.classList (DOMTokenList)

R=gboyer,arv
DELTA=401  (401 added, 0 deleted, 0 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5723


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2253 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Remove the header:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
from the tests that want to exercise quirks mode.
Found while working on a pending cl.

R=chrishenry
DELTA=14  (0 added, 6 deleted, 8 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5724


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2254 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Correct function signature for goog.object.filter and goog.object.some

R=gboyer
DELTA=2  (0 added, 0 deleted, 2 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5725


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2255 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Automated g4 rollback 

*** Reason for rollback ***

broke things

*** Original change description ***

Correct function signature for goog.object.filter and goog.object.some


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5726


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2256 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Automated g4 rollback

*** Reason for rollback ***

Revealed problem was fixed.

*** Original change description ***

Automated g4 rollback

*** Reason for rollback ***

broke things

*** Original change description ***

Correct function signature for goog.object.filter and goog.object.some

R=gboyer
DELTA=2  (0 added, 0 deleted, 2 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5727


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2257 0b95b8e8-c90f-11de-9d4f-f947ee5921c8

Fix some code which I suspect was leading to the browser channel sometimes publishing bogus server reachability events.  ChannelRequest was reading an XhrIo's http status code without checking that it had raised an http status error.

R=nicksantos
DELTA=1  (0 added, 0 deleted, 1 changed)


Revision created by MOE tool push_codebase.
MOE_MIGRATION=5728


git-svn-id: http://closure-library.googlecode.com/svn/trunk@2258 0b95b8e8-c90f-11de-9d4f-f947ee5921c8