Fix no ops in Array initialization.

For seedTypes > 4 we initialized the whole array with undefined,
which is the same thing than doing new Array(length).
Removed unncesseary code.

Change-Id: Ic9e4007492981829fafa463c13f942511d465128
Clean up and refactor CodeSplitter & CodeSplitter2

Fixes random issues in CodeSplitter2 due to the fact that the fixup pass
for load order dependencies was done incorrectly; it was done when deciding
how to merge but was not taken into account when computing the atoms the
resulting fragments.

This patch unifies the logic with the original CodeSplitter, making splitting
a two stage process: (1) decide how to group splitpoints into fragments, and
(2) compute how the code is split into fragments taking into account load
order dependencies.

Change-Id: I45f27fd83263fabfa2e05c45e9e01eb79e8071f9
Silence GWT compiler warning about deprecated DOM.isOrHasChild().

Change-Id: I6ed65ede38b06ce42f51be9613a129a938f0b048
Adds conversion logic for non-js numeric types to dev-mode compatible types.

With the HtmlUnit upgrade I discovered that htmlunit js engine can return
types that are not available in javascript. This caused htmlunit devmode
to utilize the buggy codepath for transerring longs in BrowserChannel.

This change ensures that we are sending numeric types as either Integer or
Double to better mimic other devmodes.

Change-Id: Ic58b6c08a6c56aba455246cb8615e17c162d61d7
Review-Link: https://gwt-review.googlesource.com/#/c/4592/
Add create Array with size to JavaScriptObject

The createArray method creates an array with zero length.
After consulting with the v8 team, creating arrays with the
correct size up front will potentially save several memory
allocations and possible array copies.

Change-Id: I34912b95dfd52686be8dcf5fdfc083f1fb32aebb
Change DOM access in HTMLTable for IE.

Using table.rows or table.rows[i].cells causes memory leak in IE 6-10.
Added two different implementations to access table rows and cells. One for
IE and one for the rest.

This seems to be a known IE issue:
http://connect.microsoft.com/IE/feedback/details/790340/memory-leak-in-ie9-ie10-tables

fixes issue 6938

Change-Id: I5789589a307f457a1295b9ed72111ad4c040fa97
Review-Link: https://gwt-review.googlesource.com/#/c/3212/
Removes deprecated PropertyOracle methods.

Change-Id: I8f6fa7f089fde645dbd9304909f160a1fdd378d2
Removes the code from BrowserChannel for unused numeric types.

Devmode doesn't use float and long on the wire. The code path for both
types are untested and actually contains bugs in both C++ and Java sides.
This patch marks these types as unused and removes related code from
BrowserChannel to prevent accidental use - which has happened after an
upgrade of htmlunit.

Change-Id: I27131f2f0a1f772f6f17c4296e486d6e7208a1f2
Review-Link: https://gwt-review.googlesource.com/#/c/4612/
Gets rid of long waits inside MediaSuite

MediaSuite test are slowest running test suite in GWT-SDK due to unnecessary
long waits inside the test cases. As it is slowest suie, it slows down whole
test execution when the tests are executed in parallel.

This patch changes the test pattern so that they are executed as fast as
possible via polling the state.

Suite now finishes ~1 min instead of ~3 min; i.e less wait for smoke test results!

Change-Id: I4a2a67884aea2d060343c4afaf3aff99ed48ab51
Change the generated code in assertions for easier debugging
 - add a "debugger" statement before throwing
 - throw the exception in the caller for one less frame in the stack trace

Unfortunately the stack trace doesn't get properly logged to the JavaScript
console because we aren't doing that for Java exceptions yet. (Goktug fixed
this for JavaScript exceptions.)

(I'm not sure if we still need the magic methods in "Exceptions", but keeping
them seems easier for now.)

Change-Id: I655d2244a01d97ea6a538f695a85cc3eb3a1cb5b
Review-Link: https://gwt-review.googlesource.com/#/c/4614/
Add StringBuilder.appendCodePoint(int)

