Use dart:html prefixes (e.g. webkitAudioNode) on other browsers

BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/2431443002 .
This commit is contained in:
Alan Knight 2016-10-19 16:43:41 -07:00
parent 61bf8abd75
commit 47150f50d5
7 changed files with 201 additions and 30 deletions

View file

@ -1060,8 +1060,10 @@ define([], function() {
derived.__proto__ = base;
};
dart.setExtensionBaseClass = function(derived, base) {
derived.prototype[dart._extensionType] = derived;
derived.prototype.__proto__ = base.prototype;
if (base) {
derived.prototype[dart._extensionType] = derived;
derived.prototype.__proto__ = base.prototype;
}
};
dart.callableClass = function(callableCtor, classExpr) {
callableCtor.prototype = classExpr.prototype;
@ -16327,6 +16329,7 @@ define([], function() {
names: ['_create1', '_create2', '_create3']
});
dart.registerExtension(dart.global.Uint8ClampedArray, _native_typed_data.NativeUint8ClampedList);
dart.registerExtension(dart.global.CanvasPixelArray, _native_typed_data.NativeUint8ClampedList);
dart.defineExtensionNames([
'runtimeType',
'length',
@ -39310,6 +39313,7 @@ define([], function() {
}
});
dart.registerExtension(dart.global.IDBOpenDBRequest, indexed_db.OpenDBRequest);
dart.registerExtension(dart.global.IDBVersionChangeRequest, indexed_db.OpenDBRequest);
dart.defineExtensionNames([
'completed',
'abort',
@ -39561,6 +39565,7 @@ define([], function() {
html$.Event.BUBBLING_PHASE = 3;
html$.Event.CAPTURING_PHASE = 1;
dart.registerExtension(dart.global.Event, html$.Event);
dart.registerExtension(dart.global.InputEvent, html$.Event);
dart.defineExtensionNames([
'dataLoss',
'dataLossMessage',
@ -42439,6 +42444,8 @@ define([], function() {
}
});
dart.registerExtension(dart.global.ApplicationCache, html$.ApplicationCache);
dart.registerExtension(dart.global.DOMApplicationCache, html$.ApplicationCache);
dart.registerExtension(dart.global.OfflineResourceList, html$.ApplicationCache);
dart.defineExtensionNames([
'message',
'reason',
@ -46258,6 +46265,8 @@ define([], function() {
})
});
dart.registerExtension(dart.global.CSSKeyframeRule, html$.CssKeyframeRule);
dart.registerExtension(dart.global.MozCSSKeyframeRule, html$.CssKeyframeRule);
dart.registerExtension(dart.global.WebKitCSSKeyframeRule, html$.CssKeyframeRule);
dart.defineExtensionNames([
'appendRule',
'deleteRule',
@ -46305,6 +46314,8 @@ define([], function() {
})
});
dart.registerExtension(dart.global.CSSKeyframesRule, html$.CssKeyframesRule);
dart.registerExtension(dart.global.MozCSSKeyframesRule, html$.CssKeyframesRule);
dart.registerExtension(dart.global.WebKitCSSKeyframesRule, html$.CssKeyframesRule);
dart.defineExtensionNames([
'media'
]);
@ -52046,6 +52057,8 @@ define([], function() {
}
});
dart.registerExtension(dart.global.CSSStyleDeclaration, html$.CssStyleDeclaration);
dart.registerExtension(dart.global.MSStyleCSSProperties, html$.CssStyleDeclaration);
dart.registerExtension(dart.global.CSS2Properties, html$.CssStyleDeclaration);
const _elementIterable = Symbol('_elementIterable');
const _elementCssStyleDeclarationSetIterable = Symbol('_elementCssStyleDeclarationSetIterable');
const _setAll = Symbol('_setAll');
@ -64522,6 +64535,7 @@ define([], function() {
names: ['_create_1', '_create_2']
});
dart.registerExtension(dart.global.MouseEvent, html$.MouseEvent);
dart.registerExtension(dart.global.DragEvent, html$.MouseEvent);
html$.MutationCallback = dart.typedef('MutationCallback', () => dart.functionType(dart.void, [ListOfMutationRecord(), html$.MutationObserver]));
const _observe_1 = Symbol('_observe_1');
const _observe = Symbol('_observe');
@ -64611,6 +64625,7 @@ define([], function() {
});
html$.MutationObserver._boolKeys = dart.const(dart.map({childList: true, attributes: true, characterData: true, subtree: true, attributeOldValue: true, characterDataOldValue: true}, core.String, core.bool));
dart.registerExtension(dart.global.MutationObserver, html$.MutationObserver);
dart.registerExtension(dart.global.WebKitMutationObserver, html$.MutationObserver);
dart.defineExtensionNames([
'addedNodes',
'attributeName',
@ -65416,6 +65431,7 @@ define([], function() {
})
});
dart.registerExtension(dart.global.NodeList, html$.NodeList);
dart.registerExtension(dart.global.RadioNodeList, html$.NodeList);
dart.defineExtensionNames([
'nextElementSibling',
'previousElementSibling'
@ -68334,6 +68350,7 @@ define([], function() {
}
});
dart.registerExtension(dart.global.RTCDataChannel, html$.RtcDataChannel);
dart.registerExtension(dart.global.DataChannel, html$.RtcDataChannel);
dart.defineExtensionNames([
'channel'
]);
@ -68476,6 +68493,7 @@ define([], function() {
})
});
dart.registerExtension(dart.global.RTCIceCandidate, html$.RtcIceCandidate);
dart.registerExtension(dart.global.mozRTCIceCandidate, html$.RtcIceCandidate);
dart.defineExtensionNames([
'candidate'
]);
@ -68492,6 +68510,7 @@ define([], function() {
fields: () => ({[dartx.candidate]: html$.RtcIceCandidate})
});
dart.registerExtension(dart.global.RTCIceCandidateEvent, html$.RtcIceCandidateEvent);
dart.registerExtension(dart.global.RTCPeerConnectionIceEvent, html$.RtcIceCandidateEvent);
const _createOffer = Symbol('_createOffer');
const _createAnswer = Symbol('_createAnswer');
const _getStats = Symbol('_getStats');
@ -68851,6 +68870,7 @@ define([], function() {
}
});
dart.registerExtension(dart.global.RTCPeerConnection, html$.RtcPeerConnection);
dart.registerExtension(dart.global.mozRTCPeerConnection, html$.RtcPeerConnection);
dart.defineExtensionNames([
'sdp',
'type'
@ -68887,6 +68907,7 @@ define([], function() {
})
});
dart.registerExtension(dart.global.RTCSessionDescription, html$.RtcSessionDescription);
dart.registerExtension(dart.global.mozRTCSessionDescription, html$.RtcSessionDescription);
const _get_timestamp = Symbol('_get_timestamp');
dart.defineExtensionNames([
'timestamp',
@ -72034,6 +72055,8 @@ define([], function() {
})
});
dart.registerExtension(dart.global.HTMLTableCellElement, html$.TableCellElement);
dart.registerExtension(dart.global.HTMLTableDataCellElement, html$.TableCellElement);
dart.registerExtension(dart.global.HTMLTableHeaderCellElement, html$.TableCellElement);
dart.defineExtensionNames([
'span'
]);
@ -73781,6 +73804,7 @@ define([], function() {
names: ['_create_1', '_create_2']
});
dart.registerExtension(dart.global.TransitionEvent, html$.TransitionEvent);
dart.registerExtension(dart.global.WebKitTransitionEvent, html$.TransitionEvent);
dart.defineExtensionNames([
'firstChild',
'lastChild',
@ -76279,6 +76303,7 @@ define([], function() {
}
});
dart.registerExtension(dart.global.Window, html$.Window);
dart.registerExtension(dart.global.DOMWindow, html$.Window);
const _returnValue = Symbol('_returnValue');
html$._WrappedEvent = class _WrappedEvent extends core.Object {
new(wrapped) {
@ -77237,6 +77262,7 @@ define([], function() {
})
});
dart.registerExtension(dart.global.ClientRectList, html$._ClientRectList);
dart.registerExtension(dart.global.DOMRectList, html$._ClientRectList);
dart.defineExtensionNames([
'length',
'get',
@ -77780,6 +77806,7 @@ define([], function() {
})
});
dart.registerExtension(dart.global.NamedNodeMap, html$._NamedNodeMap);
dart.registerExtension(dart.global.MozNamedAttrMap, html$._NamedNodeMap);
html$._PagePopupController = class _PagePopupController extends _interceptors.Interceptor {
static _() {
dart.throw(new core.UnsupportedError("Not supported"));
@ -90299,6 +90326,7 @@ define([], function() {
})
});
dart.registerExtension(dart.global.AnalyserNode, web_audio.AnalyserNode);
dart.registerExtension(dart.global.RealtimeAnalyserNode, web_audio.AnalyserNode);
dart.defineExtensionNames([
'getChannelData',
'duration',
@ -90618,6 +90646,7 @@ define([], function() {
});
web_audio.AudioContext.completeEvent = dart.const(new (EventStreamProviderOfEvent())('complete'));
dart.registerExtension(dart.global.AudioContext, web_audio.AudioContext);
dart.registerExtension(dart.global.webkitAudioContext, web_audio.AudioContext);
dart.defineExtensionNames([
'maxChannelCount'
]);
@ -90821,6 +90850,7 @@ define([], function() {
constructors: () => ({_: dart.definiteFunctionType(web_audio.ChannelMergerNode, [])})
});
dart.registerExtension(dart.global.ChannelMergerNode, web_audio.ChannelMergerNode);
dart.registerExtension(dart.global.AudioChannelMerger, web_audio.ChannelMergerNode);
web_audio.ChannelSplitterNode = class ChannelSplitterNode extends web_audio.AudioNode {
static _() {
dart.throw(new core.UnsupportedError("Not supported"));
@ -90830,6 +90860,7 @@ define([], function() {
constructors: () => ({_: dart.definiteFunctionType(web_audio.ChannelSplitterNode, [])})
});
dart.registerExtension(dart.global.ChannelSplitterNode, web_audio.ChannelSplitterNode);
dart.registerExtension(dart.global.AudioChannelSplitter, web_audio.ChannelSplitterNode);
dart.defineExtensionNames([
'buffer',
'normalize'
@ -90934,6 +90965,7 @@ define([], function() {
fields: () => ({[dartx.gain]: web_audio.AudioParam})
});
dart.registerExtension(dart.global.GainNode, web_audio.GainNode);
dart.registerExtension(dart.global.AudioGainNode, web_audio.GainNode);
dart.defineExtensionNames([
'mediaElement'
]);
@ -91083,6 +91115,7 @@ define([], function() {
});
web_audio.OscillatorNode.endedEvent = dart.const(new (EventStreamProviderOfEvent())('ended'));
dart.registerExtension(dart.global.OscillatorNode, web_audio.OscillatorNode);
dart.registerExtension(dart.global.Oscillator, web_audio.OscillatorNode);
dart.defineExtensionNames([
'setOrientation',
'setPosition',
@ -91177,6 +91210,8 @@ define([], function() {
})
});
dart.registerExtension(dart.global.PannerNode, web_audio.PannerNode);
dart.registerExtension(dart.global.AudioPannerNode, web_audio.PannerNode);
dart.registerExtension(dart.global.webkitAudioPannerNode, web_audio.PannerNode);
web_audio.PeriodicWave = class PeriodicWave extends _interceptors.Interceptor {
static _() {
dart.throw(new core.UnsupportedError("Not supported"));
@ -91214,6 +91249,7 @@ define([], function() {
});
web_audio.ScriptProcessorNode.audioProcessEvent = dart.const(new (EventStreamProviderOfAudioProcessingEvent())('audioprocess'));
dart.registerExtension(dart.global.ScriptProcessorNode, web_audio.ScriptProcessorNode);
dart.registerExtension(dart.global.JavaScriptAudioNode, web_audio.ScriptProcessorNode);
dart.defineExtensionNames([
'curve',
'oversample'
@ -93483,6 +93519,7 @@ define([], function() {
})
});
dart.registerExtension(dart.global.WebGLLoseContext, web_gl.LoseContext);
dart.registerExtension(dart.global.WebGLExtensionLoseContext, web_gl.LoseContext);
web_gl.OesElementIndexUint = class OesElementIndexUint extends _interceptors.Interceptor {
static _() {
dart.throw(new core.UnsupportedError("Not supported"));

View file

@ -1060,8 +1060,10 @@
derived.__proto__ = base;
};
dart.setExtensionBaseClass = function(derived, base) {
derived.prototype[dart._extensionType] = derived;
derived.prototype.__proto__ = base.prototype;
if (base) {
derived.prototype[dart._extensionType] = derived;
derived.prototype.__proto__ = base.prototype;
}
};
dart.callableClass = function(callableCtor, classExpr) {
callableCtor.prototype = classExpr.prototype;
@ -16327,6 +16329,7 @@
names: ['_create1', '_create2', '_create3']
});
dart.registerExtension(dart.global.Uint8ClampedArray, _native_typed_data.NativeUint8ClampedList);
dart.registerExtension(dart.global.CanvasPixelArray, _native_typed_data.NativeUint8ClampedList);
dart.defineExtensionNames([
'runtimeType',
'length',
@ -39310,6 +39313,7 @@
}
});
dart.registerExtension(dart.global.IDBOpenDBRequest, indexed_db.OpenDBRequest);
dart.registerExtension(dart.global.IDBVersionChangeRequest, indexed_db.OpenDBRequest);
dart.defineExtensionNames([
'completed',
'abort',
@ -39561,6 +39565,7 @@
html$.Event.BUBBLING_PHASE = 3;
html$.Event.CAPTURING_PHASE = 1;
dart.registerExtension(dart.global.Event, html$.Event);
dart.registerExtension(dart.global.InputEvent, html$.Event);
dart.defineExtensionNames([
'dataLoss',
'dataLossMessage',
@ -42439,6 +42444,8 @@
}
});
dart.registerExtension(dart.global.ApplicationCache, html$.ApplicationCache);
dart.registerExtension(dart.global.DOMApplicationCache, html$.ApplicationCache);
dart.registerExtension(dart.global.OfflineResourceList, html$.ApplicationCache);
dart.defineExtensionNames([
'message',
'reason',
@ -46258,6 +46265,8 @@
})
});
dart.registerExtension(dart.global.CSSKeyframeRule, html$.CssKeyframeRule);
dart.registerExtension(dart.global.MozCSSKeyframeRule, html$.CssKeyframeRule);
dart.registerExtension(dart.global.WebKitCSSKeyframeRule, html$.CssKeyframeRule);
dart.defineExtensionNames([
'appendRule',
'deleteRule',
@ -46305,6 +46314,8 @@
})
});
dart.registerExtension(dart.global.CSSKeyframesRule, html$.CssKeyframesRule);
dart.registerExtension(dart.global.MozCSSKeyframesRule, html$.CssKeyframesRule);
dart.registerExtension(dart.global.WebKitCSSKeyframesRule, html$.CssKeyframesRule);
dart.defineExtensionNames([
'media'
]);
@ -52046,6 +52057,8 @@
}
});
dart.registerExtension(dart.global.CSSStyleDeclaration, html$.CssStyleDeclaration);
dart.registerExtension(dart.global.MSStyleCSSProperties, html$.CssStyleDeclaration);
dart.registerExtension(dart.global.CSS2Properties, html$.CssStyleDeclaration);
const _elementIterable = Symbol('_elementIterable');
const _elementCssStyleDeclarationSetIterable = Symbol('_elementCssStyleDeclarationSetIterable');
const _setAll = Symbol('_setAll');
@ -64522,6 +64535,7 @@
names: ['_create_1', '_create_2']
});
dart.registerExtension(dart.global.MouseEvent, html$.MouseEvent);
dart.registerExtension(dart.global.DragEvent, html$.MouseEvent);
html$.MutationCallback = dart.typedef('MutationCallback', () => dart.functionType(dart.void, [ListOfMutationRecord(), html$.MutationObserver]));
const _observe_1 = Symbol('_observe_1');
const _observe = Symbol('_observe');
@ -64611,6 +64625,7 @@
});
html$.MutationObserver._boolKeys = dart.const(dart.map({childList: true, attributes: true, characterData: true, subtree: true, attributeOldValue: true, characterDataOldValue: true}, core.String, core.bool));
dart.registerExtension(dart.global.MutationObserver, html$.MutationObserver);
dart.registerExtension(dart.global.WebKitMutationObserver, html$.MutationObserver);
dart.defineExtensionNames([
'addedNodes',
'attributeName',
@ -65416,6 +65431,7 @@
})
});
dart.registerExtension(dart.global.NodeList, html$.NodeList);
dart.registerExtension(dart.global.RadioNodeList, html$.NodeList);
dart.defineExtensionNames([
'nextElementSibling',
'previousElementSibling'
@ -68334,6 +68350,7 @@
}
});
dart.registerExtension(dart.global.RTCDataChannel, html$.RtcDataChannel);
dart.registerExtension(dart.global.DataChannel, html$.RtcDataChannel);
dart.defineExtensionNames([
'channel'
]);
@ -68476,6 +68493,7 @@
})
});
dart.registerExtension(dart.global.RTCIceCandidate, html$.RtcIceCandidate);
dart.registerExtension(dart.global.mozRTCIceCandidate, html$.RtcIceCandidate);
dart.defineExtensionNames([
'candidate'
]);
@ -68492,6 +68510,7 @@
fields: () => ({[dartx.candidate]: html$.RtcIceCandidate})
});
dart.registerExtension(dart.global.RTCIceCandidateEvent, html$.RtcIceCandidateEvent);
dart.registerExtension(dart.global.RTCPeerConnectionIceEvent, html$.RtcIceCandidateEvent);
const _createOffer = Symbol('_createOffer');
const _createAnswer = Symbol('_createAnswer');
const _getStats = Symbol('_getStats');
@ -68851,6 +68870,7 @@
}
});
dart.registerExtension(dart.global.RTCPeerConnection, html$.RtcPeerConnection);
dart.registerExtension(dart.global.mozRTCPeerConnection, html$.RtcPeerConnection);
dart.defineExtensionNames([
'sdp',
'type'
@ -68887,6 +68907,7 @@
})
});
dart.registerExtension(dart.global.RTCSessionDescription, html$.RtcSessionDescription);
dart.registerExtension(dart.global.mozRTCSessionDescription, html$.RtcSessionDescription);
const _get_timestamp = Symbol('_get_timestamp');
dart.defineExtensionNames([
'timestamp',
@ -72034,6 +72055,8 @@
})
});
dart.registerExtension(dart.global.HTMLTableCellElement, html$.TableCellElement);
dart.registerExtension(dart.global.HTMLTableDataCellElement, html$.TableCellElement);
dart.registerExtension(dart.global.HTMLTableHeaderCellElement, html$.TableCellElement);
dart.defineExtensionNames([
'span'
]);
@ -73781,6 +73804,7 @@
names: ['_create_1', '_create_2']
});
dart.registerExtension(dart.global.TransitionEvent, html$.TransitionEvent);
dart.registerExtension(dart.global.WebKitTransitionEvent, html$.TransitionEvent);
dart.defineExtensionNames([
'firstChild',
'lastChild',
@ -76279,6 +76303,7 @@
}
});
dart.registerExtension(dart.global.Window, html$.Window);
dart.registerExtension(dart.global.DOMWindow, html$.Window);
const _returnValue = Symbol('_returnValue');
html$._WrappedEvent = class _WrappedEvent extends core.Object {
new(wrapped) {
@ -77237,6 +77262,7 @@
})
});
dart.registerExtension(dart.global.ClientRectList, html$._ClientRectList);
dart.registerExtension(dart.global.DOMRectList, html$._ClientRectList);
dart.defineExtensionNames([
'length',
'get',
@ -77780,6 +77806,7 @@
})
});
dart.registerExtension(dart.global.NamedNodeMap, html$._NamedNodeMap);
dart.registerExtension(dart.global.MozNamedAttrMap, html$._NamedNodeMap);
html$._PagePopupController = class _PagePopupController extends _interceptors.Interceptor {
static _() {
dart.throw(new core.UnsupportedError("Not supported"));
@ -90299,6 +90326,7 @@
})
});
dart.registerExtension(dart.global.AnalyserNode, web_audio.AnalyserNode);
dart.registerExtension(dart.global.RealtimeAnalyserNode, web_audio.AnalyserNode);
dart.defineExtensionNames([
'getChannelData',
'duration',
@ -90618,6 +90646,7 @@
});
web_audio.AudioContext.completeEvent = dart.const(new (EventStreamProviderOfEvent())('complete'));
dart.registerExtension(dart.global.AudioContext, web_audio.AudioContext);
dart.registerExtension(dart.global.webkitAudioContext, web_audio.AudioContext);
dart.defineExtensionNames([
'maxChannelCount'
]);
@ -90821,6 +90850,7 @@
constructors: () => ({_: dart.definiteFunctionType(web_audio.ChannelMergerNode, [])})
});
dart.registerExtension(dart.global.ChannelMergerNode, web_audio.ChannelMergerNode);
dart.registerExtension(dart.global.AudioChannelMerger, web_audio.ChannelMergerNode);
web_audio.ChannelSplitterNode = class ChannelSplitterNode extends web_audio.AudioNode {
static _() {
dart.throw(new core.UnsupportedError("Not supported"));
@ -90830,6 +90860,7 @@
constructors: () => ({_: dart.definiteFunctionType(web_audio.ChannelSplitterNode, [])})
});
dart.registerExtension(dart.global.ChannelSplitterNode, web_audio.ChannelSplitterNode);
dart.registerExtension(dart.global.AudioChannelSplitter, web_audio.ChannelSplitterNode);
dart.defineExtensionNames([
'buffer',
'normalize'
@ -90934,6 +90965,7 @@
fields: () => ({[dartx.gain]: web_audio.AudioParam})
});
dart.registerExtension(dart.global.GainNode, web_audio.GainNode);
dart.registerExtension(dart.global.AudioGainNode, web_audio.GainNode);
dart.defineExtensionNames([
'mediaElement'
]);
@ -91083,6 +91115,7 @@
});
web_audio.OscillatorNode.endedEvent = dart.const(new (EventStreamProviderOfEvent())('ended'));
dart.registerExtension(dart.global.OscillatorNode, web_audio.OscillatorNode);
dart.registerExtension(dart.global.Oscillator, web_audio.OscillatorNode);
dart.defineExtensionNames([
'setOrientation',
'setPosition',
@ -91177,6 +91210,8 @@
})
});
dart.registerExtension(dart.global.PannerNode, web_audio.PannerNode);
dart.registerExtension(dart.global.AudioPannerNode, web_audio.PannerNode);
dart.registerExtension(dart.global.webkitAudioPannerNode, web_audio.PannerNode);
web_audio.PeriodicWave = class PeriodicWave extends _interceptors.Interceptor {
static _() {
dart.throw(new core.UnsupportedError("Not supported"));
@ -91214,6 +91249,7 @@
});
web_audio.ScriptProcessorNode.audioProcessEvent = dart.const(new (EventStreamProviderOfAudioProcessingEvent())('audioprocess'));
dart.registerExtension(dart.global.ScriptProcessorNode, web_audio.ScriptProcessorNode);
dart.registerExtension(dart.global.JavaScriptAudioNode, web_audio.ScriptProcessorNode);
dart.defineExtensionNames([
'curve',
'oversample'
@ -93483,6 +93519,7 @@
})
});
dart.registerExtension(dart.global.WebGLLoseContext, web_gl.LoseContext);
dart.registerExtension(dart.global.WebGLExtensionLoseContext, web_gl.LoseContext);
web_gl.OesElementIndexUint = class OesElementIndexUint extends _interceptors.Interceptor {
static _() {
dart.throw(new core.UnsupportedError("Not supported"));

View file

@ -1058,8 +1058,10 @@ dart.setBaseClass = function(derived, base) {
derived.__proto__ = base;
};
dart.setExtensionBaseClass = function(derived, base) {
derived.prototype[dart._extensionType] = derived;
derived.prototype.__proto__ = base.prototype;
if (base) {
derived.prototype[dart._extensionType] = derived;
derived.prototype.__proto__ = base.prototype;
}
};
dart.callableClass = function(callableCtor, classExpr) {
callableCtor.prototype = classExpr.prototype;
@ -16325,6 +16327,7 @@ dart.setSignature(_native_typed_data.NativeUint8ClampedList, {
names: ['_create1', '_create2', '_create3']
});
dart.registerExtension(dart.global.Uint8ClampedArray, _native_typed_data.NativeUint8ClampedList);
dart.registerExtension(dart.global.CanvasPixelArray, _native_typed_data.NativeUint8ClampedList);
dart.defineExtensionNames([
'runtimeType',
'length',
@ -39308,6 +39311,7 @@ dart.defineLazy(indexed_db.OpenDBRequest, {
}
});
dart.registerExtension(dart.global.IDBOpenDBRequest, indexed_db.OpenDBRequest);
dart.registerExtension(dart.global.IDBVersionChangeRequest, indexed_db.OpenDBRequest);
dart.defineExtensionNames([
'completed',
'abort',
@ -39559,6 +39563,7 @@ html.Event.AT_TARGET = 2;
html.Event.BUBBLING_PHASE = 3;
html.Event.CAPTURING_PHASE = 1;
dart.registerExtension(dart.global.Event, html.Event);
dart.registerExtension(dart.global.InputEvent, html.Event);
dart.defineExtensionNames([
'dataLoss',
'dataLossMessage',
@ -42437,6 +42442,8 @@ dart.defineLazy(html.ApplicationCache, {
}
});
dart.registerExtension(dart.global.ApplicationCache, html.ApplicationCache);
dart.registerExtension(dart.global.DOMApplicationCache, html.ApplicationCache);
dart.registerExtension(dart.global.OfflineResourceList, html.ApplicationCache);
dart.defineExtensionNames([
'message',
'reason',
@ -46256,6 +46263,8 @@ dart.setSignature(html.CssKeyframeRule, {
})
});
dart.registerExtension(dart.global.CSSKeyframeRule, html.CssKeyframeRule);
dart.registerExtension(dart.global.MozCSSKeyframeRule, html.CssKeyframeRule);
dart.registerExtension(dart.global.WebKitCSSKeyframeRule, html.CssKeyframeRule);
dart.defineExtensionNames([
'appendRule',
'deleteRule',
@ -46303,6 +46312,8 @@ dart.setSignature(html.CssKeyframesRule, {
})
});
dart.registerExtension(dart.global.CSSKeyframesRule, html.CssKeyframesRule);
dart.registerExtension(dart.global.MozCSSKeyframesRule, html.CssKeyframesRule);
dart.registerExtension(dart.global.WebKitCSSKeyframesRule, html.CssKeyframesRule);
dart.defineExtensionNames([
'media'
]);
@ -52044,6 +52055,8 @@ dart.defineLazy(html.CssStyleDeclaration, {
}
});
dart.registerExtension(dart.global.CSSStyleDeclaration, html.CssStyleDeclaration);
dart.registerExtension(dart.global.MSStyleCSSProperties, html.CssStyleDeclaration);
dart.registerExtension(dart.global.CSS2Properties, html.CssStyleDeclaration);
const _elementIterable = Symbol('_elementIterable');
const _elementCssStyleDeclarationSetIterable = Symbol('_elementCssStyleDeclarationSetIterable');
const _setAll = Symbol('_setAll');
@ -64520,6 +64533,7 @@ dart.setSignature(html.MouseEvent, {
names: ['_create_1', '_create_2']
});
dart.registerExtension(dart.global.MouseEvent, html.MouseEvent);
dart.registerExtension(dart.global.DragEvent, html.MouseEvent);
html.MutationCallback = dart.typedef('MutationCallback', () => dart.functionType(dart.void, [ListOfMutationRecord(), html.MutationObserver]));
const _observe_1 = Symbol('_observe_1');
const _observe = Symbol('_observe');
@ -64609,6 +64623,7 @@ dart.setSignature(html.MutationObserver, {
});
html.MutationObserver._boolKeys = dart.const(dart.map({childList: true, attributes: true, characterData: true, subtree: true, attributeOldValue: true, characterDataOldValue: true}, core.String, core.bool));
dart.registerExtension(dart.global.MutationObserver, html.MutationObserver);
dart.registerExtension(dart.global.WebKitMutationObserver, html.MutationObserver);
dart.defineExtensionNames([
'addedNodes',
'attributeName',
@ -65414,6 +65429,7 @@ dart.setSignature(html.NodeList, {
})
});
dart.registerExtension(dart.global.NodeList, html.NodeList);
dart.registerExtension(dart.global.RadioNodeList, html.NodeList);
dart.defineExtensionNames([
'nextElementSibling',
'previousElementSibling'
@ -68332,6 +68348,7 @@ dart.defineLazy(html.RtcDataChannel, {
}
});
dart.registerExtension(dart.global.RTCDataChannel, html.RtcDataChannel);
dart.registerExtension(dart.global.DataChannel, html.RtcDataChannel);
dart.defineExtensionNames([
'channel'
]);
@ -68474,6 +68491,7 @@ dart.setSignature(html.RtcIceCandidate, {
})
});
dart.registerExtension(dart.global.RTCIceCandidate, html.RtcIceCandidate);
dart.registerExtension(dart.global.mozRTCIceCandidate, html.RtcIceCandidate);
dart.defineExtensionNames([
'candidate'
]);
@ -68490,6 +68508,7 @@ dart.setSignature(html.RtcIceCandidateEvent, {
fields: () => ({[dartx.candidate]: html.RtcIceCandidate})
});
dart.registerExtension(dart.global.RTCIceCandidateEvent, html.RtcIceCandidateEvent);
dart.registerExtension(dart.global.RTCPeerConnectionIceEvent, html.RtcIceCandidateEvent);
const _createOffer = Symbol('_createOffer');
const _createAnswer = Symbol('_createAnswer');
const _getStats = Symbol('_getStats');
@ -68849,6 +68868,7 @@ dart.defineLazy(html.RtcPeerConnection, {
}
});
dart.registerExtension(dart.global.RTCPeerConnection, html.RtcPeerConnection);
dart.registerExtension(dart.global.mozRTCPeerConnection, html.RtcPeerConnection);
dart.defineExtensionNames([
'sdp',
'type'
@ -68885,6 +68905,7 @@ dart.setSignature(html.RtcSessionDescription, {
})
});
dart.registerExtension(dart.global.RTCSessionDescription, html.RtcSessionDescription);
dart.registerExtension(dart.global.mozRTCSessionDescription, html.RtcSessionDescription);
const _get_timestamp = Symbol('_get_timestamp');
dart.defineExtensionNames([
'timestamp',
@ -72032,6 +72053,8 @@ dart.setSignature(html.TableCellElement, {
})
});
dart.registerExtension(dart.global.HTMLTableCellElement, html.TableCellElement);
dart.registerExtension(dart.global.HTMLTableDataCellElement, html.TableCellElement);
dart.registerExtension(dart.global.HTMLTableHeaderCellElement, html.TableCellElement);
dart.defineExtensionNames([
'span'
]);
@ -73779,6 +73802,7 @@ dart.setSignature(html.TransitionEvent, {
names: ['_create_1', '_create_2']
});
dart.registerExtension(dart.global.TransitionEvent, html.TransitionEvent);
dart.registerExtension(dart.global.WebKitTransitionEvent, html.TransitionEvent);
dart.defineExtensionNames([
'firstChild',
'lastChild',
@ -76277,6 +76301,7 @@ dart.defineLazy(html.Window, {
}
});
dart.registerExtension(dart.global.Window, html.Window);
dart.registerExtension(dart.global.DOMWindow, html.Window);
const _returnValue = Symbol('_returnValue');
html._WrappedEvent = class _WrappedEvent extends core.Object {
new(wrapped) {
@ -77235,6 +77260,7 @@ dart.setSignature(html._ClientRectList, {
})
});
dart.registerExtension(dart.global.ClientRectList, html._ClientRectList);
dart.registerExtension(dart.global.DOMRectList, html._ClientRectList);
dart.defineExtensionNames([
'length',
'get',
@ -77778,6 +77804,7 @@ dart.setSignature(html._NamedNodeMap, {
})
});
dart.registerExtension(dart.global.NamedNodeMap, html._NamedNodeMap);
dart.registerExtension(dart.global.MozNamedAttrMap, html._NamedNodeMap);
html._PagePopupController = class _PagePopupController extends _interceptors.Interceptor {
static _() {
dart.throw(new core.UnsupportedError("Not supported"));
@ -90297,6 +90324,7 @@ dart.setSignature(web_audio.AnalyserNode, {
})
});
dart.registerExtension(dart.global.AnalyserNode, web_audio.AnalyserNode);
dart.registerExtension(dart.global.RealtimeAnalyserNode, web_audio.AnalyserNode);
dart.defineExtensionNames([
'getChannelData',
'duration',
@ -90616,6 +90644,7 @@ dart.setSignature(web_audio.AudioContext, {
});
web_audio.AudioContext.completeEvent = dart.const(new (EventStreamProviderOfEvent())('complete'));
dart.registerExtension(dart.global.AudioContext, web_audio.AudioContext);
dart.registerExtension(dart.global.webkitAudioContext, web_audio.AudioContext);
dart.defineExtensionNames([
'maxChannelCount'
]);
@ -90819,6 +90848,7 @@ dart.setSignature(web_audio.ChannelMergerNode, {
constructors: () => ({_: dart.definiteFunctionType(web_audio.ChannelMergerNode, [])})
});
dart.registerExtension(dart.global.ChannelMergerNode, web_audio.ChannelMergerNode);
dart.registerExtension(dart.global.AudioChannelMerger, web_audio.ChannelMergerNode);
web_audio.ChannelSplitterNode = class ChannelSplitterNode extends web_audio.AudioNode {
static _() {
dart.throw(new core.UnsupportedError("Not supported"));
@ -90828,6 +90858,7 @@ dart.setSignature(web_audio.ChannelSplitterNode, {
constructors: () => ({_: dart.definiteFunctionType(web_audio.ChannelSplitterNode, [])})
});
dart.registerExtension(dart.global.ChannelSplitterNode, web_audio.ChannelSplitterNode);
dart.registerExtension(dart.global.AudioChannelSplitter, web_audio.ChannelSplitterNode);
dart.defineExtensionNames([
'buffer',
'normalize'
@ -90932,6 +90963,7 @@ dart.setSignature(web_audio.GainNode, {
fields: () => ({[dartx.gain]: web_audio.AudioParam})
});
dart.registerExtension(dart.global.GainNode, web_audio.GainNode);
dart.registerExtension(dart.global.AudioGainNode, web_audio.GainNode);
dart.defineExtensionNames([
'mediaElement'
]);
@ -91081,6 +91113,7 @@ dart.setSignature(web_audio.OscillatorNode, {
});
web_audio.OscillatorNode.endedEvent = dart.const(new (EventStreamProviderOfEvent())('ended'));
dart.registerExtension(dart.global.OscillatorNode, web_audio.OscillatorNode);
dart.registerExtension(dart.global.Oscillator, web_audio.OscillatorNode);
dart.defineExtensionNames([
'setOrientation',
'setPosition',
@ -91175,6 +91208,8 @@ dart.setSignature(web_audio.PannerNode, {
})
});
dart.registerExtension(dart.global.PannerNode, web_audio.PannerNode);
dart.registerExtension(dart.global.AudioPannerNode, web_audio.PannerNode);
dart.registerExtension(dart.global.webkitAudioPannerNode, web_audio.PannerNode);
web_audio.PeriodicWave = class PeriodicWave extends _interceptors.Interceptor {
static _() {
dart.throw(new core.UnsupportedError("Not supported"));
@ -91212,6 +91247,7 @@ dart.setSignature(web_audio.ScriptProcessorNode, {
});
web_audio.ScriptProcessorNode.audioProcessEvent = dart.const(new (EventStreamProviderOfAudioProcessingEvent())('audioprocess'));
dart.registerExtension(dart.global.ScriptProcessorNode, web_audio.ScriptProcessorNode);
dart.registerExtension(dart.global.JavaScriptAudioNode, web_audio.ScriptProcessorNode);
dart.defineExtensionNames([
'curve',
'oversample'
@ -93481,6 +93517,7 @@ dart.setSignature(web_gl.LoseContext, {
})
});
dart.registerExtension(dart.global.WebGLLoseContext, web_gl.LoseContext);
dart.registerExtension(dart.global.WebGLExtensionLoseContext, web_gl.LoseContext);
web_gl.OesElementIndexUint = class OesElementIndexUint extends _interceptors.Interceptor {
static _() {
dart.throw(new core.UnsupportedError("Not supported"));

View file

@ -135,9 +135,16 @@ var dart_library =
// Expose constructors for DOM types dart:html needs to assume are
// available on window.
if (typeof PannerNode == "undefined") {
let audioContext = new AudioContext();
let audioContext;
if (typeof AudioContext == "undefined" &&
(typeof webkitAudioContext != "undefined")) {
audioContext = new webkitAudioContext();
} else {
audioContext = new AudioContext();
window.StereoPannerNode =
audioContext.createStereoPanner().constructor;
}
window.PannerNode = audioContext.createPanner().constructor;
window.StereoPannerNode = audioContext.createStereoPanner().constructor;
}
if (typeof AudioSourceNode == "undefined") {
window.AudioSourceNode = MediaElementAudioSourceNode.constructor;
@ -146,14 +153,18 @@ var dart_library =
window.FontFaceSet = document.fonts.__proto__.constructor;
}
if (typeof MemoryInfo == "undefined") {
window.MemoryInfo = window.performance.memory.constructor;
if (typeof window.performance.memory != "undefined") {
window.MemoryInfo = window.performance.memory.constructor;
}
}
if (typeof Geolocation == "undefined") {
navigator.geolocation.constructor;
}
if (typeof Animation == "undefined") {
let d = document.createElement('div');
window.Animation = d.animate(d).constructor;
if (typeof d.animate != "undefined") {
window.Animation = d.animate(d).constructor;
}
}
if (typeof SourceBufferList == "undefined") {
window.SourceBufferList = new MediaSource().sourceBuffers.constructor;

View file

@ -1061,8 +1061,10 @@ dart_library.library('dart_sdk', null, /* Imports */[
derived.__proto__ = base;
};
dart.setExtensionBaseClass = function(derived, base) {
derived.prototype[dart._extensionType] = derived;
derived.prototype.__proto__ = base.prototype;
if (base) {
derived.prototype[dart._extensionType] = derived;
derived.prototype.__proto__ = base.prototype;
}
};
dart.callableClass = function(callableCtor, classExpr) {
callableCtor.prototype = classExpr.prototype;
@ -16328,6 +16330,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
names: ['_create1', '_create2', '_create3']
});
dart.registerExtension(dart.global.Uint8ClampedArray, _native_typed_data.NativeUint8ClampedList);
dart.registerExtension(dart.global.CanvasPixelArray, _native_typed_data.NativeUint8ClampedList);
dart.defineExtensionNames([
'runtimeType',
'length',
@ -39311,6 +39314,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
}
});
dart.registerExtension(dart.global.IDBOpenDBRequest, indexed_db.OpenDBRequest);
dart.registerExtension(dart.global.IDBVersionChangeRequest, indexed_db.OpenDBRequest);
dart.defineExtensionNames([
'completed',
'abort',
@ -39562,6 +39566,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
html$.Event.BUBBLING_PHASE = 3;
html$.Event.CAPTURING_PHASE = 1;
dart.registerExtension(dart.global.Event, html$.Event);
dart.registerExtension(dart.global.InputEvent, html$.Event);
dart.defineExtensionNames([
'dataLoss',
'dataLossMessage',
@ -42440,6 +42445,8 @@ dart_library.library('dart_sdk', null, /* Imports */[
}
});
dart.registerExtension(dart.global.ApplicationCache, html$.ApplicationCache);
dart.registerExtension(dart.global.DOMApplicationCache, html$.ApplicationCache);
dart.registerExtension(dart.global.OfflineResourceList, html$.ApplicationCache);
dart.defineExtensionNames([
'message',
'reason',
@ -46259,6 +46266,8 @@ dart_library.library('dart_sdk', null, /* Imports */[
})
});
dart.registerExtension(dart.global.CSSKeyframeRule, html$.CssKeyframeRule);
dart.registerExtension(dart.global.MozCSSKeyframeRule, html$.CssKeyframeRule);
dart.registerExtension(dart.global.WebKitCSSKeyframeRule, html$.CssKeyframeRule);
dart.defineExtensionNames([
'appendRule',
'deleteRule',
@ -46306,6 +46315,8 @@ dart_library.library('dart_sdk', null, /* Imports */[
})
});
dart.registerExtension(dart.global.CSSKeyframesRule, html$.CssKeyframesRule);
dart.registerExtension(dart.global.MozCSSKeyframesRule, html$.CssKeyframesRule);
dart.registerExtension(dart.global.WebKitCSSKeyframesRule, html$.CssKeyframesRule);
dart.defineExtensionNames([
'media'
]);
@ -52047,6 +52058,8 @@ dart_library.library('dart_sdk', null, /* Imports */[
}
});
dart.registerExtension(dart.global.CSSStyleDeclaration, html$.CssStyleDeclaration);
dart.registerExtension(dart.global.MSStyleCSSProperties, html$.CssStyleDeclaration);
dart.registerExtension(dart.global.CSS2Properties, html$.CssStyleDeclaration);
const _elementIterable = Symbol('_elementIterable');
const _elementCssStyleDeclarationSetIterable = Symbol('_elementCssStyleDeclarationSetIterable');
const _setAll = Symbol('_setAll');
@ -64523,6 +64536,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
names: ['_create_1', '_create_2']
});
dart.registerExtension(dart.global.MouseEvent, html$.MouseEvent);
dart.registerExtension(dart.global.DragEvent, html$.MouseEvent);
html$.MutationCallback = dart.typedef('MutationCallback', () => dart.functionType(dart.void, [ListOfMutationRecord(), html$.MutationObserver]));
const _observe_1 = Symbol('_observe_1');
const _observe = Symbol('_observe');
@ -64612,6 +64626,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
});
html$.MutationObserver._boolKeys = dart.const(dart.map({childList: true, attributes: true, characterData: true, subtree: true, attributeOldValue: true, characterDataOldValue: true}, core.String, core.bool));
dart.registerExtension(dart.global.MutationObserver, html$.MutationObserver);
dart.registerExtension(dart.global.WebKitMutationObserver, html$.MutationObserver);
dart.defineExtensionNames([
'addedNodes',
'attributeName',
@ -65417,6 +65432,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
})
});
dart.registerExtension(dart.global.NodeList, html$.NodeList);
dart.registerExtension(dart.global.RadioNodeList, html$.NodeList);
dart.defineExtensionNames([
'nextElementSibling',
'previousElementSibling'
@ -68335,6 +68351,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
}
});
dart.registerExtension(dart.global.RTCDataChannel, html$.RtcDataChannel);
dart.registerExtension(dart.global.DataChannel, html$.RtcDataChannel);
dart.defineExtensionNames([
'channel'
]);
@ -68477,6 +68494,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
})
});
dart.registerExtension(dart.global.RTCIceCandidate, html$.RtcIceCandidate);
dart.registerExtension(dart.global.mozRTCIceCandidate, html$.RtcIceCandidate);
dart.defineExtensionNames([
'candidate'
]);
@ -68493,6 +68511,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
fields: () => ({[dartx.candidate]: html$.RtcIceCandidate})
});
dart.registerExtension(dart.global.RTCIceCandidateEvent, html$.RtcIceCandidateEvent);
dart.registerExtension(dart.global.RTCPeerConnectionIceEvent, html$.RtcIceCandidateEvent);
const _createOffer = Symbol('_createOffer');
const _createAnswer = Symbol('_createAnswer');
const _getStats = Symbol('_getStats');
@ -68852,6 +68871,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
}
});
dart.registerExtension(dart.global.RTCPeerConnection, html$.RtcPeerConnection);
dart.registerExtension(dart.global.mozRTCPeerConnection, html$.RtcPeerConnection);
dart.defineExtensionNames([
'sdp',
'type'
@ -68888,6 +68908,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
})
});
dart.registerExtension(dart.global.RTCSessionDescription, html$.RtcSessionDescription);
dart.registerExtension(dart.global.mozRTCSessionDescription, html$.RtcSessionDescription);
const _get_timestamp = Symbol('_get_timestamp');
dart.defineExtensionNames([
'timestamp',
@ -72035,6 +72056,8 @@ dart_library.library('dart_sdk', null, /* Imports */[
})
});
dart.registerExtension(dart.global.HTMLTableCellElement, html$.TableCellElement);
dart.registerExtension(dart.global.HTMLTableDataCellElement, html$.TableCellElement);
dart.registerExtension(dart.global.HTMLTableHeaderCellElement, html$.TableCellElement);
dart.defineExtensionNames([
'span'
]);
@ -73782,6 +73805,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
names: ['_create_1', '_create_2']
});
dart.registerExtension(dart.global.TransitionEvent, html$.TransitionEvent);
dart.registerExtension(dart.global.WebKitTransitionEvent, html$.TransitionEvent);
dart.defineExtensionNames([
'firstChild',
'lastChild',
@ -76280,6 +76304,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
}
});
dart.registerExtension(dart.global.Window, html$.Window);
dart.registerExtension(dart.global.DOMWindow, html$.Window);
const _returnValue = Symbol('_returnValue');
html$._WrappedEvent = class _WrappedEvent extends core.Object {
new(wrapped) {
@ -77238,6 +77263,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
})
});
dart.registerExtension(dart.global.ClientRectList, html$._ClientRectList);
dart.registerExtension(dart.global.DOMRectList, html$._ClientRectList);
dart.defineExtensionNames([
'length',
'get',
@ -77781,6 +77807,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
})
});
dart.registerExtension(dart.global.NamedNodeMap, html$._NamedNodeMap);
dart.registerExtension(dart.global.MozNamedAttrMap, html$._NamedNodeMap);
html$._PagePopupController = class _PagePopupController extends _interceptors.Interceptor {
static _() {
dart.throw(new core.UnsupportedError("Not supported"));
@ -90300,6 +90327,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
})
});
dart.registerExtension(dart.global.AnalyserNode, web_audio.AnalyserNode);
dart.registerExtension(dart.global.RealtimeAnalyserNode, web_audio.AnalyserNode);
dart.defineExtensionNames([
'getChannelData',
'duration',
@ -90619,6 +90647,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
});
web_audio.AudioContext.completeEvent = dart.const(new (EventStreamProviderOfEvent())('complete'));
dart.registerExtension(dart.global.AudioContext, web_audio.AudioContext);
dart.registerExtension(dart.global.webkitAudioContext, web_audio.AudioContext);
dart.defineExtensionNames([
'maxChannelCount'
]);
@ -90822,6 +90851,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
constructors: () => ({_: dart.definiteFunctionType(web_audio.ChannelMergerNode, [])})
});
dart.registerExtension(dart.global.ChannelMergerNode, web_audio.ChannelMergerNode);
dart.registerExtension(dart.global.AudioChannelMerger, web_audio.ChannelMergerNode);
web_audio.ChannelSplitterNode = class ChannelSplitterNode extends web_audio.AudioNode {
static _() {
dart.throw(new core.UnsupportedError("Not supported"));
@ -90831,6 +90861,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
constructors: () => ({_: dart.definiteFunctionType(web_audio.ChannelSplitterNode, [])})
});
dart.registerExtension(dart.global.ChannelSplitterNode, web_audio.ChannelSplitterNode);
dart.registerExtension(dart.global.AudioChannelSplitter, web_audio.ChannelSplitterNode);
dart.defineExtensionNames([
'buffer',
'normalize'
@ -90935,6 +90966,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
fields: () => ({[dartx.gain]: web_audio.AudioParam})
});
dart.registerExtension(dart.global.GainNode, web_audio.GainNode);
dart.registerExtension(dart.global.AudioGainNode, web_audio.GainNode);
dart.defineExtensionNames([
'mediaElement'
]);
@ -91084,6 +91116,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
});
web_audio.OscillatorNode.endedEvent = dart.const(new (EventStreamProviderOfEvent())('ended'));
dart.registerExtension(dart.global.OscillatorNode, web_audio.OscillatorNode);
dart.registerExtension(dart.global.Oscillator, web_audio.OscillatorNode);
dart.defineExtensionNames([
'setOrientation',
'setPosition',
@ -91178,6 +91211,8 @@ dart_library.library('dart_sdk', null, /* Imports */[
})
});
dart.registerExtension(dart.global.PannerNode, web_audio.PannerNode);
dart.registerExtension(dart.global.AudioPannerNode, web_audio.PannerNode);
dart.registerExtension(dart.global.webkitAudioPannerNode, web_audio.PannerNode);
web_audio.PeriodicWave = class PeriodicWave extends _interceptors.Interceptor {
static _() {
dart.throw(new core.UnsupportedError("Not supported"));
@ -91215,6 +91250,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
});
web_audio.ScriptProcessorNode.audioProcessEvent = dart.const(new (EventStreamProviderOfAudioProcessingEvent())('audioprocess'));
dart.registerExtension(dart.global.ScriptProcessorNode, web_audio.ScriptProcessorNode);
dart.registerExtension(dart.global.JavaScriptAudioNode, web_audio.ScriptProcessorNode);
dart.defineExtensionNames([
'curve',
'oversample'
@ -93484,6 +93520,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
})
});
dart.registerExtension(dart.global.WebGLLoseContext, web_gl.LoseContext);
dart.registerExtension(dart.global.WebGLExtensionLoseContext, web_gl.LoseContext);
web_gl.OesElementIndexUint = class OesElementIndexUint extends _interceptors.Interceptor {
static _() {
dart.throw(new core.UnsupportedError("Not supported"));

View file

@ -754,8 +754,8 @@ class CodeGenerator extends GeneralizingAstVisitor
_defineClass(classElem, className, classExpr, isCallable, body);
// Emit things that come after the ES6 `class ... { ... }`.
var jsPeerName = _getJSPeerName(classElem);
_setBaseClass(classElem, className, jsPeerName, body);
var jsPeerNames = _getJSPeerNames(classElem);
_setBaseClass(classElem, className, jsPeerNames, body);
_emitClassTypeTests(classElem, className, body);
@ -774,7 +774,9 @@ class CodeGenerator extends GeneralizingAstVisitor
body = <JS.Statement>[classDef];
_emitStaticFields(staticFields, staticFieldOverrides, classElem, body);
_registerExtensionType(classElem, jsPeerName, body);
for (var peer in jsPeerNames) {
_registerExtensionType(classElem, peer, body);
}
return _statement(body);
}
@ -1569,16 +1571,21 @@ class CodeGenerator extends GeneralizingAstVisitor
///
/// For example for dart:_interceptors `JSArray` this will return "Array",
/// referring to the JavaScript built-in `Array` type.
String _getJSPeerName(ClassElement classElem) {
var jsPeerName = getAnnotationName(
List<String> _getJSPeerNames(ClassElement classElem) {
var jsPeerNames = getAnnotationName(
classElem,
(a) =>
isJsPeerInterface(a) ||
isNativeAnnotation(a) && _extensionTypes.isNativeClass(classElem));
if (jsPeerName != null && jsPeerName.contains(',')) {
jsPeerName = jsPeerName.split(',')[0];
if (jsPeerNames != null) {
// Omit the special name "!nonleaf" and any future hacks starting with "!"
return jsPeerNames
.split(',')
.where((peer) => !peer.startsWith("!"))
.toList();
} else {
return [];
}
return jsPeerName;
}
void _registerExtensionType(
@ -1590,12 +1597,14 @@ class CodeGenerator extends GeneralizingAstVisitor
}
void _setBaseClass(ClassElement classElem, JS.Expression className,
String jsPeerName, List<JS.Statement> body) {
if (jsPeerName != null && classElem.typeParameters.isNotEmpty) {
// TODO(jmesserly): we should really just extend Array in the first place.
var newBaseClass = js.call('dart.global.#', [jsPeerName]);
body.add(js.statement(
'dart.setExtensionBaseClass(#, #);', [className, newBaseClass]));
List<String> jsPeerNames, List<JS.Statement> body) {
if (jsPeerNames.isNotEmpty && classElem.typeParameters.isNotEmpty) {
for (var peer in jsPeerNames) {
// TODO(jmesserly): we should just extend Array in the first place
var newBaseClass = js.call('dart.global.#', [peer]);
body.add(js.statement(
'dart.setExtensionBaseClass(#, #);', [className, newBaseClass]));
}
} else if (_hasDeferredSupertype.contains(classElem)) {
var newBaseClass = _emitType(classElem.type.superclass,
nameType: false, subClass: classElem, className: className);

View file

@ -501,10 +501,13 @@ setBaseClass(derived, base) {
/// Like [setBaseClass] but for generic extension types, e.g. `JSArray<E>`
setExtensionBaseClass(derived, base) {
// Mark the generic type as an extension type.
JS('', '#.prototype[#] = #', derived, _extensionType, derived);
// Link the prototype objects
JS('', '#.prototype.__proto__ = #.prototype', derived, base);
// Mark the generic type as an extension type and link the prototype objects
return JS('', '''(() => {
if ($base) {
$derived.prototype[$_extensionType] = $derived;
$derived.prototype.__proto__ = $base.prototype
}
})()''');
}
/// Given a special constructor function that creates a function instances,