3232public class ProgressEvent extends Event {
3333
3434 private boolean lengthComputable_ ;
35- private Object loaded_ = Long . valueOf ( 0L ) ;
36- private long total_ ;
35+ private double loaded_ ;
36+ private double total_ ;
3737
3838 /**
3939 * Default constructor.
@@ -60,36 +60,10 @@ public void jsConstructor(final String type, final ScriptableObject details) {
6060 }
6161
6262 final Object loaded = details .get ("loaded" );
63- if (loaded instanceof Long ) {
64- loaded_ = loaded ;
65- }
66- else if (loaded instanceof Double double1 ) {
67- loaded_ = double1 .longValue ();
68- }
69- else {
70- try {
71- loaded_ = Long .parseLong (loaded .toString ());
72- }
73- catch (final NumberFormatException ignored ) {
74- // ignore
75- }
76- }
63+ loaded_ = JavaScriptEngine .toNumber (loaded );
7764
7865 final Object total = details .get ("total" );
79- if (total instanceof Long long1 ) {
80- total_ = long1 ;
81- }
82- else if (total instanceof Double double1 ) {
83- total_ = double1 .longValue ();
84- }
85- else {
86- try {
87- total_ = Long .parseLong (details .get ("total" ).toString ());
88- }
89- catch (final NumberFormatException ignored ) {
90- // ignore
91- }
92- }
66+ total_ = JavaScriptEngine .toNumber (total );
9367 }
9468 }
9569
@@ -99,7 +73,7 @@ else if (total instanceof Double double1) {
9973 * @param type the event type
10074 */
10175 public ProgressEvent (final EventTarget target , final String type ) {
102- super (target , type );
76+ this (target , type , false , 0d , 0d );
10377 }
10478
10579 /**
@@ -111,7 +85,7 @@ public ProgressEvent(final EventTarget target, final String type) {
11185 * @param total the total number of bytes
11286 */
11387 public ProgressEvent (final EventTarget target , final String type ,
114- final boolean lengthComputable , final long loaded , final long total ) {
88+ final boolean lengthComputable , final double loaded , final double total ) {
11589 super (target , type );
11690 lengthComputable_ = lengthComputable ;
11791 loaded_ = loaded ;
@@ -141,7 +115,7 @@ public void setLengthComputable(final boolean lengthComputable) {
141115 * @return the loaded property from the event.
142116 */
143117 @ JsxGetter
144- public Object getLoaded () {
118+ public double getLoaded () {
145119 return loaded_ ;
146120 }
147121
@@ -150,7 +124,7 @@ public Object getLoaded() {
150124 *
151125 * @param loaded the loaded information for this event
152126 */
153- public void setLoaded (final Object loaded ) {
127+ public void setLoaded (final double loaded ) {
154128 loaded_ = loaded ;
155129 }
156130
@@ -159,7 +133,7 @@ public void setLoaded(final Object loaded) {
159133 * @return the total property from the event.
160134 */
161135 @ JsxGetter
162- public long getTotal () {
136+ public double getTotal () {
163137 return total_ ;
164138 }
165139
@@ -168,7 +142,7 @@ public long getTotal() {
168142 *
169143 * @param total the total information for this event
170144 */
171- public void setTotal (final long total ) {
145+ public void setTotal (final double total ) {
172146 total_ = total ;
173147 }
174148}
0 commit comments