/*
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one
|
|
* or more contributor license agreements. See the NOTICE file
|
|
* distributed with this work for additional information
|
|
* regarding copyright ownership. The ASF licenses this file
|
|
* to you under the Apache License, Version 2.0 (the
|
|
* "License"); you may not use this file except in compliance
|
|
* with the License. You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing,
|
|
* software distributed under the License is distributed on an
|
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
* KIND, either express or implied. See the License for the
|
|
* specific language governing permissions and limitations
|
|
* under the License.
|
|
*
|
|
*/
|
|
|
|
// If ProgressEvent exists in global context, use it already, otherwise use our own polyfill
|
|
// Feature test: See if we can instantiate a native ProgressEvent;
|
|
// if so, use that approach,
|
|
// otherwise fill-in with our own implementation.
|
|
//
|
|
// NOTE: right now we always fill in with our own. Down the road would be nice if we can use whatever is native in the webview.
|
|
var ProgressEvent = (function() {
|
|
/*
|
|
var createEvent = function(data) {
|
|
var event = document.createEvent('Events');
|
|
event.initEvent('ProgressEvent', false, false);
|
|
if (data) {
|
|
for (var i in data) {
|
|
if (data.hasOwnProperty(i)) {
|
|
event[i] = data[i];
|
|
}
|
|
}
|
|
if (data.target) {
|
|
// TODO: cannot call <some_custom_object>.dispatchEvent
|
|
// need to first figure out how to implement EventTarget
|
|
}
|
|
}
|
|
return event;
|
|
};
|
|
try {
|
|
var ev = createEvent({type:"abort",target:document});
|
|
return function ProgressEvent(type, data) {
|
|
data.type = type;
|
|
return createEvent(data);
|
|
};
|
|
} catch(e){
|
|
*/
|
|
return function ProgressEvent(type, dict) {
|
|
this.type = type;
|
|
this.bubbles = false;
|
|
this.cancelBubble = false;
|
|
this.cancelable = false;
|
|
this.lengthComputable = false;
|
|
this.loaded = dict && dict.loaded ? dict.loaded : 0;
|
|
this.total = dict && dict.total ? dict.total : 0;
|
|
this.target = dict && dict.target ? dict.target : null;
|
|
};
|
|
//}
|
|
})();
|
|
|
|
module.exports = ProgressEvent;
|