1.1 --- a/rt/emul/compact/src/main/java/java/util/TimeZone.java Fri Oct 04 12:01:56 2013 +0200
1.2 +++ b/rt/emul/compact/src/main/java/java/util/TimeZone.java Fri May 20 06:02:44 2016 +0200
1.3 @@ -40,9 +40,8 @@
1.4
1.5 import java.io.Serializable;
1.6 import java.lang.ref.SoftReference;
1.7 -import java.security.AccessController;
1.8 -import java.security.PrivilegedAction;
1.9 import java.util.concurrent.ConcurrentHashMap;
1.10 +import org.apidesign.bck2brwsr.core.JavaScriptBody;
1.11
1.12 /**
1.13 * <code>TimeZone</code> represents a time zone offset, and also figures out daylight
1.14 @@ -617,8 +616,35 @@
1.15 defaultZone = defaultTimeZone;
1.16 if (defaultZone == null) {
1.17 // Need to initialize the default time zone.
1.18 - defaultZone = TimeZone.NO_TIMEZONE;
1.19 - assert defaultZone != null;
1.20 + defaultZone = new TimeZone() {
1.21 + @Override
1.22 + public int getOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds) {
1.23 + return getRawOffset();
1.24 + }
1.25 +
1.26 + @Override
1.27 + public void setRawOffset(int offsetMillis) {
1.28 + }
1.29 +
1.30 + @Override
1.31 + public int getRawOffset() {
1.32 + int minutesOff = dateTimezoneOffset();
1.33 + return -60 * 1000 * minutesOff;
1.34 + }
1.35 +
1.36 + @JavaScriptBody(args = { }, body = "return new Date().getTimezoneOffset();")
1.37 + private native int dateTimezoneOffset();
1.38 +
1.39 + @Override
1.40 + public boolean useDaylightTime() {
1.41 + return false;
1.42 + }
1.43 +
1.44 + @Override
1.45 + public boolean inDaylightTime(Date date) {
1.46 + return false;
1.47 + }
1.48 + };
1.49 }
1.50 }
1.51 // Don't clone here.