Change-Id: I60e008d4d7264f388492969a5042caf6a3aba435
Removes the DST workaround in CalendarUtil.

Due the way javascript handles DST new Date(YYYY,mm,dd) may result
in (YYYY, mm, dd-1). For example; in BST timezone:
 >> new Date("2013, Oct 20")
prints Sat Oct 19 2013 23:00:00 GMT-0300 (BRT)

To workaround this issue, DatePicker was patched in r5218:
https://code.google.com/p/google-web-toolkit/source/detail?r=5218

However later java.lang.Date emul fixed the issue in r6674:
https://code.google.com/p/google-web-toolkit/source/detail?r=6674

This workaround is no longer needed and causes other problems.

The patch is manually tested with setting the timezone to BST in
OSX and restarting Chrome.

partially fixes issue 4785

Change-Id: Ie534fce157c288df2bedcdc51abc882eb7ccba28
DatePicker improvements

Add the ability to navigate through the years
Add the ability to select the month via a dropdown list
Add the ability to select the year via a dropdown list
Keep the backward compatibility, the datepicker is rendered as before if we don't use any of the above options

Fix issue 3520
Change-Id: I43df1792216403f324df024fd3503f4136149a1a
cleans up Compiler.java by moving out CompilerOptionsImpl

Change-Id: Iaac0012658707ea7ade564a6b3f4281c4e4e8e25
Avoid naming clashes between static members and top level names.

Static functions and methods are defined in the global scope. Two potentially unsafe
situations might occur if a static variable/function gets assigned a name that is already
a top level name (e.g. NaN, URL)

(1) The global variable/function gets overwritten and that would affect non GWT code that
migh be running alongside a GWT application.

(2) Static variables are just declared at the top scope and left uninitialized unless they
had an explicit assignent in their declaration. These uninitialized variables would have a
value of undefined (in the absence of name clashes) which is equivalent to null, preserving
java semantics. However if the name was already used at the top scope, they might have already
a non null value resulting in an incorrect execution.

We avoid clashes by blacklisting names that are normally at the top scope.

A better solution is to ensure GWT code is always enclosed by its own scope.

Change-Id: Ifd4b3a111764c239863062b372c5a06e7f7d6ef4
Removes the extra precision from date when entered from picker or textbox

When thedate  entered from text box or date picker, the date might have higher
precision then the datebox can display. This causes an extra value change event
when the textbox loses focus or date picker closes - which happens any time a date
is selected from the date picker. So it ends up in two value change event fires.

The change makes a round-trip on format and parse while accepting the date from
user to ensure that precison is no higher than the precision that can be
represented in the datebox.

fixes issue 4785

Change-Id: I35f50d0d5239560c1466697678040d8eefedc2a4
Review-Link: https://gwt-review.googlesource.com/#/c/4631/
fixes two invalid Event rebind rule paths

Change-Id: Ib53d7cc7e116db80faed9cc9cd8e4bc6ee464d8b
Replace Java 7 code with Java 6

* Integer.compare was added in Java 7

Change-Id: If26fe293249ce236c9890e57b59a21316c87869b
Fixes a bug where MenuBar steals focus even focusOnHoverEnabled is set to false

fixes issue 3884

Change-Id: I8dcfabc7d05000e5ee6cd0fb84dc5bbf0bc35ce2
Tweak SDM UI to handle really long module names

Currently, SDM's modal "Choose a module to recompile" dialog has no
bounded width, so a really long module name could force the Compile
button way off the right side of the screen.

This patch makes two minor tweaks to SDM's CSS:

  1. It sets the 'right' property on the dialog container element, so
     that the dialog will stay within the visible area of the page.

  2. It sets the 'word-wrap' property to 'break-word' so that the
     browser is allowed to break really long words (e.g., module
     names) to fit within the containing element.

Change-Id: Iaf5684e04ff2f6e3a4a5633a3e969633445bcc36