mirror of
https://github.com/dart-lang/sdk
synced 2024-09-05 00:13:50 +00:00
Roll 50: Updated for push to origin/master.
TBR=jacobr@google.com Review-Url: https://codereview.chromium.org/2875773003 .
This commit is contained in:
parent
a68b44924e
commit
f27144d7b5
2
DEPS
2
DEPS
|
@ -122,7 +122,7 @@ vars = {
|
|||
"watcher_tag": "@0.9.7+3",
|
||||
"web_components_rev": "@6349e09f9118dce7ae1b309af5763745e25a9d61",
|
||||
"web_socket_channel_tag": "@1.0.4",
|
||||
"WebCore_rev": "@a86fe28efadcfc781f836037a80f27e22a5dad17",
|
||||
"WebCore_rev": "@3c45690813c112373757bbef53de1602a62af609",
|
||||
"when_tag": "@0.2.0+2",
|
||||
"which_tag": "@0.1.3+1",
|
||||
"yaml_tag": "@2.1.12",
|
||||
|
|
|
@ -50,7 +50,7 @@ char kTSanDefaultSuppressions[] =
|
|||
"race:base/threading/watchdog.cc\n"
|
||||
|
||||
// http://crbug.com/157586
|
||||
"race:third_party/libvpx/source/libvpx/vp8/decoder/threading.c\n"
|
||||
"race:third_party/libvpx_new/source/libvpx/vp8/decoder/threading.c\n"
|
||||
|
||||
// http://crbug.com/158718
|
||||
"race:third_party/ffmpeg/libavcodec/pthread.c\n"
|
||||
|
@ -62,8 +62,8 @@ char kTSanDefaultSuppressions[] =
|
|||
"race:media::ReleaseData\n"
|
||||
|
||||
// http://crbug.com/158922
|
||||
"race:third_party/libvpx/source/libvpx/vp8/encoder/*\n"
|
||||
"race:third_party/libvpx/source/libvpx/vp9/encoder/*\n"
|
||||
"race:third_party/libvpx_new/source/libvpx/vp8/encoder/*\n"
|
||||
"race:third_party/libvpx_new/source/libvpx/vp9/encoder/*\n"
|
||||
|
||||
// http://crbug.com/189177
|
||||
"race:thread_manager\n"
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -419,8 +419,7 @@ class Database extends EventTarget {
|
|||
|
||||
@DomName('IDBDatabase.version')
|
||||
@DocsEditable()
|
||||
Object get version =>
|
||||
(_blink.BlinkIDBDatabase.instance.version_Getter_(this));
|
||||
int get version => _blink.BlinkIDBDatabase.instance.version_Getter_(this);
|
||||
|
||||
@DomName('IDBDatabase.close')
|
||||
@DocsEditable()
|
||||
|
@ -1258,7 +1257,7 @@ class Request extends EventTarget {
|
|||
|
||||
@DomName('IDBRequest.error')
|
||||
@DocsEditable()
|
||||
DomError get error => _blink.BlinkIDBRequest.instance.error_Getter_(this);
|
||||
DomException get error => _blink.BlinkIDBRequest.instance.error_Getter_(this);
|
||||
|
||||
@DomName('IDBRequest.readyState')
|
||||
@DocsEditable()
|
||||
|
@ -1374,7 +1373,8 @@ class Transaction extends EventTarget {
|
|||
|
||||
@DomName('IDBTransaction.error')
|
||||
@DocsEditable()
|
||||
DomError get error => _blink.BlinkIDBTransaction.instance.error_Getter_(this);
|
||||
DomException get error =>
|
||||
_blink.BlinkIDBTransaction.instance.error_Getter_(this);
|
||||
|
||||
@DomName('IDBTransaction.mode')
|
||||
@DocsEditable()
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -35,6 +35,7 @@ final web_audioBlinkMap = {
|
|||
'DelayNode': () => DelayNode.instanceRuntimeType,
|
||||
'DynamicsCompressorNode': () => DynamicsCompressorNode.instanceRuntimeType,
|
||||
'GainNode': () => GainNode.instanceRuntimeType,
|
||||
'IIRFilterNode': () => IirFilterNode.instanceRuntimeType,
|
||||
'MediaElementAudioSourceNode': () =>
|
||||
MediaElementAudioSourceNode.instanceRuntimeType,
|
||||
'MediaStreamAudioDestinationNode': () =>
|
||||
|
@ -221,7 +222,7 @@ class AudioBuffer extends DartHtmlDomObject {
|
|||
@DomName('AudioBufferCallback')
|
||||
// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioBuffer-section
|
||||
@Experimental()
|
||||
typedef void AudioBufferCallback(AudioBuffer audioBuffer);
|
||||
typedef void AudioBufferCallback(audioBuffer_OR_exception);
|
||||
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
@ -468,6 +469,13 @@ class AudioContext extends EventTarget {
|
|||
GainNode createGain() =>
|
||||
_blink.BlinkAudioContext.instance.createGain_Callback_0_(this);
|
||||
|
||||
@DomName('AudioContext.createIIRFilter')
|
||||
@DocsEditable()
|
||||
@Experimental() // untriaged
|
||||
IirFilterNode createIirFilter(List<num> feedForward, List<num> feedBack) =>
|
||||
_blink.BlinkAudioContext.instance
|
||||
.createIIRFilter_Callback_2_(this, feedForward, feedBack);
|
||||
|
||||
@DomName('AudioContext.createMediaElementSource')
|
||||
@DocsEditable()
|
||||
MediaElementAudioSourceNode createMediaElementSource(
|
||||
|
@ -497,12 +505,15 @@ class AudioContext extends EventTarget {
|
|||
PannerNode createPanner() =>
|
||||
_blink.BlinkAudioContext.instance.createPanner_Callback_0_(this);
|
||||
|
||||
@DomName('AudioContext.createPeriodicWave')
|
||||
@DocsEditable()
|
||||
@Experimental() // untriaged
|
||||
PeriodicWave createPeriodicWave(Float32List real, Float32List imag) =>
|
||||
_blink.BlinkAudioContext.instance
|
||||
.createPeriodicWave_Callback_2_(this, real, imag);
|
||||
PeriodicWave createPeriodicWave(Float32List real, Float32List imag,
|
||||
[Map options]) {
|
||||
if (options != null) {
|
||||
return _blink.BlinkAudioContext.instance.createPeriodicWave_Callback_3_(
|
||||
this, real, imag, convertDartToNative_Dictionary(options));
|
||||
}
|
||||
return _blink.BlinkAudioContext.instance
|
||||
.createPeriodicWave_Callback_2_(this, real, imag);
|
||||
}
|
||||
|
||||
ScriptProcessorNode createScriptProcessor(
|
||||
[int bufferSize, int numberOfInputChannels, int numberOfOutputChannels]) {
|
||||
|
@ -535,17 +546,19 @@ class AudioContext extends EventTarget {
|
|||
WaveShaperNode createWaveShaper() =>
|
||||
_blink.BlinkAudioContext.instance.createWaveShaper_Callback_0_(this);
|
||||
|
||||
void _decodeAudioData(
|
||||
ByteBuffer audioData, AudioBufferCallback successCallback,
|
||||
[AudioBufferCallback errorCallback]) {
|
||||
Future _decodeAudioData(ByteBuffer audioData,
|
||||
[AudioBufferCallback successCallback,
|
||||
AudioBufferCallback errorCallback]) {
|
||||
if (errorCallback != null) {
|
||||
_blink.BlinkAudioContext.instance.decodeAudioData_Callback_3_(
|
||||
return _blink.BlinkAudioContext.instance.decodeAudioData_Callback_3_(
|
||||
this, audioData, successCallback, errorCallback);
|
||||
return;
|
||||
}
|
||||
_blink.BlinkAudioContext.instance
|
||||
.decodeAudioData_Callback_2_(this, audioData, successCallback);
|
||||
return;
|
||||
if (successCallback != null) {
|
||||
return _blink.BlinkAudioContext.instance
|
||||
.decodeAudioData_Callback_2_(this, audioData, successCallback);
|
||||
}
|
||||
return _blink.BlinkAudioContext.instance
|
||||
.decodeAudioData_Callback_1_(this, audioData);
|
||||
}
|
||||
|
||||
@DomName('AudioContext.resume')
|
||||
|
@ -724,35 +737,32 @@ class AudioNode extends EventTarget {
|
|||
int get numberOfOutputs =>
|
||||
_blink.BlinkAudioNode.instance.numberOfOutputs_Getter_(this);
|
||||
|
||||
void _connect(destination, [int output, int input]) {
|
||||
AudioNode _connect(destination, [int output, int input]) {
|
||||
if ((destination is AudioNode) && output == null && input == null) {
|
||||
_blink.BlinkAudioNode.instance.connect_Callback_1_(this, destination);
|
||||
return;
|
||||
return _blink.BlinkAudioNode.instance
|
||||
.connect_Callback_1_(this, destination);
|
||||
}
|
||||
if ((output is int || output == null) &&
|
||||
(destination is AudioNode) &&
|
||||
input == null) {
|
||||
_blink.BlinkAudioNode.instance
|
||||
return _blink.BlinkAudioNode.instance
|
||||
.connect_Callback_2_(this, destination, output);
|
||||
return;
|
||||
}
|
||||
if ((input is int || input == null) &&
|
||||
(output is int || output == null) &&
|
||||
(destination is AudioNode)) {
|
||||
_blink.BlinkAudioNode.instance
|
||||
return _blink.BlinkAudioNode.instance
|
||||
.connect_Callback_3_(this, destination, output, input);
|
||||
return;
|
||||
}
|
||||
if ((destination is AudioParam) && output == null && input == null) {
|
||||
_blink.BlinkAudioNode.instance.connect_Callback_1_(this, destination);
|
||||
return;
|
||||
return _blink.BlinkAudioNode.instance
|
||||
.connect_Callback_1_(this, destination);
|
||||
}
|
||||
if ((output is int || output == null) &&
|
||||
(destination is AudioParam) &&
|
||||
input == null) {
|
||||
_blink.BlinkAudioNode.instance
|
||||
return _blink.BlinkAudioNode.instance
|
||||
.connect_Callback_2_(this, destination, output);
|
||||
return;
|
||||
}
|
||||
throw new ArgumentError("Incorrect number or type of arguments");
|
||||
}
|
||||
|
@ -853,35 +863,43 @@ class AudioParam extends DartHtmlDomObject {
|
|||
|
||||
@DomName('AudioParam.cancelScheduledValues')
|
||||
@DocsEditable()
|
||||
void cancelScheduledValues(num startTime) => _blink.BlinkAudioParam.instance
|
||||
.cancelScheduledValues_Callback_1_(this, startTime);
|
||||
AudioParam cancelScheduledValues(num startTime) =>
|
||||
_blink.BlinkAudioParam.instance
|
||||
.cancelScheduledValues_Callback_1_(this, startTime);
|
||||
|
||||
@DomName('AudioParam.exponentialRampToValueAtTime')
|
||||
@DocsEditable()
|
||||
void exponentialRampToValueAtTime(num value, num time) =>
|
||||
AudioParam exponentialRampToValueAtTime(num value, num time) =>
|
||||
_blink.BlinkAudioParam.instance
|
||||
.exponentialRampToValueAtTime_Callback_2_(this, value, time);
|
||||
|
||||
@DomName('AudioParam.linearRampToValueAtTime')
|
||||
@DocsEditable()
|
||||
void linearRampToValueAtTime(num value, num time) =>
|
||||
AudioParam linearRampToValueAtTime(num value, num time) =>
|
||||
_blink.BlinkAudioParam.instance
|
||||
.linearRampToValueAtTime_Callback_2_(this, value, time);
|
||||
|
||||
@DomName('AudioParam.setTargetAtTime')
|
||||
@DocsEditable()
|
||||
void setTargetAtTime(num target, num time, num timeConstant) =>
|
||||
_blink.BlinkAudioParam.instance
|
||||
AudioParam setTargetAtTime(num target, num time, num timeConstant) {
|
||||
if ((timeConstant is num) && (time is num) && (target is num)) {
|
||||
return _blink.BlinkAudioParam.instance
|
||||
.setTargetAtTime_Callback_3_(this, target, time, timeConstant);
|
||||
}
|
||||
if ((timeConstant is num) && (time is num) && (target is num)) {
|
||||
return _blink.BlinkAudioParam.instance
|
||||
.setTargetAtTime_Callback_3_(this, target, time, timeConstant);
|
||||
}
|
||||
throw new ArgumentError("Incorrect number or type of arguments");
|
||||
}
|
||||
|
||||
@DomName('AudioParam.setValueAtTime')
|
||||
@DocsEditable()
|
||||
void setValueAtTime(num value, num time) => _blink.BlinkAudioParam.instance
|
||||
.setValueAtTime_Callback_2_(this, value, time);
|
||||
AudioParam setValueAtTime(num value, num time) =>
|
||||
_blink.BlinkAudioParam.instance
|
||||
.setValueAtTime_Callback_2_(this, value, time);
|
||||
|
||||
@DomName('AudioParam.setValueCurveAtTime')
|
||||
@DocsEditable()
|
||||
void setValueCurveAtTime(Float32List values, num time, num duration) =>
|
||||
AudioParam setValueCurveAtTime(Float32List values, num time, num duration) =>
|
||||
_blink.BlinkAudioParam.instance
|
||||
.setValueCurveAtTime_Callback_3_(this, values, time, duration);
|
||||
}
|
||||
|
@ -1199,6 +1217,35 @@ class GainNode extends AudioNode {
|
|||
|
||||
// WARNING: Do not edit - generated code.
|
||||
|
||||
@DocsEditable()
|
||||
@DomName('IIRFilterNode')
|
||||
@Experimental() // untriaged
|
||||
class IirFilterNode extends AudioNode {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory IirFilterNode._() {
|
||||
throw new UnsupportedError("Not supported");
|
||||
}
|
||||
|
||||
@Deprecated("Internal Use Only")
|
||||
external static Type get instanceRuntimeType;
|
||||
|
||||
@Deprecated("Internal Use Only")
|
||||
IirFilterNode.internal_() : super.internal_();
|
||||
|
||||
@DomName('IIRFilterNode.getFrequencyResponse')
|
||||
@DocsEditable()
|
||||
@Experimental() // untriaged
|
||||
void getFrequencyResponse(Float32List frequencyHz, Float32List magResponse,
|
||||
Float32List phaseResponse) =>
|
||||
_blink.BlinkIIRFilterNode.instance.getFrequencyResponse_Callback_3_(
|
||||
this, frequencyHz, magResponse, phaseResponse);
|
||||
}
|
||||
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// WARNING: Do not edit - generated code.
|
||||
|
||||
@DocsEditable()
|
||||
@DomName('MediaElementAudioSourceNode')
|
||||
// https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#MediaElementAudioSourceNode
|
||||
|
@ -1334,12 +1381,25 @@ class OfflineAudioContext extends AudioContext {
|
|||
@Deprecated("Internal Use Only")
|
||||
OfflineAudioContext.internal_() : super.internal_();
|
||||
|
||||
@DomName('OfflineAudioContext.resume')
|
||||
@DocsEditable()
|
||||
@Experimental() // untriaged
|
||||
Future resume() => convertNativePromiseToDartFuture(
|
||||
_blink.BlinkOfflineAudioContext.instance.resume_Callback_0_(this));
|
||||
|
||||
@DomName('OfflineAudioContext.startRendering')
|
||||
@DocsEditable()
|
||||
@Experimental() // untriaged
|
||||
Future startRendering() =>
|
||||
convertNativePromiseToDartFuture(_blink.BlinkOfflineAudioContext.instance
|
||||
.startRendering_Callback_0_(this));
|
||||
|
||||
@DomName('OfflineAudioContext.suspend')
|
||||
@DocsEditable()
|
||||
@Experimental() // untriaged
|
||||
Future suspend(num suspendTime) =>
|
||||
convertNativePromiseToDartFuture(_blink.BlinkOfflineAudioContext.instance
|
||||
.suspend_Callback_1_(this, suspendTime));
|
||||
}
|
||||
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -234,6 +234,7 @@ LayoutTests/fast/canvas/webgl/webgl-specific_t01: Pass, RuntimeError # Issue 220
|
|||
LayoutTests/fast/canvas/webgl/webgl-texture-binding-preserved_t01: RuntimeError # Issue 25653
|
||||
LayoutTests/fast/canvas/webgl/webgl-viewport-parameters-preserved_t01: Pass, RuntimeError # Issue 22026
|
||||
LayoutTests/fast/canvas/webgl/WebGLContextEvent_t01: Pass, RuntimeError # Issue 22026
|
||||
LayoutTests/fast/css/font-shorthand-from-longhands_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/css-generated-content/bug91547_t01: Skip # Test reloads itself. Issue 18558.
|
||||
LayoutTests/fast/css-generated-content/hit-test-generated-content_t01: Skip # co19 issue 732.
|
||||
LayoutTests/fast/css-generated-content/malformed-url_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
|
@ -294,8 +295,9 @@ LayoutTests/fast/css/computed-offset-with-zoom_t01: Skip # co19 issue 732.
|
|||
LayoutTests/fast/css/content/content-none_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/content/content-normal_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/counters/complex-before_t01: RuntimeError, Pass # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/css-properties-case-insensitive_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/css3-nth-tokens-style_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/css-escaped-identifier_t01: RuntimeError # co19 issue 14
|
||||
LayoutTests/fast/css/css-properties-case-insensitive_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/css/deprecated-flexbox-auto-min-size_t01: Pass, RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/first-child-display-change-inverse_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/focus-display-block-inline_t01: RuntimeError, Pass # co19-roll r761: Please triage this failure.
|
||||
|
@ -306,6 +308,8 @@ LayoutTests/fast/css/font-face-unicode-range-load_t01: RuntimeError, Pass # co19
|
|||
LayoutTests/fast/css/font-face-unicode-range-overlap-load_t01: RuntimeError, Pass # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/fontfaceset-events_t01: Pass, RuntimeError # Issue 23433
|
||||
LayoutTests/fast/css/fontfaceset-loadingdone_t01: RuntimeError, Pass # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/getComputedStyle/computed-style-border-image_t01: RuntimeError # See Issue https://github.com/dart-lang/co19/issues/92
|
||||
LayoutTests/fast/css/getComputedStyle/computed-style-cross-fade_t01: RuntimeError # See Issue https://github.com/dart-lang/co19/issues/93
|
||||
LayoutTests/fast/css/html-attr-case-sensitivity_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/id-or-class-before-stylesheet_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/inherit-initial-shorthand-values_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
|
@ -318,7 +322,7 @@ LayoutTests/fast/css/link-alternate-stylesheet-5_t01: RuntimeError # co19-roll r
|
|||
LayoutTests/fast/css/media-query-recovery_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/parsing-at-rule-recovery_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/parsing-css-allowed-string-characters_t01: RuntimeError # 45 Roll co19 test rewrite issue 25807
|
||||
LayoutTests/fast/css/parsing-object-position_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/css/parsing-css-nonascii_t01: RuntimeError # See Issue https://github.com/dart-lang/co19/issues/95
|
||||
LayoutTests/fast/css/parsing-page-rule_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/parsing-selector-error-recovery_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/pseudo-any_t01: RuntimeError, Pass # co19-roll r761: Please triage this failure.
|
||||
|
@ -329,6 +333,7 @@ LayoutTests/fast/css/readonly-pseudoclass-opera-002_t01: RuntimeError # co19-rol
|
|||
LayoutTests/fast/css/readonly-pseudoclass-opera-003_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/readonly-pseudoclass-opera-004_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/readonly-pseudoclass-opera-005_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/selector-text-escape_t01: RuntimeError # See Issue https://github.com/dart-lang/co19/issues/96
|
||||
LayoutTests/fast/css/sticky/parsing-position-sticky_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/style-element-process-crash_t01: Skip # Times out. co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/style-scoped/style-scoped-nested_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
|
@ -336,8 +341,9 @@ LayoutTests/fast/css/style-scoped/style-scoped-with-dom-operation_t01: RuntimeEr
|
|||
LayoutTests/fast/css/style-scoped/style-scoped-with-important-rule_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/css/stylesheet-enable-first-alternate-on-load-sheet_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/stylesheet-enable-second-alternate-link_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css/unicode-bidi-computed-value_t01: RuntimeError # See Issue https://github.com/dart-lang/co19/issues/97
|
||||
LayoutTests/fast/css/url-with-multi-byte-unicode-escape_t01: RuntimeError # co19 issue 14
|
||||
LayoutTests/fast/css/webkit-keyframes-errors_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-inherited_t01: Pass, RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-color_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-line_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
|
@ -346,17 +352,12 @@ LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyl
|
|||
LayoutTests/fast/css3-text/css3-text-indent/getComputedStyle/getComputedStyle-text-indent_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/css3-text/css3-text-indent/getComputedStyle/getComputedStyle-text-indent-inherited_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/css3-text/css3-text-justify/getComputedStyle/getComputedStyle-text-justify_t01: Pass, RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/css-intrinsic-dimensions/multicol_t01: RuntimeError # See Issue https://github.com/dart-lang/co19/issues/94
|
||||
LayoutTests/fast/dom/anchor-without-content_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/attribute-namespaces-get-set_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/blur-contenteditable_t01: RuntimeError, Pass # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/characterdata-api-arguments_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/client-width-height-quirks_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/computed-style-set-property_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/computed-style-set-property_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/createDocumentType2_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/createDocumentType2_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/createElementNS_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/createElementNS_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/css-cached-import-rule_t01: Skip # Test reloads itself. Issue 18558.
|
||||
LayoutTests/fast/dom/css-innerHTML_t01: RuntimeError # Test is incorrect.
|
||||
LayoutTests/fast/dom/cssTarget-crash_t01: Skip # Test reloads itself. Issue 18558.
|
||||
|
@ -364,8 +365,6 @@ LayoutTests/fast/dom/custom/document-register-basic_t01: RuntimeError # Bad test
|
|||
LayoutTests/fast/dom/custom/document-register-namespace_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/custom/document-register-namespace_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/custom/document-register-svg-extends_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/custom/document-register-type-extensions_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/custom/document-register-type-extensions_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/custom/element-names_t01: RuntimeError # 45 Roll issue dart-lang/co19/issues/25
|
||||
LayoutTests/fast/dom/custom/element-type_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/custom/element-type_t01: RuntimeError # Please triage this failure.
|
||||
|
@ -379,11 +378,8 @@ LayoutTests/fast/dom/Document/CaretRangeFromPoint/caretRangeFromPoint-in-strict-
|
|||
LayoutTests/fast/dom/Document/CaretRangeFromPoint/caretRangeFromPoint-in-zoom-and-scroll_t01: RuntimeError # co19-roll r706. Please triage this failure.
|
||||
LayoutTests/fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport_t01: RuntimeError # co19-roll r706. Please triage this failure.
|
||||
LayoutTests/fast/dom/Document/CaretRangeFromPoint/replace-element_t01: Pass, RuntimeError # co19-roll r706. Please triage this failure.
|
||||
LayoutTests/fast/dom/Document/createElement-invalid-names_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/Document/createElement-invalid-names_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/Document/createElementNS-namespace-err_t01: RuntimeError # co19-roll r706. Please triage this failure.
|
||||
LayoutTests/fast/dom/DOMException/prototype-object_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/DOMException/prototype-object_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/DOMException/dispatch-event-exception_t01: RuntimeError # See Issue https://github.com/dart-lang/co19/issues/98
|
||||
LayoutTests/fast/dom/DOMImplementation/createDocument-namespace-err_t01: RuntimeError # co19-roll r706. Please triage this failure.
|
||||
LayoutTests/fast/dom/Element/attribute-uppercase_t01: RuntimeError # co19-roll r706. Please triage this failure.
|
||||
LayoutTests/fast/dom/Element/getClientRects_t01: RuntimeError # co19-roll r706. Please triage this failure.
|
||||
|
@ -430,14 +426,10 @@ LayoutTests/fast/dom/HTMLScriptElement/async-inline-script_t01: RuntimeError # c
|
|||
LayoutTests/fast/dom/HTMLScriptElement/async-onbeforeload_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
LayoutTests/fast/dom/HTMLScriptElement/defer-inline-script_t01: RuntimeError, Pass # co19-roll r722: Please triage this failure.
|
||||
LayoutTests/fast/dom/HTMLScriptElement/defer-onbeforeload_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
LayoutTests/fast/dom/HTMLScriptElement/remove-source_t01: RuntimeError # Issue 18128
|
||||
LayoutTests/fast/dom/HTMLScriptElement/remove-in-beforeload_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
LayoutTests/fast/dom/HTMLScriptElement/script-set-src_t01: RuntimeError, Pass # co19-roll r722: Please triage this failure.
|
||||
LayoutTests/fast/dom/HTMLSelectElement/selected-index-preserved-when-option-text-changes_t01: RuntimeError # co19-roll r722: Issue 18127
|
||||
LayoutTests/fast/dom/HTMLTemplateElement/custom-element-wrapper-gc_t01: RuntimeError # co19-roll r722: Issue 18250
|
||||
LayoutTests/fast/dom/HTMLTemplateElement/cycles_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/HTMLTemplateElement/cycles_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/HTMLTemplateElement/cycles-in-shadow_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/HTMLTemplateElement/cycles-in-shadow_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/HTMLTemplateElement/innerHTML_t01: RuntimeError # co19-roll r722: Issue 18249
|
||||
LayoutTests/fast/dom/HTMLTemplateElement/ownerDocumentXHTML_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
LayoutTests/fast/dom/location-hash_t01: Pass, RuntimeError # co19-roll r738: Please triage this failure.
|
||||
|
@ -446,8 +438,6 @@ LayoutTests/fast/dom/MutationObserver/observe-childList_t01: RuntimeError # co19
|
|||
LayoutTests/fast/dom/MutationObserver/weak-callback-gc-crash_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
LayoutTests/fast/dom/navigatorcontentutils/is-protocol-handler-registered_t01: RuntimeError # Dartium JSInterop failure
|
||||
LayoutTests/fast/dom/navigatorcontentutils/unregister-protocol-handler_t01: RuntimeError # Dartium JSInterop failure
|
||||
LayoutTests/fast/dom/Node/contains-method_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/Node/contains-method_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/Node/fragment-mutation_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/Node/initial-values_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
LayoutTests/fast/dom/option-properties_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
|
@ -456,7 +446,10 @@ LayoutTests/fast/dom/Range/bug-19527_t01: RuntimeError # Please triage this fail
|
|||
LayoutTests/fast/dom/Range/range-created-during-remove-children_t01: RuntimeError, Pass # co19-roll r722: Please triage this failure.
|
||||
LayoutTests/fast/dom/Range/range-detached-exceptions_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/set-innerHTML_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/shadow/content-pseudo-element-css-text_t01: RuntimeError # See Issue
|
||||
LayoutTests/fast/dom/shadow/form-in-shadow_t01: Skip # Test reloads itself. Issue 18558.
|
||||
LayoutTests/fast/dom/shadow/host-context-pseudo-class-css-text_t01: RuntimeError # See Issue https://github.com/dart-lang/co19/issues/100
|
||||
LayoutTests/fast/dom/shadow/host-pseudo-class-css-text_t01: RuntimeError # See Issue https://github.com/dart-lang/co19/issues/1
|
||||
LayoutTests/fast/dom/shadow/no-renderers-for-light-children_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/shadow/pseudoclass-update-checked-option_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/shadow/pseudoclass-update-disabled-optgroup_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
|
@ -464,12 +457,11 @@ LayoutTests/fast/dom/shadow/pseudoclass-update-disabled-option_t01: RuntimeError
|
|||
LayoutTests/fast/dom/shadow/pseudoclass-update-enabled-optgroup_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/shadow/pseudoclass-update-enabled-option_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/shadow/shadow-content-crash_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/shadow/shadow-hierarchy-exception_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/shadow/shadow-hierarchy-exception_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/shadow/shadow-removechild-and-blur-event_t01: RuntimeError, Pass # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/shadow/shadowroot-keyframes_t01: RuntimeError, Pass # Issue 29018
|
||||
LayoutTests/fast/dom/StyleSheet/css-medialist-item_t01: RuntimeError # Dartium JSInterop failure
|
||||
LayoutTests/fast/dom/StyleSheet/discarded-sheet-owner-null_t01: Skip # Test reloads itself. Issue 18558.
|
||||
LayoutTests/fast/dom/Window/getMatchedCSSRules-with-pseudo-elements-complex_t01: RuntimeError # See Issue https://github.com/dart-lang/co19/issues/102
|
||||
LayoutTests/fast/dom/Window/window-resize_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/Window/window-resize-contents_t01: Pass, RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/Window/window-scroll-arguments_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
|
@ -494,10 +486,6 @@ LayoutTests/fast/events/input-focus-no-duplicate-events_t01: Pass, RuntimeError
|
|||
LayoutTests/fast/events/invalid-003_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/events/invalid-004_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/events/label-focus_t01: Pass, RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/events/mutation-during-append-child_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/events/mutation-during-append-child_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/events/mutation-during-insert-before_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/events/mutation-during-insert-before_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/events/mutation-during-replace-child_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/events/mutation-during-replace-child-2_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/events/nested-event-remove-node-crash_t01: Skip # Flaky timeout. co19-roll r786: Please triage this failure.
|
||||
|
@ -510,6 +498,7 @@ LayoutTests/fast/exclusions/parsing/parsing-wrap-through_t01: RuntimeError # co1
|
|||
LayoutTests/fast/files/blob-close_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/files/blob-close-read_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/files/blob-close-revoke_t01: RuntimeError # Experimental feature not exposed anywhere yet
|
||||
LayoutTests/fast/files/url-null_t01: RuntimeError # See Issue https://github.com/dart-lang/co19/issues/103
|
||||
LayoutTests/fast/files/xhr-response-blob_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/filesystem/async-operations_t01: Pass, RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/filesystem/directory-entry-to-uri_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
|
@ -553,17 +542,20 @@ LayoutTests/fast/forms/listbox-select-all_t01: Pass, RuntimeError # co19-roll r8
|
|||
LayoutTests/fast/forms/listbox-selection-2_t01: RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/forms/menulist-disabled-selected-option_t01: Pass, RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/forms/menulist-selection-reset_t01: RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/forms/menulist-submit-without-selection_t01: Pass, RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/forms/missing-action_t01: Skip # Test reloads itself. Issue 18558.
|
||||
LayoutTests/fast/forms/multiple-selected-options-innerHTML_t01: RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/forms/option-change-single-selected_t01: RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/forms/option-strip-unicode-spaces_t01: RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/forms/parser-associated-form-removal_t01: RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/forms/plaintext-mode-1_t01: RuntimeError # Fails in dart2js too
|
||||
LayoutTests/fast/forms/search-popup-crasher_t01: Pass, RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/forms/select-change-popup-to-listbox-in-event-handler_t01: Skip # Times out. co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/forms/select-clientheight-large-size_t01: RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/forms/select-clientheight-with-multiple-attr_t01: Pass, RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/forms/select-list-box-mouse-focus_t01: Pass, RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/forms/select-max-length_t01: RuntimeError # See Issue https://github.com/dart-lang/co19/issues/104
|
||||
LayoutTests/fast/forms/setrangetext_t01: RuntimeError # See Issue https://github.com/dart-lang/co19/issues/105
|
||||
LayoutTests/fast/forms/submit-form-attributes_t01: RuntimeError # co19 issue 14
|
||||
LayoutTests/fast/forms/submit-form-with-dirname-attribute_t01: Skip # Test reloads itself. Issue 18558.
|
||||
LayoutTests/fast/forms/submit-form-with-dirname-attribute-with-ancestor-dir-attribute_t01: Skip # Test reloads itself. Issue 18558.
|
||||
LayoutTests/fast/forms/submit-form-with-dirname-attribute-with-nonhtml-ancestor_t01: Skip # Test reloads itself. Issue 18558.
|
||||
|
@ -573,6 +565,8 @@ LayoutTests/fast/forms/textarea-paste-newline_t01: Pass, RuntimeError # Issue 23
|
|||
LayoutTests/fast/forms/textarea-scrollbar-height_t01: Pass, RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/forms/textarea-submit-crash_t01: Skip # Test reloads itself. Issue 18558.
|
||||
LayoutTests/fast/forms/textfield-focus-out_t01: Skip # Times out. co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/forms/ValidityState-tooLong-input_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/forms/ValidityState-tooLong-textarea_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/html/adjacent-html-context-element_t01:RuntimeError # co19 issue 11.
|
||||
LayoutTests/fast/html/hidden-attr_t01: RuntimeError # co19-roll r706. Please triage this failure.
|
||||
LayoutTests/fast/html/imports/import-element-removed-flag_t01: RuntimeError # co19-roll r706. Please triage this failure.
|
||||
|
@ -585,6 +579,7 @@ LayoutTests/fast/inline/inline-with-empty-inline-children_t01: RuntimeError # co
|
|||
LayoutTests/fast/inline/out-of-flow-objects-and-whitespace-after-empty-inline_t01: RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/inline/parent-inline-element-padding-contributes-width_t01: RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/inline/positioned-element-padding-contributes-width_t01: RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/innerHTML/innerHTML-uri-resolution_t01: RuntimeError # See Issue https://github.com/dart-lang/co19/issues/106
|
||||
LayoutTests/fast/layers/zindex-hit-test_t01: Pass, RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/layers/zindex-hit-test_t01: RuntimeError # co19 issue 11.
|
||||
LayoutTests/fast/lists/list-style-position-inside_t01: Pass, RuntimeError # co19 issue 11.
|
||||
|
@ -775,6 +770,9 @@ LayoutTests/fast/url/relative-win_t01: RuntimeError # co19-roll r786: Please tri
|
|||
LayoutTests/fast/url/segments_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/url/segments-from-data-url_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/url/standard-url_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/writing-mode/auto-sizing-orthogonal-flows_t01: RuntimeError # co19 test failure div container data-expected-height should be 575 not 590
|
||||
LayoutTests/fast/writing-mode/flipped-blocks-hit-test-overflow-scroll_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/writing-mode/flipped-blocks-hit-test-overflow_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/writing-mode/percentage-margins-absolute-replaced_t01: Pass, RuntimeError # co19 issue 11.
|
||||
LayoutTests/fast/writing-mode/positionForPoint_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/writing-mode/positionForPoint_t01: Skip # co19 issue 732.
|
||||
|
@ -1022,7 +1020,6 @@ WebPlatformTest/dom/EventTarget/dispatchEvent_A02_t01: RuntimeError # co19-roll
|
|||
WebPlatformTest/dom/EventTarget/dispatchEvent_A03_t01: Skip # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/dom/Node-replaceChild_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
WebPlatformTest/dom/nodes/attributes/setAttribute_A01_t01: RuntimeError # Please triage this failure.
|
||||
WebPlatformTest/dom/nodes/attributes/setAttribute_A01_t01: RuntimeError # Please triage this failure.
|
||||
WebPlatformTest/dom/nodes/attributes/setAttribute_A03_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/dom/nodes/attributes/setAttributeNS_A05_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/dom/nodes/attributes/setAttributeNS_A06_t03: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
|
@ -1031,7 +1028,6 @@ WebPlatformTest/dom/nodes/attributes/setAttributeNS_A07_t03: RuntimeError # co19
|
|||
WebPlatformTest/dom/nodes/attributes/setAttributeNS_A08_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/dom/nodes/Document-adoptNode_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/dom/nodes/Document-createElement_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/dom/nodes/Document-createElementNS_t01: RuntimeError, Pass # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/dom/nodes/Document-getElementsByTagName_t01: RuntimeError, Pass # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/dom/nodes/DOMImplementation-createDocument_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/dom/nodes/DOMImplementation-createDocumentType_t01: RuntimeError, Pass # co19-roll r722: Please triage this failure.
|
||||
|
@ -1039,7 +1035,6 @@ WebPlatformTest/dom/nodes/DOMImplementation-createHTMLDocument_t01: RuntimeError
|
|||
WebPlatformTest/dom/nodes/Element-childElementCount_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/dom/nodes/Element-childElementCount-nochild_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/dom/nodes/Node-appendChild_t01: RuntimeError # Please triage this failure.
|
||||
WebPlatformTest/dom/nodes/Node-appendChild_t01: RuntimeError # Please triage this failure.
|
||||
WebPlatformTest/dom/nodes/Node-appendChild_t02: RuntimeError, Pass # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/dom/nodes/Node-insertBefore_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/dom/nodes/Node-isEqualNode_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
|
@ -1083,10 +1078,7 @@ WebPlatformTest/html/semantics/embedded-content/media-elements/interfaces/HTMLEl
|
|||
WebPlatformTest/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/src_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
WebPlatformTest/html/semantics/embedded-content/media-elements/interfaces/TextTrack/cues_t01: Skip # Times out and fails. # co19-roll r738: Please triage this failure.LayoutTests/fast/dom/Window/window-resize-contents_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
WebPlatformTest/html/semantics/embedded-content/media-elements/interfaces/TextTrack/mode_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
WebPlatformTest/html/semantics/forms/attributes-common-to-form-controls/formAction_document_address_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
WebPlatformTest/html/semantics/forms/attributes-common-to-form-controls/formaction_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
WebPlatformTest/html/semantics/forms/textfieldselection/selection_t01: RuntimeError # Dartium 45 roll
|
||||
WebPlatformTest/html/semantics/forms/textfieldselection/textfieldselection-setRangeText_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
WebPlatformTest/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange_t01: RuntimeError, Pass # co19-roll r738: Please triage this failure. Pass on macos.
|
||||
WebPlatformTest/html/semantics/forms/the-button-element/button-validation_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
WebPlatformTest/html/semantics/forms/the-fieldset-element/disabled_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
|
@ -1108,7 +1100,6 @@ WebPlatformTest/html/semantics/forms/the-input-element/range_t01: RuntimeError #
|
|||
WebPlatformTest/html/semantics/forms/the-input-element/time_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
WebPlatformTest/html/semantics/forms/the-input-element/time_t02: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
WebPlatformTest/html/semantics/forms/the-input-element/type-change-state_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
WebPlatformTest/html/semantics/forms/the-input-element/url_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
WebPlatformTest/html/semantics/forms/the-input-element/valueMode_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
WebPlatformTest/html/semantics/forms/the-input-element/week_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
WebPlatformTest/html/semantics/forms/the-meter-element/meter_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
|
@ -1137,7 +1128,6 @@ WebPlatformTest/html/semantics/selectors/pseudo-classes/link_t01: RuntimeError #
|
|||
WebPlatformTest/html/semantics/selectors/pseudo-classes/valid-invalid_t01: RuntimeError # co19 issue 11.
|
||||
WebPlatformTest/html/semantics/selectors/pseudo-classes/valid-invalid_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
WebPlatformTest/html/semantics/tabular-data/the-table-element/table-rows_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
WebPlatformTest/html/semantics/tabular-data/the-tr-element/rowIndex_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
WebPlatformTest/html/semantics/text-level-semantics/the-a-element/a.text-getter_t01: RuntimeError # co19 issue 11.
|
||||
WebPlatformTest/html/syntax/parsing/Document.getElementsByTagName-foreign_t01: RuntimeError # co19 issue 11.
|
||||
WebPlatformTest/html/syntax/parsing/Document.getElementsByTagName-foreign_t02: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
|
@ -1171,7 +1161,7 @@ WebPlatformTest/shadow-dom/events/event-dispatch/test-003_t01: RuntimeError # co
|
|||
WebPlatformTest/shadow-dom/events/event-retargeting/test-001_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/event-retargeting/test-002_t01: RuntimeError # Not clear that any of this works. Also suppressed in dart2js
|
||||
WebPlatformTest/shadow-dom/events/event-retargeting/test-004_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t01: Pass, RuntimeError # Flaky with Dartium JsInterop. Seems like timing issues in the test.
|
||||
WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t01: Pass, RuntimeError, Timeout # Flaky with Dartium JsInterop. Seems like timing issues in the test.
|
||||
WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t02: Skip # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t05: Skip # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t06: Skip # co19-roll r722: Please triage this failure.
|
||||
|
@ -1181,6 +1171,15 @@ WebPlatformTest/shadow-dom/events/retargeting-relatedtarget/test-003_t01: Runtim
|
|||
WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-001_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-002_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-003_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-001_t01: RuntimeError # Issue https://github.com/dart-lang/co19/issues/107
|
||||
WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-002_t01: RuntimeError # Issue https://github.com/dart-lang/co19/issues/107
|
||||
WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-003_t01: RuntimeError # Issue https://github.com/dart-lang/co19/issues/107
|
||||
WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-004_t01: RuntimeError # Issue https://github.com/dart-lang/co19/issues/107
|
||||
WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-005_t01: RuntimeError # Issue https://github.com/dart-lang/co19/issues/107
|
||||
WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-006_t01: RuntimeError # Issue https://github.com/dart-lang/co19/issues/107
|
||||
WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-007_t01: RuntimeError # Issue https://github.com/dart-lang/co19/issues/107
|
||||
WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-008_t01: RuntimeError # Issue https://github.com/dart-lang/co19/issues/107
|
||||
WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-009_t01: RuntimeError # Issue https://github.com/dart-lang/co19/issues/107
|
||||
WebPlatformTest/shadow-dom/shadow-trees/custom-pseudo-elements/test-001_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/shadow-trees/distributed-pseudo-element/test-001_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/shadow-trees/distributed-pseudo-element/test-002_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
|
@ -1203,6 +1202,32 @@ LayoutTests/fast/events/clipboard-dataTransferItemList-remove_t01: Skip # Issue
|
|||
LibTest/html/CanvasRenderingContext2D/addEventListener_A01_t06: Skip # Issue 26134, timeout
|
||||
html/cross_domain_iframe_test: RuntimeError # Issue 26134
|
||||
|
||||
# TODO(terry): Failing tests with Dartium 50 roll (NEED TO FIX All)
|
||||
# ---------------------------------------------
|
||||
LayoutTests/fast/dom/computed-style-set-property_t01: RuntimeError # Roll 50 breakage
|
||||
LayoutTests/fast/dom/createDocumentType2_t01: RuntimeError # Roll 50 breakage
|
||||
LayoutTests/fast/dom/createElementNS_t01: RuntimeError # Roll 50 breakage
|
||||
LayoutTests/fast/dom/custom/document-register-type-extensions_t01: RuntimeError # Roll 50 breakage
|
||||
LayoutTests/fast/dom/Document/createElement-invalid-names_t01: RuntimeError # Roll 50 breakage
|
||||
LayoutTests/fast/dom/DOMException/prototype-object_t01: RuntimeError # Roll 50 breakage
|
||||
LayoutTests/fast/dom/HTMLTemplateElement/cycles-in-shadow_t01: RuntimeError # Roll 50 breakage
|
||||
LayoutTests/fast/dom/HTMLTemplateElement/cycles_t01: RuntimeError # Roll 50 breakage
|
||||
LayoutTests/fast/dom/offset-position-writing-modes_t01: RuntimeError # Roll 50 breakage
|
||||
LayoutTests/fast/dom/shadow/shadow-hierarchy-exception_t01: RuntimeError # Roll 50 breakage
|
||||
LayoutTests/fast/events/mutation-during-append-child_t01: RuntimeError # Roll 50 breakage
|
||||
LayoutTests/fast/events/mutation-during-insert-before_t01: RuntimeError # Roll 50 breakage
|
||||
LayoutTests/fast/forms/menulist-submit-without-selection_t01: RuntimeError # Roll 50 breakage
|
||||
# ---------------------------------------------
|
||||
# TODO(terry): End of Dartium 50 roll failures
|
||||
|
||||
[ $compiler == none && $runtime == dartium && $system == macos && $checked && $system == macos ]
|
||||
# TODO(terry): Failing tests with Dartium 50 roll (NEED TO FIX All)
|
||||
# ---------------------------------------------
|
||||
LayoutTests/fast/canvas/webgl/buffer-data-array-buffer_t01: RuntimeError # Roll 50 breakage
|
||||
LayoutTests/fast/canvas/webgl/tex-input-validation_t01: RuntimeError # Roll 50 breakage
|
||||
# ---------------------------------------------
|
||||
# TODO(terry): End of Dartium 50 roll failures
|
||||
|
||||
[ $compiler == none && $runtime == dartium && $system == macos ]
|
||||
LayoutTests/fast/css-generated-content/pseudo-animation-before-onload_t01: Skip # Depends on animation timing, commented as known to be flaky in test. Will not fix.
|
||||
LayoutTests/fast/forms/input-value-sanitization_t01: RuntimeError # 45 roll
|
||||
|
@ -1212,8 +1237,16 @@ LayoutTests/fast/writing-mode/vertical-inline-block-hittest_t01: Pass, RuntimeEr
|
|||
LibTest/collection/ListBase/ListBase_class_A01_t02: Skip # Timing out on the bots. Please triage this failure.
|
||||
WebPlatformTest/custom-elements/concepts/type_A07_t01: Skip # Timing out on the bots. Please triage this failure.
|
||||
|
||||
# TODO(terry): Failing Mac ONLY tests with Dartium 50 roll (NEED TO FIX All)
|
||||
# ---------------------------------------------
|
||||
LayoutTests/fast/canvas/webgl/buffer-data-array-buffer_t01: RuntimeError # Roll 50 must fix.
|
||||
LayoutTests/fast/canvas/webgl/tex-input-validation_t01: RuntimeError # Roll 50 must fix.
|
||||
# ---------------------------------------------
|
||||
# TODO(terry): End of Mac ONLY Dartium 50 roll failures
|
||||
|
||||
[ $compiler == none && $runtime == dartium && $system == windows ]
|
||||
LayoutTests/fast/css/MarqueeLayoutTest_t01: Pass, RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/writing-mode/auto-sizing-orthogonal-flows_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/writing-mode/flipped-blocks-hit-test-overflow_t01: Pass, RuntimeError # Issue 21605
|
||||
LayoutTests/fast/writing-mode/vertical-inline-block-hittest_t01: Pass, RuntimeError # Issue 21605
|
||||
LayoutTests/fast/dom/shadow/shadowhost-keyframes_t01: Pass, RuntimeError # Gardening: please triage this failure.
|
||||
|
@ -1227,6 +1260,7 @@ LayoutTests/fast/writing-mode/auto-sizing-orthogonal-flows_t01: Pass, RuntimeErr
|
|||
|
||||
[ $compiler == none && $runtime == dartium && $system == linux ]
|
||||
language/mixin_illegal_constructor_test/01: Skip # Issue 43
|
||||
LayoutTests/fast/text/international/combining-marks-position_t01: RuntimeError # See Issue https://github.com/dart-lang/co19/issues/109
|
||||
|
||||
[ $compiler == none && $runtime == dartium && ($system == windows || $system == linux) ]
|
||||
LayoutTests/fast/canvas/webgl/buffer-data-array-buffer_t01: RuntimeError # 45 roll webgl doesn't run on on windows/linux bots.
|
||||
|
|
|
@ -15,7 +15,7 @@ main() {
|
|||
test('TimeStamp', () {
|
||||
Event event = new Event('test');
|
||||
|
||||
int timeStamp = event.timeStamp;
|
||||
num timeStamp = event.timeStamp;
|
||||
expect(timeStamp, greaterThan(0));
|
||||
});
|
||||
|
||||
|
|
|
@ -6,12 +6,12 @@ interactive_test: Skip # Must be run manually.
|
|||
cross_frame_test: Skip # Test reloads itself. Issue 18558
|
||||
|
||||
[ $compiler == none && ($runtime == dartium || $runtime == drt) ]
|
||||
|
||||
mirrors_js_typed_interop_test: Fail # Missing expected failure (Issue 25044)
|
||||
js_typed_interop_side_cast_exp_test: Fail, OK # tests dart2js-specific behavior.
|
||||
js_typed_interop_type1_test: Fail, OK # tests dart2js-specific behavior.
|
||||
js_typed_interop_type2_test: Fail, OK # tests dart2js-specific behavior.
|
||||
js_typed_interop_type3_test: Fail, OK # tests dart2js-specific behavior.
|
||||
svgelement_test/PathElement: RuntimeError # Issue 25665
|
||||
|
||||
native_gc_test: Skip # Dartium JSInterop failure
|
||||
js_interop_constructor_name_test/HTMLDivElement-methods: Fail # Investigate.
|
||||
|
@ -359,10 +359,6 @@ postmessage_structured_test: SkipByDesign
|
|||
[ $compiler == dart2js && ($runtime == chrome || $runtime == drt) ]
|
||||
svgelement_test/supported_altGlyph: RuntimeError # Issue 25787
|
||||
|
||||
[ ($runtime == dartium) && ($system == macos || $system == windows || $system == linux)]
|
||||
# Desktop operating systems do not support touch events on chrome 34 dartium.
|
||||
touchevent_test/supported: Fail
|
||||
|
||||
[ (($runtime == dartium || $runtime == drt) && $system == macos) || $system == windows ]
|
||||
xhr_test/xhr: Skip # Times out. Issue 21527
|
||||
|
||||
|
|
|
@ -92,7 +92,7 @@ positional_parameters_type_test/02: Fail # Issue 14651.
|
|||
type_checks_in_factory_method_test: Fail # Issue 14651.
|
||||
vm/type_vm_test: Fail # Issue 14651.
|
||||
|
||||
[ $compiler == none && ($runtime == dartium || $runtime == drt) ]
|
||||
[ $compiler == none && ($runtime == dartium || $runtime == drt)]
|
||||
abstract_beats_arguments2_test/01: Skip # Issue 29171
|
||||
# Other issues.
|
||||
issue13474_test: Pass, Fail # Issue 14651.
|
||||
|
|
|
@ -359,6 +359,13 @@ async/timer_test: Fail, Pass # See Issue 10982
|
|||
[ $compiler == none && $runtime == drt && $checked ]
|
||||
async/slow_consumer_test: Fail, Pass # Dartium JsInterop failure, dartbug.com/24460
|
||||
|
||||
[ $compiler == none && ($runtime == drt || $runtime == dartium) && $checked ]
|
||||
# TODO(terry): Failing tests with Dartium 50 roll (NEED TO FIX All)
|
||||
# ---------------------------------------------
|
||||
mirrors/regress_16321_test/01: Timeout, Pass # Roll 50 crash works on full build
|
||||
# ---------------------------------------------
|
||||
# TODO(terry): End of Dartium 50 roll failures
|
||||
|
||||
[ $compiler == dart2js && $runtime == safarimobilesim ]
|
||||
mirrors/mirrors_reader_test: SkipSlow # Times out. Issue 20806.
|
||||
mirrors/null_test: Fail # Issue 16831
|
||||
|
|
|
@ -46,7 +46,8 @@ class Channel(object):
|
|||
BLEEDING_EDGE = 'be'
|
||||
DEV = 'dev'
|
||||
STABLE = 'stable'
|
||||
ALL_CHANNELS = [BLEEDING_EDGE, DEV, STABLE]
|
||||
INTEGRATION = 'integration'
|
||||
ALL_CHANNELS = [BLEEDING_EDGE, DEV, STABLE, INTEGRATION]
|
||||
|
||||
class ReleaseType(object):
|
||||
RAW = 'raw'
|
||||
|
@ -66,7 +67,7 @@ class GCSNamer(object):
|
|||
|
||||
For every (channel,revision,release-type) tuple we have a base path:
|
||||
|
||||
gs://dart-archive/channels/{be,dev,stable}
|
||||
gs://dart-archive/channels/{be,dev,stable,integration}
|
||||
/{raw,signed,release}/{revision,latest}/
|
||||
|
||||
Under every base path, the following structure is used:
|
||||
|
|
|
@ -19,9 +19,10 @@ if HOST_OS == 'mac':
|
|||
CHROMEDRIVER_FILES = ['chromedriver']
|
||||
elif HOST_OS == 'linux':
|
||||
CONTENTSHELL_FILES = ['content_shell', 'content_shell.pak', 'fonts.conf',
|
||||
'libffmpegsumo.so', 'libosmesa.so', 'lib',
|
||||
'icudtl.dat', 'AHEM____.TTF', 'GardinerModBug.ttf',
|
||||
'GardinerModCat.ttf', 'natives_blob.bin']
|
||||
'libblink_test_plugin.so', 'libffmpegsumo.so',
|
||||
'libosmesa.so', 'lib', 'icudtl.dat', 'AHEM____.TTF',
|
||||
'GardinerModBug.ttf', 'GardinerModCat.ttf',
|
||||
'natives_blob.bin']
|
||||
CHROMEDRIVER_FILES = ['chromedriver']
|
||||
elif HOST_OS == 'win':
|
||||
# TODO: provide proper list.
|
||||
|
|
|
@ -12,6 +12,7 @@ ALL_TARGETS = [
|
|||
'content_shell',
|
||||
'chrome',
|
||||
'blink_tests',
|
||||
'chromedriver'
|
||||
]
|
||||
|
||||
def main():
|
||||
|
|
|
@ -90,13 +90,12 @@ def main():
|
|||
|
||||
result = 0
|
||||
|
||||
# Archive to the revision bucket unless integration build
|
||||
if info.channel != 'integration':
|
||||
result = upload_steps.ArchiveAndUpload(info, archive_latest=False)
|
||||
# On dev/stable we archive to the latest bucket as well
|
||||
if info.channel != 'be':
|
||||
result = (upload_steps.ArchiveAndUpload(info, archive_latest=True)
|
||||
or result)
|
||||
# Archive to the revision bucket
|
||||
result = upload_steps.ArchiveAndUpload(info, archive_latest=False)
|
||||
# On dev/stable we archive to the latest bucket as well
|
||||
if info.channel != 'be':
|
||||
result = (upload_steps.ArchiveAndUpload(info, archive_latest=True)
|
||||
or result)
|
||||
|
||||
# Run layout tests
|
||||
if info.mode == 'Release' or platform.system() != 'Darwin':
|
||||
|
|
|
@ -26,15 +26,29 @@ set -x
|
|||
# build Dartium, run this script and build Dartium again with the newly
|
||||
# generated patches.
|
||||
|
||||
ARG_OPTION="dartGenCachedPatches"
|
||||
|
||||
LOCATION_DARTIUM="../../../out/Release"
|
||||
DARTIUM="$LOCATION_DARTIUM"
|
||||
|
||||
if [[ "$1" != "" ]] ; then
|
||||
DARTIUM="$1"
|
||||
else
|
||||
LOCATION_DARTIUM="../../../out/Release"
|
||||
DARTIUM="$LOCATION_DARTIUM"
|
||||
if [[ "$1" =~ ^--roll ]]; then
|
||||
ARG_OPTION="dartGenCachedPatchesForRoll"
|
||||
else
|
||||
DARTIUM="$1"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$2" != "" ]] ; then
|
||||
if [[ "$2" =~ ^--roll ]]; then
|
||||
ARG_OPTION="dartGenCachedPatchesForRoll"
|
||||
else
|
||||
DARTIUM="$2"
|
||||
fi
|
||||
fi
|
||||
|
||||
DART_APP_LOCATION="file://"$PWD"/generate_app/generate_cached_patches.html"
|
||||
DARTIUM_ARGS=" --user-data-dir=out --disable-web-security --no-sandbox --enable-blink-features=dartGenCachedPatches"
|
||||
DARTIUM_ARGS=" --user-data-dir=out --disable-web-security --no-sandbox --enable-blink-features="$ARG_OPTION""
|
||||
CACHED_PATCHES_FILE=""$PWD"/../../sdk/lib/js/dartium/cached_patches.dart"
|
||||
|
||||
cmd=""$DARTIUM"/chrome "$DARTIUM_ARGS" "$DART_APP_LOCATION" |
|
||||
|
|
|
@ -194,6 +194,7 @@ def main():
|
|||
test = os.path.join(DART_TEST_DIR, options.layout_test)
|
||||
else:
|
||||
test = DART_TEST_DIR
|
||||
|
||||
utils.runCommand(['python',
|
||||
test_script,
|
||||
test_mode,
|
||||
|
|
|
@ -8,9 +8,8 @@ execfile(os.path.join(path, 'src', 'dart', 'tools', 'deps', 'dartium.deps', 'DEP
|
|||
# Now we need to override some settings and add some new ones.
|
||||
|
||||
vars.update({
|
||||
"dartium_chromium_commit": "7558afb6379171d7f96b2db68ae9d2b64b2c5544",
|
||||
"dartium_webkit_commit": "6b2be51884a122443c468e93e9d5090fb709964b",
|
||||
"chromium_base_revision": "338390",
|
||||
"dartium_chromium_commit": "1ac95883b0e9e13d0ec62164f0ca461dacef8a4b",
|
||||
"chromium_base_revision": "378081",
|
||||
|
||||
# We use mirrors of all github repos to guarantee reproducibility and
|
||||
# consistency between what users see and what the bots see.
|
||||
|
@ -67,7 +66,7 @@ vars.update({
|
|||
"yaml_rev": "@563a5ffd4a800a2897b8f4dd6b19f2a370df2f2b",
|
||||
"zlib_rev": "@c3d0a6190f2f8c924a05ab6cc97b8f975bddd33f",
|
||||
"web_components_rev": "@6349e09f9118dce7ae1b309af5763745e25a9d61",
|
||||
"WebCore_rev": "@2fe910c049be42bcef58f205debd4440e8139863",
|
||||
"WebCore_rev": "@3c45690813c112373757bbef53de1602a62af609",
|
||||
|
||||
"co19_rev": "@4af9ef149be554216c5bb16cbac8e50d4c28cdf1",
|
||||
})
|
||||
|
@ -76,11 +75,6 @@ deps.update({
|
|||
"src":
|
||||
Var("chromium_git") + "/dart/dartium/src.git" + "@" +
|
||||
Var("dartium_chromium_commit"),
|
||||
|
||||
"src/third_party/WebKit":
|
||||
Var("chromium_git") + "/dart/dartium/blink.git" + "@" +
|
||||
Var("dartium_webkit_commit"),
|
||||
|
||||
"src/dart/third_party/pkg/args":
|
||||
(Var("github_mirror") % "args") + Var("args_tag"),
|
||||
"src/dart/third_party/pkg/barback":
|
||||
|
@ -205,16 +199,16 @@ hooks.append({
|
|||
'src/dart/tools/bots/set_reference_build_revision.py',
|
||||
Var('chromium_base_revision')],
|
||||
})
|
||||
hooks.append({
|
||||
#hooks.append({
|
||||
# Peg the blink version number in LASTCHANGE.blink to be the upstream
|
||||
# webkit_revision number so that chrome remote devtools pulls assets from
|
||||
# the right place.
|
||||
"name": "lastchange",
|
||||
"pattern": ".",
|
||||
"action": ["python", "-c",
|
||||
"f=open('src/build/util/LASTCHANGE.blink','w'); f.write('LASTCHANGE=" +
|
||||
Var('webkit_revision') + "\\n')" ],
|
||||
})
|
||||
# "name": "lastchange",
|
||||
# "pattern": ".",
|
||||
# "action": ["python", "-c",
|
||||
# "f=open('src/build/util/LASTCHANGE.blink','w'); f.write('LASTCHANGE=" +
|
||||
# Var('webkit_revision') + "\\n')" ],
|
||||
#})
|
||||
hooks.append({
|
||||
"name": "checked_in_dart_sdks",
|
||||
"pattern": ".",
|
||||
|
|
|
@ -1,41 +1,44 @@
|
|||
vars = {
|
||||
'webkit_revision': 'abaaf1d0b6b6483140b5dca34e80fc259833ddf7', # from svn revision 198714
|
||||
'angle_revision':
|
||||
'44897140a2ae07dc5ba88190100179baa6fe7914',
|
||||
'4d76061e2be5b8b005afba8e0c145592c3b04527',
|
||||
'boringssl_revision':
|
||||
'de24aadc5bc01130b6a9d25582203bb5308fabe1',
|
||||
'6d49157929abdefb155daf2751dc03fd9eb4240c',
|
||||
'buildspec_platforms':
|
||||
'ios,',
|
||||
'chromeos,',
|
||||
'buildtools_revision':
|
||||
'ecc8e253abac3b6186a97573871a084f4c0ca3ae',
|
||||
'14288a03a92856fe1fc296d39e6a25c2d83cd6cf',
|
||||
'chromium_git':
|
||||
'https://chromium.googlesource.com',
|
||||
'deqp_revision':
|
||||
'cc0ded6c77267bbb14d21aac358fc5d9690c07f8',
|
||||
'deqp_url':
|
||||
'https://android.googlesource.com/platform/external/deqp',
|
||||
'freetype_android_revision':
|
||||
'a512b0fe7a8d9db0e5aa9c0a4db1e92cb861722d',
|
||||
'google_toolbox_for_mac_revision':
|
||||
'ce47a231ea0b238fbe95538e86cc61d74c234be6',
|
||||
'401878398253074c515c03cb3a3f8bb0cc8da6e9',
|
||||
'googlecode_url':
|
||||
'http://%s.googlecode.com/svn',
|
||||
'libvpx_revision':
|
||||
'96484d320036bbc1e30f1dea232799a3e0517b1d',
|
||||
'lighttpd_revision':
|
||||
'9dfa55d15937a688a92cbf2b7a8621b0927d06eb',
|
||||
'lss_revision':
|
||||
'6f97298fe3794e92c8c896a6bc06e0b36e4c3de3',
|
||||
'4fc942258fe5509549333b9487ec018e3c8c5b10',
|
||||
'nacl_revision':
|
||||
'b3d4cc125348924f727d3b87cee3674a839b54a0',
|
||||
'd182b0a028d44ba9767ae25b30cf3986a7e72e99',
|
||||
'nss_revision':
|
||||
'aab0d08a298b29407397fbb1c4219f99e99431ed',
|
||||
'225bfc39c93dfb7c7d0d1162f81e9bb5cd356c30',
|
||||
'openmax_dl_revision':
|
||||
'22bb1085a6a0f6f3589a8c3d60ed0a9b82248275',
|
||||
'6670e52d32351145a6b6c198dab3f6a536edf3db',
|
||||
'pdfium_revision':
|
||||
'cc2323f0d0d626edac4a426097eb38b53ba54848',
|
||||
'8ba5b59356d506d3b9e976e7422e69bbd5bec8d6',
|
||||
'sfntly_revision':
|
||||
'1bdaae8fc788a5ac8936d68bf24f37d977a13dac',
|
||||
'130f832eddf98467e6578b548cb74ce17d04a26d',
|
||||
'skia_revision':
|
||||
'ea561bf055bb803f4c10ca323ea60a9d94da7956',
|
||||
'82e26bf23923f20828c850d1a0e01d8bde69cfff',
|
||||
'swarming_revision':
|
||||
'b39a448d8522392389b28f6997126a6ab04bfe87',
|
||||
'a72f46e42dba1335e8001499b4621acad2d26728',
|
||||
'v8_revision':
|
||||
'7f211533faba9dd85708b1394186c7fe99b88392'
|
||||
'ad16e6c2cbd2c6b0f2e8ff944ac245561c682ac2'
|
||||
}
|
||||
allowed_hosts = [
|
||||
'android.googlesource.com',
|
||||
|
@ -45,60 +48,59 @@ allowed_hosts = [
|
|||
]
|
||||
deps = {
|
||||
'src/breakpad/src':
|
||||
(Var("chromium_git")) + '/external/google-breakpad/src.git@242fb9a38db6ba534b1f7daa341dd4d79171658b',
|
||||
(Var("chromium_git")) + '/breakpad/breakpad/src.git@481608d284106df9400d447e95574799670cabaf',
|
||||
'src/buildtools':
|
||||
(Var("chromium_git")) + '/chromium/buildtools.git@ecc8e253abac3b6186a97573871a084f4c0ca3ae',
|
||||
(Var("chromium_git")) + '/chromium/buildtools.git@14288a03a92856fe1fc296d39e6a25c2d83cd6cf',
|
||||
'src/chrome/test/data/perf/canvas_bench':
|
||||
(Var("chromium_git")) + '/chromium/canvas_bench.git@a7b40ea5ae0239517d78845a5fc9b12976bfc732',
|
||||
'src/chrome/test/data/perf/frame_rate/content':
|
||||
(Var("chromium_git")) + '/chromium/frame_rate/content.git@c10272c88463efeef6bb19c9ec07c42bc8fe22b9',
|
||||
'src/media/cdm/ppapi/api':
|
||||
(Var("chromium_git")) + '/chromium/cdm.git@7377023e384f296cbb27644eb2c485275f1f92e8',
|
||||
'src/media/cdm/api':
|
||||
(Var("chromium_git")) + '/chromium/cdm.git@1dea7088184dec2ebe4a8b3800aabb0afbb4b88a',
|
||||
'src/native_client':
|
||||
(Var("chromium_git")) + '/native_client/src/native_client.git@b3d4cc125348924f727d3b87cee3674a839b54a0',
|
||||
(Var("chromium_git")) + '/native_client/src/native_client.git@fb00463cb1ebd46a46c050101f8b6a6c999d5dc1',
|
||||
'src/sdch/open-vcdiff':
|
||||
(Var("chromium_git")) + '/external/open-vcdiff.git@438f2a5be6d809bc21611a94cd37bfc8c28ceb33',
|
||||
(Var("chromium_git")) + '/external/github.com/google/open-vcdiff.git@21d7d0b9c3d0c3ccbdb221c85ae889373f0a2a58',
|
||||
'src/testing/gmock':
|
||||
(Var("chromium_git")) + '/external/googlemock.git@29763965ab52f24565299976b936d1265cb6a271',
|
||||
(Var("chromium_git")) + '/external/googlemock.git@0421b6f358139f02e102c9c332ce19a33faf75be',
|
||||
'src/testing/gtest':
|
||||
(Var("chromium_git")) + '/external/googletest.git@23574bf2333f834ff665f894c97bef8a5b33a0a9',
|
||||
(Var("chromium_git")) + '/external/github.com/google/googletest.git@6f8a66431cb592dad629028a50b3dd418a408c87',
|
||||
'src/third_party/angle':
|
||||
(Var("chromium_git")) + '/angle/angle.git@6f0fd8c5457f9dcffc9fa9fab3852417311be0a9',
|
||||
(Var("chromium_git")) + '/angle/angle.git@c46018b8598dad46f6834411f27e12e90bb62a56',
|
||||
'src/third_party/bidichecker':
|
||||
(Var("chromium_git")) + '/external/bidichecker/lib.git@97f2aa645b74c28c57eca56992235c79850fa9e0',
|
||||
'src/third_party/boringssl/src':
|
||||
'https://boringssl.googlesource.com/boringssl.git@de24aadc5bc01130b6a9d25582203bb5308fabe1',
|
||||
'https://boringssl.googlesource.com/boringssl.git@c880e42ba1c8032d4cdde2aba0541d8a9d9fa2e9',
|
||||
'src/third_party/catapult':
|
||||
(Var("chromium_git")) + '/external/github.com/catapult-project/catapult.git@a489be785184f64356555a8170452a6d6880cc5d',
|
||||
'src/third_party/cld_2/src':
|
||||
(Var("chromium_git")) + '/external/cld2.git@14d9ef8d4766326f8aa7de54402d1b9c782d4481',
|
||||
(Var("chromium_git")) + '/external/github.com/CLD2Owners/cld2.git@84b58a5d7690ebf05a91406f371ce00c3daf31c0',
|
||||
'src/third_party/colorama/src':
|
||||
(Var("chromium_git")) + '/external/colorama.git@799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
|
||||
'src/third_party/crashpad/crashpad':
|
||||
(Var("chromium_git")) + '/crashpad/crashpad.git@797adb320680a4a8ad39428075cca287e04b111f',
|
||||
'src/third_party/dom_distiller_js/dist':
|
||||
(Var("chromium_git")) + '/external/github.com/chromium/dom-distiller-dist.git@81e5b59da2a7a0a518b90b5ded58670322c98128',
|
||||
(Var("chromium_git")) + '/external/github.com/chromium/dom-distiller-dist.git@e21fe06cb71327ec62431f823e783d7b02f97b26',
|
||||
'src/third_party/ffmpeg':
|
||||
(Var("chromium_git")) + '/chromium/third_party/ffmpeg.git@833732528c1873f37b490b289eeaded2ae86349c',
|
||||
(Var("chromium_git")) + '/chromium/third_party/ffmpeg.git@b828a1bc02572754455e97508e4b78fc06d5e6fa',
|
||||
'src/third_party/flac':
|
||||
(Var("chromium_git")) + '/chromium/deps/flac.git@c291ce676d2c855f7b2739f00f5c7f7e813813dc',
|
||||
(Var("chromium_git")) + '/chromium/deps/flac.git@2c4b86af352b23498315c016dc207e3fb2733fc0',
|
||||
'src/third_party/hunspell_dictionaries':
|
||||
(Var("chromium_git")) + '/chromium/deps/hunspell_dictionaries.git@c106afdcec5d3de2622e19f1b3294c47bbd8bd72',
|
||||
'src/third_party/icu':
|
||||
(Var("chromium_git")) + '/chromium/deps/icu.git@257f502ab8b2a6371efcd6d4606202e7f5be17d8',
|
||||
(Var("chromium_git")) + '/chromium/deps/icu.git@052cebbb5f0695b797b0053cb302a2ca29b8044a',
|
||||
'src/third_party/jsoncpp/source':
|
||||
(Var("chromium_git")) + '/external/github.com/open-source-parsers/jsoncpp.git@f572e8e42e22cfcf5ab0aea26574f408943edfa4',
|
||||
'src/third_party/leveldatabase/src':
|
||||
(Var("chromium_git")) + '/external/leveldb.git@40c17c0b84ac0b791fb434096fd5c05f3819ad55',
|
||||
(Var("chromium_git")) + '/external/leveldb.git@706b7f8d43b0aecdc75c5ee49d3e4ef5f27b9faf',
|
||||
'src/third_party/libaddressinput/src':
|
||||
(Var("chromium_git")) + '/external/libaddressinput.git@5eeeb797e79fa01503fcdcbebdc50036fac023ef',
|
||||
'src/third_party/libexif/sources':
|
||||
(Var("chromium_git")) + '/chromium/deps/libexif/sources.git@ed98343daabd7b4497f97fda972e132e6877c48a',
|
||||
# TODO(terry): Commented out 45 roll and reverted to use old SHA1 for this from roll 39
|
||||
# 'src/third_party/libjingle/source/talk':
|
||||
# (Var("chromium_git")) + '/external/webrtc/trunk/talk.git@e0fa7aec7298a0c82081b14e17191f80f9f0e044',
|
||||
(Var("chromium_git")) + '/chromium/deps/libexif/sources.git@9d467f7d21e4749ee22ee7520e561ac7b38484b9',
|
||||
'src/third_party/libjingle/source/talk':
|
||||
(Var('chromium_git')) + '/external/webrtc/trunk/talk.git' + '@' + 'f7c923ddc729dc7f002b0e194ab72b661f932c00', # commit position 9564
|
||||
(Var("chromium_git")) + '/external/webrtc/trunk/talk.git@a4cc90bc9bfb5cc932075aebccb734e38932b107',
|
||||
# TODO(terry): Hash different between original and git mirror above is new hash below is original hash. Some CL though.
|
||||
# (Var("chromium_git")) + '/external/webrtc/trunk/talk.git@04170d694b177d0e4b2c4f191daad36e88f765b2',
|
||||
'src/third_party/libjpeg_turbo':
|
||||
(Var("chromium_git")) + '/chromium/deps/libjpeg_turbo.git@f4631b6ee8b1dbb05e51ae335a7886f9ac598ab6',
|
||||
(Var("chromium_git")) + '/chromium/deps/libjpeg_turbo.git@e4e75037f29745f1546b6ebf5cf532e841c04c2c',
|
||||
'src/third_party/libphonenumber/src/phonenumbers':
|
||||
(Var("chromium_git")) + '/external/libphonenumber/cpp/src/phonenumbers.git@0d6e3e50e17c94262ad1ca3b7d52b11223084bca',
|
||||
'src/third_party/libphonenumber/src/resources':
|
||||
|
@ -106,89 +108,105 @@ deps = {
|
|||
'src/third_party/libphonenumber/src/test':
|
||||
(Var("chromium_git")) + '/external/libphonenumber/cpp/test.git@f351a7e007f9c9995494499120bbc361ca808a16',
|
||||
'src/third_party/libsrtp':
|
||||
(Var("chromium_git")) + '/chromium/deps/libsrtp.git@9c53f858cddd4d890e405e91ff3af0b48dfd90e6',
|
||||
'src/third_party/libvpx':
|
||||
(Var("chromium_git")) + '/chromium/deps/libvpx.git@96484d320036bbc1e30f1dea232799a3e0517b1d',
|
||||
(Var("chromium_git")) + '/chromium/deps/libsrtp.git@8eecac0feef4c65e2debb42718a10eab91551f35',
|
||||
'src/third_party/libvpx_new/source/libvpx':
|
||||
(Var("chromium_git")) + '/webm/libvpx.git@89cc68252846478fa7f2d570d96ff93776cefac6',
|
||||
'src/third_party/libwebm/source':
|
||||
(Var("chromium_git")) + '/webm/libwebm.git@75a6d2da8b63e0c446ec0ce1ac942c2962d959d7',
|
||||
'src/third_party/libyuv':
|
||||
(Var("chromium_git")) + '/libyuv/libyuv.git@0e83b64e8879e9469919dc96b5d970c7c5bd05af',
|
||||
(Var("chromium_git")) + '/libyuv/libyuv.git@20343f45c612e485cd898aeaae2250df2d0b2d2d',
|
||||
'src/third_party/mesa/src':
|
||||
(Var("chromium_git")) + '/chromium/deps/mesa.git@071d25db04c23821a12a8b260ab9d96a097402f0',
|
||||
(Var("chromium_git")) + '/chromium/deps/mesa.git@ef811c6bd4de74e13e7035ca882cc77f85793fef',
|
||||
'src/third_party/openh264/src':
|
||||
(Var("chromium_git")) + '/external/github.com/cisco/openh264@b37cda248234162033e3e11b0335f3131cdfe488',
|
||||
'src/third_party/openmax_dl':
|
||||
(Var("chromium_git")) + '/external/webrtc/deps/third_party/openmax.git@22bb1085a6a0f6f3589a8c3d60ed0a9b82248275',
|
||||
(Var("chromium_git")) + '/external/webrtc/deps/third_party/openmax.git@6670e52d32351145a6b6c198dab3f6a536edf3db',
|
||||
'src/third_party/opus/src':
|
||||
(Var("chromium_git")) + '/chromium/deps/opus.git@cae696156f1e60006e39821e79a1811ae1933c69',
|
||||
(Var("chromium_git")) + '/chromium/deps/opus.git@655cc54c564b84ef2827f0b2152ce3811046201e',
|
||||
'src/third_party/pdfium':
|
||||
'https://pdfium.googlesource.com/pdfium.git@860a3eb0f3c18853f95df5a70dc50a95a29aafb1',
|
||||
'https://pdfium.googlesource.com/pdfium.git@58340b0f837343671f1eb033371a41441eae80cd',
|
||||
'src/third_party/py_trace_event/src':
|
||||
(Var("chromium_git")) + '/external/py_trace_event.git@dd463ea9e2c430de2b9e53dea57a77b4c3ac9b30',
|
||||
'src/third_party/pyftpdlib/src':
|
||||
(Var("chromium_git")) + '/external/pyftpdlib.git@2be6d65e31c7ee6320d059f581f05ae8d89d7e45',
|
||||
'src/third_party/pywebsocket/src':
|
||||
(Var("chromium_git")) + '/external/pywebsocket/src.git@cb349e87ddb30ff8d1fa1a89be39cec901f4a29c',
|
||||
(Var("chromium_git")) + '/external/github.com/google/pywebsocket.git@2d7b73c3acbd0f41dcab487ae5c97c6feae06ce2',
|
||||
'src/third_party/re2/src':
|
||||
(Var("chromium_git")) + '/external/github.com/google/re2.git@dba3349aba83b5588e85e5ecf2b56c97f2d259b7',
|
||||
'src/third_party/safe_browsing/testing':
|
||||
(Var("chromium_git")) + '/external/google-safe-browsing/testing.git@9d7e8064f3ca2e45891470c9b5b1dce54af6a9d6',
|
||||
'src/third_party/scons-2.0.1':
|
||||
(Var("chromium_git")) + '/native_client/src/third_party/scons-2.0.1.git@1c1550e17fc26355d08627fbdec13d8291227067',
|
||||
'src/third_party/sfntly/cpp/src':
|
||||
(Var("chromium_git")) + '/external/sfntly/cpp/src.git@1bdaae8fc788a5ac8936d68bf24f37d977a13dac',
|
||||
'src/third_party/sfntly/src':
|
||||
(Var("chromium_git")) + '/external/github.com/googlei18n/sfntly.git@130f832eddf98467e6578b548cb74ce17d04a26d',
|
||||
'src/third_party/skia':
|
||||
(Var("chromium_git")) + '/skia.git@56032c4f7bab7b0dd31b4d1eb139561d73fcd12d',
|
||||
(Var("chromium_git")) + '/skia.git@b95c8954fceebf67629d894d26cf57a170507612',
|
||||
'src/third_party/smhasher/src':
|
||||
(Var("chromium_git")) + '/external/smhasher.git@e87738e57558e0ec472b2fc3a643b838e5b6e88f',
|
||||
'src/third_party/snappy/src':
|
||||
(Var("chromium_git")) + '/external/snappy.git@762bb32f0c9d2f31ba4958c7c0933d22e80c20bf',
|
||||
'src/third_party/trace-viewer':
|
||||
(Var("chromium_git")) + '/external/trace-viewer.git@4f30209abd53c699c937519f39ce41888f93507b',
|
||||
'src/third_party/usrsctp/usrsctplib':
|
||||
(Var("chromium_git")) + '/external/usrsctplib.git@36444a999739e9e408f8f587cb4c3ffeef2e50ac',
|
||||
(Var("chromium_git")) + '/external/github.com/sctplab/usrsctp@c60ec8b35c3fe6027d7a3faae89d1c8d7dd3ce98',
|
||||
'src/third_party/webdriver/pylib':
|
||||
(Var("chromium_git")) + '/external/selenium/py.git@5fd78261a75fe08d27ca4835fb6c5ce4b42275bd',
|
||||
'src/third_party/webgl/src':
|
||||
(Var("chromium_git")) + '/external/khronosgroup/webgl.git@8986f8bfa84547b1a30a9256ebdd665024d68d71',
|
||||
(Var("chromium_git")) + '/external/khronosgroup/webgl.git@1012e1f8baea808f3bc9fcef945d66b5f740c32b',
|
||||
'src/third_party/webpagereplay':
|
||||
(Var("chromium_git")) + '/external/github.com/chromium/web-page-replay.git@5da5975950daa7b30a6938da73fd0b3200901b0c',
|
||||
# TODO(terry): Commented out 45 roll and reverted to use old SHA1 for this from roll 39
|
||||
(Var("chromium_git")) + '/external/github.com/chromium/web-page-replay.git@7564939bdf6482d57b9bd5e9c931679f96d8cf75',
|
||||
# TODO(terry): below directory to enlist temporary commented out to explicitly pull in src/third_party/webrtc
|
||||
# at SHA commit 256ade59023c75dcf2135a4d99a371c09d07e0fe (need to revert src checkin
|
||||
# https://codereview.chromium.org/2741183002 then uncomment below 2 lines and remove rest
|
||||
# of comments below those 2 lines.
|
||||
# 'src/third_party/webrtc':
|
||||
# (Var("chromium_git")) + '/external/webrtc/trunk/webrtc.git@7c166694b3c8f614eeb47148f4ab68545c78786e',
|
||||
'src/third_party/webrtc':
|
||||
(Var('chromium_git')) + '/external/webrtc/trunk/webrtc.git' + '@' + '847b12a225694e10425c8a9b31e0eec028baf841', # commit position 9565
|
||||
# (Var("chromium_git")) + '/external/webrtc/trunk/webrtc.git@256ade59023c75dcf2135a4d99a371c09d07e0fe',
|
||||
# TODO(terry): Above is correct commit - below is a commit that exists on the mirrors.
|
||||
#
|
||||
# To work around comment the above SHA and enable the below SHA
|
||||
# do a gclient sync then after that do this:
|
||||
#
|
||||
# > git fetch origin refs/branch-heads/50
|
||||
# > git checkout -b webrtc_roll_50 256ade59023c75dcf2135a4d99a371c09d07e0
|
||||
#
|
||||
# then comment the below SHA and enable the above SHA line.
|
||||
#
|
||||
# then gclient sync again, everything will now work locally.
|
||||
#
|
||||
# (Var("chromium_git")) + '/external/webrtc/trunk/webrtc.git@780d506ddf7bcba4a3dc04cfe2240c1ae80880f2',
|
||||
'src/third_party/yasm/source/patched-yasm':
|
||||
(Var("chromium_git")) + '/chromium/deps/yasm/patched-yasm.git@4671120cd8558ce62ee8672ebf3eb6f5216f909b',
|
||||
'src/tools/deps2git':
|
||||
(Var("chromium_git")) + '/chromium/tools/deps2git.git@f04828eb0b5acd3e7ad983c024870f17f17b06d9',
|
||||
'src/tools/grit':
|
||||
(Var("chromium_git")) + '/external/grit-i18n.git@1dac9ae64b0224beb1547810933a6f9998d0d55e',
|
||||
(Var("chromium_git")) + '/chromium/deps/yasm/patched-yasm.git@7da28c6c7c6a1387217352ce02b31754deb54d2a',
|
||||
'src/tools/gyp':
|
||||
(Var("chromium_git")) + '/external/gyp.git@5122240c5e5c4d8da12c543d82b03d6089eb77c5',
|
||||
(Var("chromium_git")) + '/external/gyp.git@ed163ce233f76a950dce1751ac851dbe4b1c00cc',
|
||||
'src/tools/page_cycler/acid3':
|
||||
(Var("chromium_git")) + '/chromium/deps/acid3.git@6be0a66a1ebd7ebc5abc1b2f405a945f6d871521',
|
||||
'src/tools/swarming_client':
|
||||
(Var("chromium_git")) + '/external/swarming.client.git@b39a448d8522392389b28f6997126a6ab04bfe87',
|
||||
(Var("chromium_git")) + '/external/swarming.client.git@a72f46e42dba1335e8001499b4621acad2d26728',
|
||||
'src/v8':
|
||||
(Var("chromium_git")) + '/v8/v8.git@96dddb455daff3d8626bc4e5d7b2898fbab55991'
|
||||
(Var("chromium_git")) + '/v8/v8.git@45a71919836046560ba8eb349eaf9172857ffe6f'
|
||||
}
|
||||
deps_os = {
|
||||
'android': {
|
||||
'src/third_party/android_protobuf/src':
|
||||
(Var("chromium_git")) + '/external/android_protobuf.git@999188d0dc72e97f7fe08bb756958a2cf090f4e7',
|
||||
'src/third_party/android_tools':
|
||||
(Var("chromium_git")) + '/android_tools.git@4238a28593b7e6178c95431f91ca8c24e45fa7eb',
|
||||
(Var("chromium_git")) + '/android_tools.git@f4c36ad89b2696b37d9cd7ca7d984b691888b188',
|
||||
'src/third_party/apache-mime4j':
|
||||
(Var("chromium_git")) + '/chromium/deps/apache-mime4j.git@28cb1108bff4b6cf0a2e86ff58b3d025934ebe3a',
|
||||
'src/third_party/apache-portable-runtime/src':
|
||||
(Var("chromium_git")) + '/external/apache-portable-runtime.git@c76a8c4277e09a82eaa229e35246edea1ee0a6a1',
|
||||
'src/third_party/appurify-python/src':
|
||||
(Var("chromium_git")) + '/external/github.com/appurify/appurify-python.git@ee7abd5c5ae3106f72b2a0b9d2cb55094688e867',
|
||||
'src/third_party/cardboard-java/src':
|
||||
(Var("chromium_git")) + '/external/github.com/googlesamples/cardboard-java.git@08ad25a04f2801bd822c3f2cd28301b68d74aef6',
|
||||
(Var("chromium_git")) + '/external/github.com/googlesamples/cardboard-java.git@e36ee57e72bbd057ddb53b127954177b50e18df7',
|
||||
'src/third_party/custom_tabs_client/src':
|
||||
(Var("chromium_git")) + '/external/github.com/GoogleChrome/custom-tabs-client.git@a562624975518bd6c6c5976eb883fcc5f69d16b6',
|
||||
(Var("chromium_git")) + '/external/github.com/GoogleChrome/custom-tabs-client.git@8ae46d26e739899d2e35f462beeb20e9c194d0ab',
|
||||
'src/third_party/elfutils/src':
|
||||
(Var("chromium_git")) + '/external/elfutils.git@249673729a7e5dbd5de4f3760bdcaa3d23d154d7',
|
||||
'src/third_party/errorprone/lib':
|
||||
(Var("chromium_git")) + '/chromium/third_party/errorprone.git@6c66e56c0f9d750aef83190466df834f9d6af8ab',
|
||||
(Var("chromium_git")) + '/chromium/third_party/errorprone.git@0eea83b66343133b9c76b7d3288c30321818ebcf',
|
||||
'src/third_party/findbugs':
|
||||
(Var("chromium_git")) + '/chromium/deps/findbugs.git@7f69fa78a6db6dc31866d09572a0e356e921bf12',
|
||||
(Var("chromium_git")) + '/chromium/deps/findbugs.git@57f05238d3ac77ea0a194813d3065dd780c6e566',
|
||||
'src/third_party/freetype-android/src':
|
||||
(Var("chromium_git")) + '/chromium/src/third_party/freetype2.git@e186230678ee8e4ea4ac4797ece8125761e3225a',
|
||||
(Var("chromium_git")) + '/chromium/src/third_party/freetype2.git@a512b0fe7a8d9db0e5aa9c0a4db1e92cb861722d',
|
||||
'src/third_party/httpcomponents-client':
|
||||
(Var("chromium_git")) + '/chromium/deps/httpcomponents-client.git@285c4dafc5de0e853fa845dce5773e223219601c',
|
||||
'src/third_party/httpcomponents-core':
|
||||
|
@ -199,31 +217,41 @@ deps_os = {
|
|||
(Var("chromium_git")) + '/external/jsr-305.git@642c508235471f7220af6d5df2d3210e3bfc0919',
|
||||
'src/third_party/junit/src':
|
||||
(Var("chromium_git")) + '/external/junit.git@45a44647e7306262162e1346b750c3209019f2e1',
|
||||
'src/third_party/leakcanary/src':
|
||||
(Var("chromium_git")) + '/external/github.com/square/leakcanary.git@608ded739e036a3aa69db47ac43777dcee506f8e',
|
||||
'src/third_party/lss':
|
||||
(Var("chromium_git")) + '/external/linux-syscall-support/lss.git@6f97298fe3794e92c8c896a6bc06e0b36e4c3de3',
|
||||
(Var("chromium_git")) + '/external/linux-syscall-support/lss.git@4fc942258fe5509549333b9487ec018e3c8c5b10',
|
||||
'src/third_party/mockito/src':
|
||||
(Var("chromium_git")) + '/external/mockito/mockito.git@ed99a52e94a84bd7c467f2443b475a22fcc6ba8e',
|
||||
(Var("chromium_git")) + '/external/mockito/mockito.git@4d987dcd923b81525c42b1333e6c4e07440776c3',
|
||||
'src/third_party/netty-tcnative/src':
|
||||
(Var("chromium_git")) + '/external/netty-tcnative.git@12d01332921695e974175870175eb14a889313a1',
|
||||
'src/third_party/netty4/src':
|
||||
(Var("chromium_git")) + '/external/netty4.git@e0f26303b4ce635365be19414d0ac81f2ef6ba3c',
|
||||
'src/third_party/requests/src':
|
||||
(Var("chromium_git")) + '/external/github.com/kennethreitz/requests.git@f172b30356d821d180fa4ecfa3e71c7274a32de4',
|
||||
'src/third_party/robolectric/lib':
|
||||
(Var("chromium_git")) + '/chromium/third_party/robolectric.git@6b63c99a8b6967acdb42cbed0adb067c80efc810',
|
||||
'src/third_party/ub-uiautomator/lib':
|
||||
(Var("chromium_git")) + '/chromium/third_party/ub-uiautomator.git@e6f02481bada8bdbdfdd7987dd6e648c44a3adcb'
|
||||
(Var("chromium_git")) + '/chromium/third_party/ub-uiautomator.git@00270549ce3161ae72ceb24712618ea28b4f9434'
|
||||
},
|
||||
'ios': {
|
||||
'src/chrome/test/data/perf/canvas_bench': None,
|
||||
'src/chrome/test/data/perf/frame_rate/content': None,
|
||||
'src/ios/third_party/fishhook/src':
|
||||
(Var("chromium_git")) + '/external/github.com/facebook/fishhook.git@d172d5247aa590c25d0b1885448bae76036ea22c',
|
||||
'src/ios/third_party/gcdwebserver/src':
|
||||
(Var("chromium_git")) + '/external/github.com/swisspol/GCDWebServer.git@3d5fd0b8281a7224c057deb2d17709b5bea64836',
|
||||
'src/ios/third_party/ochamcrest/src':
|
||||
(Var("chromium_git")) + '/external/github.com/hamcrest/OCHamcrest.git@5b50930c66d1e537918a87eef0943d6750729dc5',
|
||||
'src/native_client': None,
|
||||
'src/third_party/class-dump/src':
|
||||
(Var("chromium_git")) + '/external/github.com/nygard/class-dump.git@978d177ca6f0d2e5e34acf3e8dadc63e3140ebbc',
|
||||
'src/third_party/ffmpeg': None,
|
||||
'src/third_party/google_toolbox_for_mac/src':
|
||||
(Var("chromium_git")) + '/external/google-toolbox-for-mac.git@ce47a231ea0b238fbe95538e86cc61d74c234be6',
|
||||
(Var("chromium_git")) + '/external/github.com/google/google-toolbox-for-mac.git@401878398253074c515c03cb3a3f8bb0cc8da6e9',
|
||||
'src/third_party/hunspell_dictionaries': None,
|
||||
'src/third_party/nss':
|
||||
(Var("chromium_git")) + '/chromium/deps/nss.git@aab0d08a298b29407397fbb1c4219f99e99431ed',
|
||||
(Var("chromium_git")) + '/chromium/deps/nss.git@225bfc39c93dfb7c7d0d1162f81e9bb5cd356c30',
|
||||
'src/third_party/webgl': None
|
||||
},
|
||||
'mac': {
|
||||
|
@ -232,11 +260,11 @@ deps_os = {
|
|||
'src/chrome/tools/test/reference_build/chrome_mac':
|
||||
(Var("chromium_git")) + '/chromium/reference_builds/chrome_mac.git@8dc181329e7c5255f83b4b85dc2f71498a237955',
|
||||
'src/third_party/google_toolbox_for_mac/src':
|
||||
(Var("chromium_git")) + '/external/google-toolbox-for-mac.git@ce47a231ea0b238fbe95538e86cc61d74c234be6',
|
||||
(Var("chromium_git")) + '/external/github.com/google/google-toolbox-for-mac.git@401878398253074c515c03cb3a3f8bb0cc8da6e9',
|
||||
'src/third_party/lighttpd':
|
||||
(Var("chromium_git")) + '/chromium/deps/lighttpd.git@9dfa55d15937a688a92cbf2b7a8621b0927d06eb',
|
||||
'src/third_party/nss':
|
||||
(Var("chromium_git")) + '/chromium/deps/nss.git@aab0d08a298b29407397fbb1c4219f99e99431ed',
|
||||
(Var("chromium_git")) + '/chromium/deps/nss.git@225bfc39c93dfb7c7d0d1162f81e9bb5cd356c30',
|
||||
'src/third_party/pdfsqueeze':
|
||||
(Var("chromium_git")) + '/external/pdfsqueeze.git@5936b871e6a087b7e50d4cbcb122378d8a07499f'
|
||||
},
|
||||
|
@ -246,19 +274,29 @@ deps_os = {
|
|||
'src/third_party/chromite':
|
||||
(Var("chromium_git")) + '/chromiumos/chromite.git@e19f83ba227bf1ec0077f5d3a816a415f1dd88d0',
|
||||
'src/third_party/cros_system_api':
|
||||
(Var("chromium_git")) + '/chromiumos/platform/system_api.git@513f58ccbcecfd4a3d21545f67136090838eaf52',
|
||||
(Var("chromium_git")) + '/chromiumos/platform/system_api.git@7d0047203cf4263940e92d50b0725d0faf4d9281',
|
||||
'src/third_party/deqp/src':
|
||||
'https://android.googlesource.com/platform/external/deqp@cc0ded6c77267bbb14d21aac358fc5d9690c07f8',
|
||||
'src/third_party/fontconfig/src':
|
||||
(Var("chromium_git")) + '/external/fontconfig.git@f16c3118e25546c1b749f9823c51827a60aeb5c1',
|
||||
'src/third_party/freetype-android/src':
|
||||
(Var("chromium_git")) + '/chromium/src/third_party/freetype2.git@a512b0fe7a8d9db0e5aa9c0a4db1e92cb861722d',
|
||||
'src/third_party/freetype2/src':
|
||||
(Var("chromium_git")) + '/chromium/src/third_party/freetype2.git@1dd5f5f4a909866f15c92a45c9702bce290a0151',
|
||||
(Var("chromium_git")) + '/chromium/src/third_party/freetype2.git@fc1532a7c4c592f24a4c1a0261d2845524ca5cff',
|
||||
'src/third_party/liblouis/src':
|
||||
(Var("chromium_git")) + '/external/liblouis-github.git@5f9c03f2a3478561deb6ae4798175094be8a26c2',
|
||||
'src/third_party/lss':
|
||||
(Var("chromium_git")) + '/external/linux-syscall-support/lss.git@6f97298fe3794e92c8c896a6bc06e0b36e4c3de3',
|
||||
(Var("chromium_git")) + '/external/linux-syscall-support/lss.git@4fc942258fe5509549333b9487ec018e3c8c5b10',
|
||||
'src/third_party/minigbm/src':
|
||||
(Var("chromium_git")) + '/chromiumos/platform/minigbm.git@f9d2ab79a15a1bb6a1307f3b608964c81c27791b',
|
||||
'src/third_party/pyelftools':
|
||||
(Var("chromium_git")) + '/chromiumos/third_party/pyelftools.git@bdc1d380acd88d4bfaf47265008091483b0d614e',
|
||||
'src/third_party/stp/src':
|
||||
(Var("chromium_git")) + '/external/github.com/stp/stp.git@fc94a599207752ab4d64048204f0c88494811b62',
|
||||
'src/third_party/wayland-protocols/src':
|
||||
(Var("chromium_git")) + '/external/anongit.freedesktop.org/git/wayland/wayland-protocols.git@596dfda882a51c05699bcb28a8459ce936a138db',
|
||||
'src/third_party/wayland/src':
|
||||
(Var("chromium_git")) + '/external/anongit.freedesktop.org/git/wayland/wayland.git@7ed00c1de77afbab23f4908fbd9d60ec070c209b',
|
||||
'src/third_party/wds/src':
|
||||
(Var("chromium_git")) + '/external/github.com/01org/wds@f187dda5fccaad08e168dc6657109325f42c648e',
|
||||
'src/third_party/xdg-utils':
|
||||
(Var("chromium_git")) + '/chromium/deps/xdg-utils.git@d80274d5869b17b8c9067a1022e4416ee7ed5e0d'
|
||||
},
|
||||
|
@ -270,7 +308,7 @@ deps_os = {
|
|||
'src/third_party/cygwin':
|
||||
(Var("chromium_git")) + '/chromium/deps/cygwin.git@c89e446b273697fadf3a10ff1007a97c0b7de6df',
|
||||
'src/third_party/deqp/src':
|
||||
'https://android.googlesource.com/platform/external/deqp@194294e69d44eac48bc1fb063bd607189650aa5e',
|
||||
'https://android.googlesource.com/platform/external/deqp@cc0ded6c77267bbb14d21aac358fc5d9690c07f8',
|
||||
'src/third_party/gnu_binutils':
|
||||
(Var("chromium_git")) + '/native_client/deps/third_party/gnu_binutils.git@f4003433b61b25666565690caf3d7a7a1a4ec436',
|
||||
'src/third_party/gperf':
|
||||
|
@ -282,7 +320,7 @@ deps_os = {
|
|||
'src/third_party/nacl_sdk_binaries':
|
||||
(Var("chromium_git")) + '/chromium/deps/nacl_sdk_binaries.git@759dfca03bdc774da7ecbf974f6e2b84f43699a5',
|
||||
'src/third_party/nss':
|
||||
(Var("chromium_git")) + '/chromium/deps/nss.git@aab0d08a298b29407397fbb1c4219f99e99431ed',
|
||||
(Var("chromium_git")) + '/chromium/deps/nss.git@225bfc39c93dfb7c7d0d1162f81e9bb5cd356c30',
|
||||
'src/third_party/pefile':
|
||||
(Var("chromium_git")) + '/external/pefile.git@72c6ae42396cb913bcab63c15585dc3b5c3f92f1',
|
||||
'src/third_party/perl':
|
||||
|
@ -321,7 +359,8 @@ hooks = [
|
|||
{
|
||||
'action': [
|
||||
'python',
|
||||
'src/build/download_sdk_extras.py'
|
||||
'src/build/android/play_services/update.py',
|
||||
'download'
|
||||
],
|
||||
'pattern':
|
||||
'.',
|
||||
|
@ -396,7 +435,7 @@ hooks = [
|
|||
'pattern':
|
||||
'.',
|
||||
'name':
|
||||
'lastchange'
|
||||
'lastchange_blink'
|
||||
},
|
||||
{
|
||||
'action': [
|
||||
|
@ -494,6 +533,22 @@ hooks = [
|
|||
'name':
|
||||
'clang_format_linux'
|
||||
},
|
||||
{
|
||||
'action': [
|
||||
'download_from_google_storage',
|
||||
'--no_resume',
|
||||
'--platform=darwin',
|
||||
'--no_auth',
|
||||
'--bucket',
|
||||
'chromium-libcpp',
|
||||
'-s',
|
||||
'src/third_party/libc++-static/libc++.a.sha1'
|
||||
],
|
||||
'pattern':
|
||||
'.',
|
||||
'name':
|
||||
'libcpp_mac'
|
||||
},
|
||||
{
|
||||
'action': [
|
||||
'download_from_google_storage',
|
||||
|
@ -579,7 +634,7 @@ hooks = [
|
|||
'python',
|
||||
'src/build/get_syzygy_binaries.py',
|
||||
'--output-dir=src/third_party/syzygy/binaries',
|
||||
'--revision=e50a9822fc8aeb5e7902da5e2940ea135d732e57',
|
||||
'--revision=2d774f05a05cbc2f0dd929170c7a62fd549b2c5f',
|
||||
'--overwrite'
|
||||
],
|
||||
'pattern':
|
||||
|
@ -591,8 +646,8 @@ hooks = [
|
|||
'action': [
|
||||
'python',
|
||||
'src/build/get_syzygy_binaries.py',
|
||||
'--output-dir=src/third_party/kasko',
|
||||
'--revision=283aeaceeb22e2ba40a1753e3cb32454b59cc017',
|
||||
'--output-dir=src/third_party/kasko/binaries',
|
||||
'--revision=266a18d9209be5ca5c5dcd0620942b82a2d238f3',
|
||||
'--resource=kasko.zip',
|
||||
'--resource=kasko_symbols.zip',
|
||||
'--overwrite'
|
||||
|
@ -636,6 +691,7 @@ hooks = [
|
|||
'src/tools/remove_stale_pyc_files.py',
|
||||
'src/android_webview/tools',
|
||||
'src/gpu/gles2_conform_support',
|
||||
'src/infra',
|
||||
'src/ppapi',
|
||||
'src/printing',
|
||||
'src/third_party/closure_compiler/build',
|
||||
|
@ -655,17 +711,6 @@ hooks = [
|
|||
'.',
|
||||
'name':
|
||||
'gyp'
|
||||
},
|
||||
{
|
||||
'action': [
|
||||
'python',
|
||||
'src/tools/check_git_config.py',
|
||||
'--running-as-hook'
|
||||
],
|
||||
'pattern':
|
||||
'.',
|
||||
'name':
|
||||
'check_git_config'
|
||||
}
|
||||
]
|
||||
include_rules = [
|
||||
|
|
1612
tools/dom/dom.json
1612
tools/dom/dom.json
File diff suppressed because it is too large
Load diff
|
@ -139,6 +139,12 @@ interface RTCPeerConnection {
|
|||
[DartSuppress, RaisesException] void addIceCandidate(RTCIceCandidate candidate);
|
||||
};
|
||||
|
||||
[DartSupplemental]
|
||||
interface WebGL2RenderingContextBase {
|
||||
[DartName=readPixels2] void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLintptr offset);
|
||||
[DartName=texImage2D2] void texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLintptr offset);
|
||||
};
|
||||
|
||||
[DartSupplemental]
|
||||
interface WebGLContextEvent {
|
||||
[DartSuppress] void initEvent(optional DOMString eventTypeArg,
|
||||
|
@ -438,6 +444,30 @@ interface HTMLCollection {
|
|||
|
||||
};
|
||||
|
||||
[DartSupplemental]
|
||||
interface Performance {
|
||||
[DartSuppress] void webkitClearResourceTimings();
|
||||
[DartSuppress] void webkitSetResourceTimingBufferSize(unsigned long maxSize);
|
||||
[DartSuppress] attribute EventHandler onwebkitresourcetimingbufferfull;
|
||||
};
|
||||
|
||||
[DartSupplemental]
|
||||
interface CalcLength {
|
||||
[DartName=inch] readonly attribute double? in;
|
||||
};
|
||||
|
||||
[DartSupplemental]
|
||||
interface RTCPeerConnection {
|
||||
[DartSuppress] Promise<void> setLocalDescription(RTCSessionDescriptionInit description);
|
||||
[DartSuppress] Promise<void> setRemoteDescription(RTCSessionDescriptionInit description);
|
||||
};
|
||||
|
||||
[DartSuppress]
|
||||
interface DragEvent {};
|
||||
|
||||
[DartSuppress]
|
||||
interface InputEvent {};
|
||||
|
||||
Element implements GlobalEventHandlers;
|
||||
|
||||
|
||||
|
|
|
@ -148,7 +148,6 @@ DartUtilities.activity_logging_world_list = _activity_logging_world_list
|
|||
DartUtilities.bool_to_cpp = _bool_to_cpp
|
||||
DartUtilities.call_with_arguments = _call_with_arguments
|
||||
DartUtilities.capitalize = v8_utilities.capitalize
|
||||
DartUtilities.conditional_string = v8_utilities.conditional_string
|
||||
DartUtilities.cpp_name = v8_utilities.cpp_name
|
||||
DartUtilities.deprecate_as = _deprecate_as
|
||||
DartUtilities.extended_attribute_value_contains = v8_utilities.extended_attribute_value_contains
|
||||
|
|
|
@ -158,11 +158,7 @@ $endif
|
|||
|
||||
$if DARTIUM
|
||||
bool _hasProperty(String propertyName) =>
|
||||
$if JSINTEROP
|
||||
_blink.BlinkCSSStyleDeclaration.instance.$__propertyQuery___Callback_1_(this, propertyName);
|
||||
$else
|
||||
_blink.BlinkCSSStyleDeclaration.$__propertyQuery___Callback_1(this, propertyName);
|
||||
$endif
|
||||
_blink.BlinkCSSStyleDeclaration.instance.$__get___propertyIsEnumerable_Callback_1_(this, propertyName);
|
||||
$endif
|
||||
|
||||
@DomName('CSSStyleDeclaration.setProperty')
|
||||
|
|
|
@ -87,6 +87,17 @@ _js_custom_members = Set([
|
|||
# tightly natively wired.
|
||||
# _js_custom_members = Set([])
|
||||
|
||||
|
||||
# Expose built-in methods support by an instance that is not shown in the IDL.
|
||||
_additional_methods = {
|
||||
# Support propertyIsEnumerable (available on all objects only needed by
|
||||
# CSSStyleDeclaration decides if style property is supported (handling
|
||||
# camelcase and inject hyphens between camelcase).
|
||||
# Format of dictionary is 'operation name', arguments, returns value (True or False)
|
||||
'CSSStyleDeclaration': ('propertyIsEnumerable', 1, True),
|
||||
}
|
||||
|
||||
|
||||
HEADER = """/* Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
|
||||
* for details. All rights reserved. Use of this source code is governed by a
|
||||
* BSD-style license that can be found in the LICENSE file.
|
||||
|
@ -320,7 +331,7 @@ OPERATION_0 = [' %s_Callback_0_(mthis)',
|
|||
' native "Blink_Operation_0_%s_%s";\n\n'
|
||||
]
|
||||
|
||||
# getter, setter, deleter and propertyQuery code
|
||||
# getter, setter, deleter, propertyQuery code, and propertyIsEnumerable
|
||||
OPERATION_1 = [' $%s_Callback_1_(mthis, __arg_0)',
|
||||
' => Blink_JsNative_DomException.callMethod(mthis /* %s */, "%s", [__arg_0]);\n\n',
|
||||
' native "Blink_Operation_1_%s_%s";\n\n'
|
||||
|
@ -440,12 +451,14 @@ def Generate_Blink(output_dir, database, type_registry):
|
|||
blink_file.write(Select_Stub(CONSTRUCTOR_0, _Is_Native(name, 'constructor')) % rename_constructor(name))
|
||||
|
||||
_Process_Attributes(blink_file, interface, interface.attributes)
|
||||
_Process_Operations(blink_file, interface, interface.operations)
|
||||
_Process_Operations(blink_file, interface, interface.operations, True)
|
||||
|
||||
_Emit_Extra_Operations(blink_file, name)
|
||||
|
||||
secondary_parents = database.TransitiveSecondaryParents(interface, False)
|
||||
for secondary in secondary_parents:
|
||||
_Process_Attributes(blink_file, secondary, secondary.attributes)
|
||||
_Process_Operations(blink_file, secondary, secondary.operations)
|
||||
_Process_Operations(blink_file, secondary, secondary.operations, False)
|
||||
|
||||
blink_file.write(CLASS_DEFINITION_END);
|
||||
|
||||
|
@ -453,6 +466,12 @@ def Generate_Blink(output_dir, database, type_registry):
|
|||
|
||||
blink_file.close()
|
||||
|
||||
def _Emit_Extra_Operations(blink_file, interface_name):
|
||||
if (interface_name in _additional_methods):
|
||||
(name, arg_count, return_value) = _additional_methods[interface_name]
|
||||
exposed_name = ''.join(['__get', '___', name]) if return_value else name
|
||||
blink_file.write(Select_Stub(OPERATION_1, False) % (exposed_name, interface_name, name))
|
||||
|
||||
def _Emit_Blink_Constructors(blink_file, analyzed_constructors):
|
||||
(arg_min_count, arg_max_count) = generate_parameter_entries(analyzed_constructors.param_infos)
|
||||
name = analyzed_constructors.js_name
|
||||
|
@ -485,7 +504,7 @@ def _Process_Attributes(blink_file, interface, attributes):
|
|||
blink_file.write(Select_Stub(ATTRIBUTE_GETTER, is_native) % (name, interface.id, name))
|
||||
blink_file.write(Select_Stub(ATTRIBUTE_SETTER, is_native) % (name, interface.id, name))
|
||||
|
||||
def _Process_Operations(blink_file, interface, operations):
|
||||
def _Process_Operations(blink_file, interface, operations, primary_interface = False):
|
||||
analyzeOperations = []
|
||||
|
||||
for operation in sorted(operations, ConstantOutputOrder):
|
||||
|
@ -496,15 +515,34 @@ def _Process_Operations(blink_file, interface, operations):
|
|||
# Handle overloads
|
||||
analyzeOperations.append(operation)
|
||||
else:
|
||||
_Emit_Blink_Operation(blink_file, interface, analyzeOperations)
|
||||
_Emit_Blink_Operation(blink_file, interface, analyzeOperations, primary_interface)
|
||||
analyzeOperations = [operation]
|
||||
if len(analyzeOperations) > 0:
|
||||
_Emit_Blink_Operation(blink_file, interface, analyzeOperations)
|
||||
_Emit_Blink_Operation(blink_file, interface, analyzeOperations, primary_interface)
|
||||
|
||||
def _Emit_Blink_Operation(blink_file, interface, analyzeOperations):
|
||||
# List of DartName operations to not emit (e.g., For now only WebGL2RenderingContextBase
|
||||
# has readPixels in both WebGLRenderingContextBase and WebGL2RenderingContextBase.
|
||||
# Furthermore, readPixels has the exact same number of arguments - in Javascript
|
||||
# there is no typing so they're the same.
|
||||
suppressed_operations = {
|
||||
'WebGL2RenderingContextBase': [ 'readPixels2', 'texImage2D2' ],
|
||||
}
|
||||
|
||||
def _Suppress_Secondary_Interface_Operation(interface, analyzed):
|
||||
if interface.id in suppressed_operations:
|
||||
# Should this DartName (name property) be suppressed on this interface?
|
||||
return analyzed.name in suppressed_operations[interface.id]
|
||||
return False
|
||||
|
||||
def _Emit_Blink_Operation(blink_file, interface, analyzeOperations, primary_interface):
|
||||
analyzed = AnalyzeOperation(interface, analyzeOperations)
|
||||
|
||||
if not(primary_interface) and _Suppress_Secondary_Interface_Operation(interface, analyzed):
|
||||
return
|
||||
|
||||
(arg_min_count, arg_max_count) = generate_parameter_entries(analyzed.param_infos)
|
||||
name = analyzed.js_name
|
||||
|
||||
is_native = _Is_Native(interface.id, name)
|
||||
|
||||
operation = analyzeOperations[0]
|
||||
|
|
|
@ -401,14 +401,19 @@ class ParamInfo(object):
|
|||
self.name, self.type_id, self.is_optional)
|
||||
return '<ParamInfo(%s)>' % content
|
||||
|
||||
def GetCallbackInfo(interface):
|
||||
"""For the given interface, find operations that take callbacks (for use in
|
||||
auto-transforming callbacks into futures)."""
|
||||
def GetCallbackHandlers(interface):
|
||||
callback_handlers = []
|
||||
callback_handlers = [operation for operation in interface.operations
|
||||
if operation.id == 'handleEvent']
|
||||
if callback_handlers == []:
|
||||
callback_handlers = [operation for operation in interface.operations
|
||||
if operation.id == 'handleItem']
|
||||
return callback_handlers
|
||||
|
||||
def GetCallbackInfo(interface):
|
||||
"""For the given interface, find operations that take callbacks (for use in
|
||||
auto-transforming callbacks into futures)."""
|
||||
callback_handlers = GetCallbackHandlers(interface)
|
||||
return AnalyzeOperation(interface, callback_handlers)
|
||||
|
||||
# Given a list of overloaded arguments, render dart arguments.
|
||||
|
@ -504,7 +509,12 @@ def ConvertToFuture(info):
|
|||
instead uses futures instead of callbacks."""
|
||||
new_info = copy.deepcopy(info)
|
||||
def IsNotCallbackType(param):
|
||||
return 'Callback' not in param.type_id
|
||||
type_id = param.type_id
|
||||
if type_id is None:
|
||||
return False
|
||||
else:
|
||||
return 'Callback' not in type_id
|
||||
|
||||
# Success callback is the first argument (change if this no longer holds).
|
||||
new_info.callback_args = filter(
|
||||
lambda x: not IsNotCallbackType(x), new_info.param_infos)
|
||||
|
@ -641,6 +651,9 @@ class OperationInfo(object):
|
|||
dart_type = 'dynamic'
|
||||
else:
|
||||
dart_type = rename_type(param.type_id) if param.type_id else 'dynamic'
|
||||
# Special handling for setlike IDL forEach operation.
|
||||
if dart_type is None and param.type_id.endswith('ForEachCallback'):
|
||||
dart_type = param.type_id
|
||||
return (TypeOrNothing(dart_type, param.type_id), param.name)
|
||||
required = []
|
||||
optional = []
|
||||
|
@ -1180,7 +1193,8 @@ class SequenceIDLTypeInfo(IDLTypeInfo):
|
|||
self._item_info = item_info
|
||||
|
||||
def dart_type(self):
|
||||
return 'List<%s>' % self._item_info.dart_type()
|
||||
darttype = self._item_info.dart_type()
|
||||
return 'List' if darttype is None else 'List<%s>' % darttype
|
||||
|
||||
def interface_name(self):
|
||||
return self.dart_type()
|
||||
|
@ -1517,6 +1531,7 @@ _idl_type_registry = monitored.Dict('generator._idl_type_registry', {
|
|||
'NamedNodeMap': TypeData(clazz='Interface', item_type='Node'),
|
||||
'NodeList': TypeData(clazz='Interface', item_type='Node',
|
||||
suppress_interface=False, dart_type='List<Node>'),
|
||||
'NotificationAction': TypedListTypeData(''),
|
||||
'SVGElementInstanceList': TypeData(clazz='Interface',
|
||||
item_type='SVGElementInstance', suppress_interface=True),
|
||||
'SourceBufferList': TypeData(clazz='Interface', item_type='SourceBuffer'),
|
||||
|
@ -1562,6 +1577,9 @@ _idl_type_registry = monitored.Dict('generator._idl_type_registry', {
|
|||
'SVGTransform': TypeData(clazz='SVGTearOff', native_type="SVGPropertyTearOff<SVGTransform>"),
|
||||
'SVGTransformList': TypeData(clazz='SVGTearOff', item_type='SVGTransform',
|
||||
native_type='SVGTransformListPropertyTearOff'),
|
||||
|
||||
# Add any setlike forEach Callback types here.
|
||||
'FontFaceSetForEachCallback': TypeData(clazz='Interface', item_type='FontFaceSetForEachCallback'),
|
||||
})
|
||||
|
||||
_svg_supplemental_includes = [
|
||||
|
|
|
@ -393,11 +393,13 @@ class HtmlDartGenerator(object):
|
|||
generate_call(stmts_emitter, call_emitter,
|
||||
version[0], signature_index, argument_count)
|
||||
|
||||
def IsTypeChecking(interface_argument):
|
||||
return 'LegacyInterfaceTypeChecking' in interface_argument.ext_attrs or \
|
||||
self._database.HasInterface(interface_argument.id)
|
||||
|
||||
def GenerateChecksAndCall(signature_index, argument_count):
|
||||
checks = []
|
||||
typechecked_interface = \
|
||||
('TypeChecking' in self._interface.ext_attrs) and \
|
||||
('Interface' in self._interface.ext_attrs['TypeChecking'])
|
||||
typechecked_interface = IsTypeChecking(self._interface)
|
||||
|
||||
for i in reversed(range(0, argument_count)):
|
||||
argument = signatures[signature_index][i]
|
||||
|
@ -408,9 +410,7 @@ class HtmlDartGenerator(object):
|
|||
if test_type in ['dynamic', 'Object']:
|
||||
checks.append('%s != null' % parameter_name)
|
||||
elif not can_omit_type_check(test_type, i):
|
||||
typechecked = typechecked_interface or \
|
||||
('TypeChecking' in argument.ext_attrs) and \
|
||||
('Interface' in argument.ext_attrs['TypeChecking'])
|
||||
typechecked = typechecked_interface or IsTypeChecking(argument)
|
||||
converts_null = \
|
||||
('TreatNullAs' in argument.ext_attrs) or \
|
||||
(argument.default_value is not None) or \
|
||||
|
@ -541,9 +541,10 @@ class HtmlDartGenerator(object):
|
|||
|
||||
def _AddConstructor(self,
|
||||
constructor_info, factory_name, factory_constructor_name):
|
||||
# Hack to ignore the Image constructor used by JavaScript.
|
||||
# Hack to ignore the constructor used by JavaScript.
|
||||
if ((self._interface.id == 'HTMLImageElement' or
|
||||
self._interface.id == 'Blob' or
|
||||
self._interface.id == 'TouchEvent' or
|
||||
self._interface.id == 'DOMException')
|
||||
and not constructor_info.pure_dart_constructor):
|
||||
return
|
||||
|
|
|
@ -71,6 +71,14 @@ html_interface_renames = monitored.Dict('htmlrenamer.html_interface_renames',
|
|||
# Interfaces that are suppressed, but need to still exist for Dartium and to
|
||||
# properly wrap DOM objects if/when encountered.
|
||||
_removed_html_interfaces = [
|
||||
'Bluetooth',
|
||||
'BluetoothAdvertisingData',
|
||||
'BluetoothCharacteristicProperties',
|
||||
'BluetoothDevice',
|
||||
'BluetoothRemoteGATTCharacteristic',
|
||||
'BluetoothRemoteGATTServer',
|
||||
'BluetoothRemoteGATTService',
|
||||
'BluetoothUUID',
|
||||
'Cache', # TODO: Symbol conflicts with Angular: dartbug.com/20937
|
||||
'CanvasPathMethods',
|
||||
'CDataSection',
|
||||
|
@ -97,6 +105,7 @@ _removed_html_interfaces = [
|
|||
'HTMLFrameSetElement',
|
||||
'HTMLMarqueeElement',
|
||||
'IDBAny',
|
||||
'NFC',
|
||||
'Notation',
|
||||
'PagePopupController',
|
||||
'RGBColor',
|
||||
|
@ -128,6 +137,19 @@ _removed_html_interfaces = [
|
|||
'SVGTRefElement',
|
||||
'SVGVKernElement',
|
||||
'SubtleCrypto',
|
||||
'USB',
|
||||
'USBAlternateInterface',
|
||||
'USBConfiguration',
|
||||
'USBConnectionEvent',
|
||||
'USBDevice',
|
||||
'USBEndpoint',
|
||||
'USBInTransferResult',
|
||||
'USBInterface',
|
||||
'USBIsochronousInTransferPacket',
|
||||
'USBIsochronousInTransferResult',
|
||||
'USBIsochronousOutTransferPacket',
|
||||
'USBIsochronousOutTransferResult',
|
||||
'USBOutTransferResult',
|
||||
'WebKitCSSFilterValue',
|
||||
'WebKitCSSMatrix',
|
||||
'WebKitCSSMixFunctionValue',
|
||||
|
@ -140,6 +162,8 @@ _removed_html_interfaces = [
|
|||
'WebKitSourceBufferList',
|
||||
'WorkerLocation', # Workers
|
||||
'WorkerNavigator', # Workers
|
||||
'Worklet', # Rendering Workers
|
||||
'WorkletGlobalScope', # Rendering Workers
|
||||
'XMLHttpRequestProgressEvent',
|
||||
# Obsolete event for NaCl.
|
||||
'ResourceProgressEvent',
|
||||
|
@ -774,10 +798,12 @@ removed_html_members = monitored.Set('htmlrenamer.removed_html_members', [
|
|||
'MouseEvent.webkitMovementY',
|
||||
'MouseEvent.x',
|
||||
'MouseEvent.y',
|
||||
'Navigator.bluetooth',
|
||||
'Navigator.registerServiceWorker',
|
||||
'Navigator.unregisterServiceWorker',
|
||||
'Navigator.isProtocolHandlerRegistered',
|
||||
'Navigator.unregisterProtocolHandler',
|
||||
'Navigator.usb',
|
||||
'Node.compareDocumentPosition',
|
||||
'Node.get:DOCUMENT_POSITION_CONTAINED_BY',
|
||||
'Node.get:DOCUMENT_POSITION_CONTAINS',
|
||||
|
@ -802,6 +828,7 @@ removed_html_members = monitored.Set('htmlrenamer.removed_html_members', [
|
|||
'NodeList.item',
|
||||
'ParentNode.append',
|
||||
'ParentNode.prepend',
|
||||
'RTCPeerConnection.generateCertificate',
|
||||
'ServiceWorkerMessageEvent.data',
|
||||
'ShadowRoot.getElementsByTagNameNS',
|
||||
'SVGElement.getPresentationAttribute',
|
||||
|
@ -829,6 +856,37 @@ _library_names = monitored.Dict('htmlrenamer._library_names', {
|
|||
'Database': 'web_sql',
|
||||
'Navigator': 'html',
|
||||
'Window': 'html',
|
||||
'AnalyserNode': 'web_audio',
|
||||
'AudioBufferCallback': 'web_audio',
|
||||
'AudioBuffer': 'web_audio',
|
||||
'AudioBufferSourceNode': 'web_audio',
|
||||
'AudioContext': 'web_audio',
|
||||
'AudioDestinationNode': 'web_audio',
|
||||
'AudioListener': 'web_audio',
|
||||
'AudioNode': 'web_audio',
|
||||
'AudioParam': 'web_audio',
|
||||
'AudioProcessingEvent': 'web_audio',
|
||||
'AudioSourceNode': 'web_audio',
|
||||
'BiquadFilterNode': 'web_audio',
|
||||
'ChannelMergerNode': 'web_audio',
|
||||
'ChannelSplitterNode': 'web_audio',
|
||||
'ConvolverNode': 'web_audio',
|
||||
'DelayNode': 'web_audio',
|
||||
'DynamicsCompressorNode': 'web_audio',
|
||||
'GainNode': 'web_audio',
|
||||
'IIRFilterNode': 'web_audio',
|
||||
'MediaElementAudioSourceNode': 'web_audio',
|
||||
'MediaStreamAudioDestinationNode': 'web_audio',
|
||||
'MediaStreamAudioSourceNode': 'web_audio',
|
||||
'OfflineAudioCompletionEvent': 'web_audio',
|
||||
'OfflineAudioContext': 'web_audio',
|
||||
'OscillatorNode': 'web_audio',
|
||||
'PannerNode': 'web_audio',
|
||||
'PeriodicWave': 'web_audio',
|
||||
'ScriptProcessorNode': 'web_audio',
|
||||
'StereoPannerNode': 'web_audio',
|
||||
'WaveShaperNode': 'web_audio',
|
||||
'WindowWebAudio': 'web_audio',
|
||||
})
|
||||
|
||||
_library_ids = monitored.Dict('htmlrenamer._library_names', {
|
||||
|
@ -837,6 +895,37 @@ _library_ids = monitored.Dict('htmlrenamer._library_names', {
|
|||
'Database': 'WebSql',
|
||||
'Navigator': 'Html',
|
||||
'Window': 'Html',
|
||||
'AnalyserNode': 'WebAudio',
|
||||
'AudioBufferCallback': 'WebAudio',
|
||||
'AudioBuffer': 'WebAudio',
|
||||
'AudioBufferSourceNode': 'WebAudio',
|
||||
'AudioContext': 'WebAudio',
|
||||
'AudioDestinationNode': 'WebAudio',
|
||||
'AudioListener': 'WebAudio',
|
||||
'AudioNode': 'WebAudio',
|
||||
'AudioParam': 'WebAudio',
|
||||
'AudioProcessingEvent': 'WebAudio',
|
||||
'AudioSourceNode': 'WebAudio',
|
||||
'BiquadFilterNode': 'WebAudio',
|
||||
'ChannelMergerNode': 'WebAudio',
|
||||
'ChannelSplitterNode': 'WebAudio',
|
||||
'ConvolverNode': 'WebAudio',
|
||||
'DelayNode': 'WebAudio',
|
||||
'DynamicsCompressorNode': 'WebAudio',
|
||||
'GainNode': 'WebAudio',
|
||||
'IIRFilterNode': 'WebAudio',
|
||||
'MediaElementAudioSourceNode': 'WebAudio',
|
||||
'MediaStreamAudioDestinationNode': 'WebAudio',
|
||||
'MediaStreamAudioSourceNode': 'WebAudio',
|
||||
'OfflineAudioCompletionEvent': 'WebAudio',
|
||||
'OfflineAudioContext': 'WebAudio',
|
||||
'OscillatorNode': 'WebAudio',
|
||||
'PannerNode': 'WebAudio',
|
||||
'PeriodicWave': 'WebAudio',
|
||||
'ScriptProcessorNode': 'WebAudio',
|
||||
'StereoPannerNode': 'WebAudio',
|
||||
'WaveShaperNode': 'WebAudio',
|
||||
'WindowWebAudio': 'WebAudio',
|
||||
})
|
||||
|
||||
class HtmlRenamer(object):
|
||||
|
@ -946,8 +1035,10 @@ class HtmlRenamer(object):
|
|||
if interface.id in _library_names:
|
||||
return _library_names[interface.id]
|
||||
|
||||
# TODO(ager, blois): The conditional has been removed from indexed db,
|
||||
# so we can no longer determine the library based on the conditionals.
|
||||
# Support for IDL conditional has been removed from indexed db, web_sql,
|
||||
# svg and web_gl so we can no longer determine the library based on conditional.
|
||||
# Use interface prefix to do that. web_audio interfaces have no common prefix
|
||||
# - all audio interfaces added to _library_names/_library_ids.
|
||||
if interface.id.startswith("IDB"):
|
||||
return 'indexed_db'
|
||||
if interface.id.startswith("SQL"):
|
||||
|
@ -958,14 +1049,6 @@ class HtmlRenamer(object):
|
|||
or interface.id.startswith("EXT"):
|
||||
return 'web_gl'
|
||||
|
||||
if 'Conditional' in interface.ext_attrs:
|
||||
if 'WEB_AUDIO' in interface.ext_attrs['Conditional']:
|
||||
return 'web_audio'
|
||||
if 'INDEXED_DATABASE' in interface.ext_attrs['Conditional']:
|
||||
return 'indexed_db'
|
||||
if 'SQL_DATABASE' in interface.ext_attrs['Conditional']:
|
||||
return 'web_sql'
|
||||
|
||||
if interface.id in typed_array_renames:
|
||||
return 'typed_data'
|
||||
|
||||
|
@ -976,8 +1059,10 @@ class HtmlRenamer(object):
|
|||
if interface.id in _library_ids:
|
||||
return _library_ids[interface.id]
|
||||
|
||||
# TODO(ager, blois): The conditional has been removed from indexed db,
|
||||
# so we can no longer determine the library based on the conditionals.
|
||||
# Support for IDL conditional has been removed from indexed db, web_sql,
|
||||
# svg and web_gl so we can no longer determine the library based on conditional.
|
||||
# Use interface prefix to do that. web_audio interfaces have no common prefix
|
||||
# - all audio interfaces added to _library_names/_library_ids.
|
||||
if interface.id.startswith("IDB"):
|
||||
return 'IndexedDb'
|
||||
if interface.id.startswith("SQL"):
|
||||
|
@ -988,14 +1073,6 @@ class HtmlRenamer(object):
|
|||
or interface.id.startswith("EXT"):
|
||||
return 'WebGl'
|
||||
|
||||
if 'Conditional' in interface.ext_attrs:
|
||||
if 'WEB_AUDIO' in interface.ext_attrs['Conditional']:
|
||||
return 'WebAudio'
|
||||
if 'INDEXED_DATABASE' in interface.ext_attrs['Conditional']:
|
||||
return 'IndexedDb'
|
||||
if 'SQL_DATABASE' in interface.ext_attrs['Conditional']:
|
||||
return 'WebSql'
|
||||
|
||||
if interface.id in typed_array_renames:
|
||||
return 'TypedData'
|
||||
|
||||
|
|
|
@ -58,10 +58,13 @@ class IDLNode(object):
|
|||
etc.
|
||||
"""
|
||||
|
||||
def __init__(self, ast):
|
||||
def __init__(self, ast, id=None):
|
||||
"""Initializes an IDLNode from a PegParser AST output."""
|
||||
self.id = self._find_first(ast, 'Id') if ast is not None else None
|
||||
|
||||
if ast:
|
||||
self.id = self._find_first(ast, 'Id') if ast is not None else None
|
||||
else:
|
||||
# Support synthesized IDLNode created w/o an AST (e.g., setlike support).
|
||||
self.id = id
|
||||
|
||||
def __repr__(self):
|
||||
"""Generates string of the form <class id extra extra ... 0x12345678>."""
|
||||
|
@ -570,90 +573,95 @@ class IDLExtAttrFunctionValue(IDLNode):
|
|||
class IDLType(IDLNode):
|
||||
"""IDLType is used to describe constants, attributes and operations'
|
||||
return and input types. IDLType matches AST labels such as ScopedName,
|
||||
StringType, VoidType, IntegerType, etc."""
|
||||
StringType, VoidType, IntegerType, etc.
|
||||
NOTE: AST of None implies synthesize IDLType the id is passed in used by
|
||||
setlike."""
|
||||
|
||||
def __init__(self, ast):
|
||||
def __init__(self, ast, id=None):
|
||||
global _unions_to_any
|
||||
|
||||
IDLNode.__init__(self, ast)
|
||||
IDLNode.__init__(self, ast, id)
|
||||
|
||||
if ast:
|
||||
self.nullable = self._has(ast, 'Nullable')
|
||||
# Search for a 'ScopedName' or any label ending with 'Type'.
|
||||
if isinstance(ast, list):
|
||||
self.id = self._find_first(ast, 'ScopedName')
|
||||
if not self.id:
|
||||
# FIXME: use regexp search instead
|
||||
def findType(ast):
|
||||
for label, childAst in ast:
|
||||
if label.endswith('Type'):
|
||||
type = self._label_to_type(label, ast)
|
||||
if type != 'sequence':
|
||||
return type
|
||||
type_ast = self._find_first(childAst, 'Type')
|
||||
if not type_ast:
|
||||
return type
|
||||
return 'sequence<%s>' % findType(type_ast)
|
||||
raise Exception('No type declaration found in %s' % ast)
|
||||
self.id = findType(ast)
|
||||
# TODO(terry): Remove array_modifiers id has [] appended, keep for old
|
||||
# parsing.
|
||||
array_modifiers = self._find_first(ast, 'ArrayModifiers')
|
||||
if array_modifiers:
|
||||
self.id += array_modifiers
|
||||
elif isinstance(ast, tuple):
|
||||
(label, value) = ast
|
||||
if label == 'ScopedName':
|
||||
self.id = value
|
||||
else:
|
||||
self.id = self._label_to_type(label, ast)
|
||||
elif isinstance(ast, str):
|
||||
self.id = ast
|
||||
# New blink handling.
|
||||
elif ast.__module__ == "idl_types":
|
||||
if isinstance(ast, IdlType) or isinstance(ast, IdlArrayOrSequenceType) or \
|
||||
isinstance(ast, IdlNullableType):
|
||||
if isinstance(ast, IdlNullableType) and ast.inner_type.is_union_type:
|
||||
# Report of union types mapped to any.
|
||||
if not(self.id in _unions_to_any):
|
||||
_unions_to_any.append(self.id)
|
||||
# TODO(terry): For union types use any otherwise type is unionType is
|
||||
# not found and is removed during merging.
|
||||
self.id = 'any'
|
||||
else:
|
||||
type_name = str(ast)
|
||||
# TODO(terry): For now don't handle unrestricted types see
|
||||
# https://code.google.com/p/chromium/issues/detail?id=354298
|
||||
type_name = type_name.replace('unrestricted ', '', 1);
|
||||
if not ast:
|
||||
# Support synthesized IDLType with no AST (e.g., setlike support).
|
||||
return
|
||||
|
||||
# TODO(terry): Handled USVString as a DOMString.
|
||||
type_name = type_name.replace('USVString', 'DOMString', 1)
|
||||
|
||||
# TODO(terry); WindowTimers setInterval/setTimeout overloads with a
|
||||
# Function type - map to any until the IDL uses union.
|
||||
type_name = type_name.replace('Function', 'any', 1)
|
||||
|
||||
self.id = type_name
|
||||
else:
|
||||
# IdlUnionType
|
||||
if ast.is_union_type:
|
||||
if not(self.id in _unions_to_any):
|
||||
_unions_to_any.append(self.id)
|
||||
# TODO(terry): For union types use any otherwise type is unionType is
|
||||
# not found and is removed during merging.
|
||||
self.id = 'any'
|
||||
# TODO(terry): Any union type e.g. 'type1 or type2 or type2',
|
||||
# 'typedef (Type1 or Type2) UnionType'
|
||||
# Is a problem we need to extend IDLType and IDLTypeDef to handle more
|
||||
# than one type.
|
||||
#
|
||||
# Also for typedef's e.g.,
|
||||
# typedef (Type1 or Type2) UnionType
|
||||
# should consider synthesizing a new interface (e.g., UnionType) that's
|
||||
# both Type1 and Type2.
|
||||
self.nullable = self._has(ast, 'Nullable')
|
||||
# Search for a 'ScopedName' or any label ending with 'Type'.
|
||||
if isinstance(ast, list):
|
||||
self.id = self._find_first(ast, 'ScopedName')
|
||||
if not self.id:
|
||||
print '>>>> __module__ %s' % ast.__module__
|
||||
raise SyntaxError('Could not parse type %s' % (ast))
|
||||
# FIXME: use regexp search instead
|
||||
def findType(ast):
|
||||
for label, childAst in ast:
|
||||
if label.endswith('Type'):
|
||||
type = self._label_to_type(label, ast)
|
||||
if type != 'sequence':
|
||||
return type
|
||||
type_ast = self._find_first(childAst, 'Type')
|
||||
if not type_ast:
|
||||
return type
|
||||
return 'sequence<%s>' % findType(type_ast)
|
||||
raise Exception('No type declaration found in %s' % ast)
|
||||
self.id = findType(ast)
|
||||
# TODO(terry): Remove array_modifiers id has [] appended, keep for old
|
||||
# parsing.
|
||||
array_modifiers = self._find_first(ast, 'ArrayModifiers')
|
||||
if array_modifiers:
|
||||
self.id += array_modifiers
|
||||
elif isinstance(ast, tuple):
|
||||
(label, value) = ast
|
||||
if label == 'ScopedName':
|
||||
self.id = value
|
||||
else:
|
||||
self.id = self._label_to_type(label, ast)
|
||||
elif isinstance(ast, str):
|
||||
self.id = ast
|
||||
# New blink handling.
|
||||
elif ast.__module__ == "idl_types":
|
||||
if isinstance(ast, IdlType) or isinstance(ast, IdlArrayOrSequenceType) or \
|
||||
isinstance(ast, IdlNullableType):
|
||||
if isinstance(ast, IdlNullableType) and ast.inner_type.is_union_type:
|
||||
# Report of union types mapped to any.
|
||||
if not(self.id in _unions_to_any):
|
||||
_unions_to_any.append(self.id)
|
||||
# TODO(terry): For union types use any otherwise type is unionType is
|
||||
# not found and is removed during merging.
|
||||
self.id = 'any'
|
||||
else:
|
||||
type_name = str(ast)
|
||||
# TODO(terry): For now don't handle unrestricted types see
|
||||
# https://code.google.com/p/chromium/issues/detail?id=354298
|
||||
type_name = type_name.replace('unrestricted ', '', 1);
|
||||
|
||||
# TODO(terry): Handled USVString as a DOMString.
|
||||
type_name = type_name.replace('USVString', 'DOMString', 1)
|
||||
|
||||
# TODO(terry); WindowTimers setInterval/setTimeout overloads with a
|
||||
# Function type - map to any until the IDL uses union.
|
||||
type_name = type_name.replace('Function', 'any', 1)
|
||||
|
||||
self.id = type_name
|
||||
else:
|
||||
# IdlUnionType
|
||||
if ast.is_union_type:
|
||||
if not(self.id in _unions_to_any):
|
||||
_unions_to_any.append(self.id)
|
||||
# TODO(terry): For union types use any otherwise type is unionType is
|
||||
# not found and is removed during merging.
|
||||
self.id = 'any'
|
||||
# TODO(terry): Any union type e.g. 'type1 or type2 or type2',
|
||||
# 'typedef (Type1 or Type2) UnionType'
|
||||
# Is a problem we need to extend IDLType and IDLTypeDef to handle more
|
||||
# than one type.
|
||||
#
|
||||
# Also for typedef's e.g.,
|
||||
# typedef (Type1 or Type2) UnionType
|
||||
# should consider synthesizing a new interface (e.g., UnionType) that's
|
||||
# both Type1 and Type2.
|
||||
if not self.id:
|
||||
print '>>>> __module__ %s' % ast.__module__
|
||||
raise SyntaxError('Could not parse type %s' % (ast))
|
||||
|
||||
def _label_to_type(self, label, ast):
|
||||
if label == 'LongLongType':
|
||||
|
@ -717,6 +725,72 @@ class IDLDictionaryMembers(IDLDictNode):
|
|||
value = IDLDictionaryMember(member, js_name)
|
||||
self[name] = value
|
||||
|
||||
def generate_operation(interface_name, result_type_name, oper_name, arguments):
|
||||
""" Synthesize an IDLOperation with no AST used for support of setlike."""
|
||||
""" Arguments is a list of argument where each argument is:
|
||||
[IDLType, argument_name, optional_boolean] """
|
||||
|
||||
syn_op = IDLOperation(None, interface_name, oper_name)
|
||||
|
||||
syn_op.type = IDLType(None, result_type_name)
|
||||
syn_op.type = resolveTypedef(syn_op.type)
|
||||
|
||||
for argument in arguments:
|
||||
arg = IDLArgument(None, argument[1]);
|
||||
arg.type = argument[0];
|
||||
arg.optional = argument[2] if len(argument) > 2 else False
|
||||
syn_op.arguments.append(arg)
|
||||
|
||||
return syn_op
|
||||
|
||||
def generate_setLike_operations_properties(interface, set_like):
|
||||
"""
|
||||
Need to create (in our database) a number of operations. This is a new IDL
|
||||
syntax, the implied operations for a set now use setlike<T> where T is a known
|
||||
type e.g., setlike<FontFace> setlike implies these operations are generated:
|
||||
|
||||
void forEach(any callback, optional any thisArg);
|
||||
boolean has(FontFace fontFace);
|
||||
boolean has(FontFace fontFace);
|
||||
|
||||
if setlike is not read-only these operations are generated:
|
||||
|
||||
FontFaceSet add(FontFace value);
|
||||
boolean delete(FontFace value);
|
||||
void clear();
|
||||
"""
|
||||
setlike_ops = []
|
||||
"""
|
||||
Need to create a typedef for a function callback e.g.,
|
||||
a setlike will need a callback that has the proper args in FontFaceSet that is
|
||||
three arguments, etc.
|
||||
|
||||
typedef void FontFaceSetForEachCallback(
|
||||
FontFace fontFace, FontFace fontFaceAgain, FontFaceSet set);
|
||||
|
||||
void forEach(FontFaceSetForEachCallback callback, [Object thisArg]);
|
||||
"""
|
||||
callback_name = '%sForEachCallback' % interface.id
|
||||
set_op = generate_operation(interface.id, 'void', 'forEach',
|
||||
[[IDLType(None, callback_name), 'callback'],
|
||||
[IDLType(None, 'any'), 'thisArg', True]])
|
||||
setlike_ops.append(set_op)
|
||||
|
||||
set_op = generate_operation(interface.id, 'boolean', 'has',
|
||||
[[IDLType(None, set_like.value_type.base_type), 'arg']])
|
||||
setlike_ops.append(set_op)
|
||||
|
||||
if not set_like.is_read_only:
|
||||
set_op = generate_operation(interface.id, interface.id, 'add',
|
||||
[[IDLType(None, set_like.value_type.base_type), 'arg']])
|
||||
setlike_ops.append(set_op)
|
||||
set_op = generate_operation(interface.id, 'boolean', 'delete',
|
||||
[[IDLType(None, set_like.value_type.base_type), 'arg']])
|
||||
setlike_ops.append(set_op)
|
||||
set_op = generate_operation(interface.id, 'void', 'clear', [])
|
||||
setlike_ops.append(set_op)
|
||||
|
||||
return setlike_ops
|
||||
|
||||
class IDLInterface(IDLNode):
|
||||
"""IDLInterface node contains operations, attributes, constants,
|
||||
|
@ -742,6 +816,12 @@ class IDLInterface(IDLNode):
|
|||
|
||||
self.operations = self._convert_all(ast, 'Operation',
|
||||
lambda ast: IDLOperation(ast, self.doc_js_name))
|
||||
|
||||
if ast.setlike:
|
||||
setlike_ops = generate_setLike_operations_properties(self, ast.setlike)
|
||||
for op in setlike_ops:
|
||||
self.operations.append(op)
|
||||
|
||||
self.attributes = self._convert_all(ast, 'Attribute',
|
||||
lambda ast: IDLAttribute(ast, self.doc_js_name))
|
||||
self.constants = self._convert_all(ast, 'Const',
|
||||
|
@ -752,7 +832,6 @@ class IDLInterface(IDLNode):
|
|||
self.is_fc_suppressed = 'Suppressed' in self.ext_attrs or \
|
||||
'DartSuppress' in self.ext_attrs
|
||||
|
||||
|
||||
def reset_id(self, new_id):
|
||||
"""Reset the id of the Interface and corresponding the JS names."""
|
||||
if self.id != new_id:
|
||||
|
@ -785,9 +864,16 @@ class IDLParentInterface(IDLNode):
|
|||
|
||||
class IDLMember(IDLNode):
|
||||
"""A base class for constants, attributes and operations."""
|
||||
|
||||
def __init__(self, ast, doc_js_interface_name):
|
||||
IDLNode.__init__(self, ast)
|
||||
def __init__(self, ast, doc_js_interface_name, member_id=None):
|
||||
if ast:
|
||||
IDLNode.__init__(self, ast)
|
||||
else:
|
||||
# The ast is None to support synthesizing an IDLMember, member_id is only
|
||||
# used when ast is None.
|
||||
IDLNode.__init__(self, ast, member_id)
|
||||
self.type = None
|
||||
self.doc_js_interface_name = doc_js_interface_name
|
||||
return
|
||||
|
||||
self.type = self._convert_first(ast, 'Type', IDLType)
|
||||
self.type = resolveTypedef(self.type)
|
||||
|
@ -802,8 +888,18 @@ class IDLMember(IDLNode):
|
|||
|
||||
class IDLOperation(IDLMember):
|
||||
"""IDLNode specialization for 'type name(args)' declarations."""
|
||||
def __init__(self, ast, doc_js_interface_name):
|
||||
IDLMember.__init__(self, ast, doc_js_interface_name)
|
||||
def __init__(self, ast, doc_js_interface_name, id=None):
|
||||
IDLMember.__init__(self, ast, doc_js_interface_name, id)
|
||||
|
||||
if not ast:
|
||||
# Synthesize an IDLOperation with no ast used for setlike.
|
||||
self.ext_attrs = IDLExtAttrs()
|
||||
self.annotations = IDLAnnotations()
|
||||
self.is_fc_suppressed = False
|
||||
self.specials = []
|
||||
self.is_static = False
|
||||
self.arguments = []
|
||||
return;
|
||||
|
||||
self.type = self._convert_first(ast, 'ReturnType', IDLType)
|
||||
self.type = resolveTypedef(self.type)
|
||||
|
@ -837,6 +933,9 @@ class IDLOperation(IDLMember):
|
|||
operation_category = 'Named' if arg.type.id == 'DOMString' else 'Indexed'
|
||||
self.ext_attrs.setdefault('ImplementedAs', 'anonymous%s%s' % (operation_category, _operation_suffix_map[self.id]))
|
||||
|
||||
def __repr__(self):
|
||||
return '<IDLOperation(id = %s)>' % (self.id)
|
||||
|
||||
def _extra_repr(self):
|
||||
return [self.arguments]
|
||||
|
||||
|
@ -867,8 +966,16 @@ class IDLConstant(IDLMember):
|
|||
|
||||
class IDLArgument(IDLNode):
|
||||
"""IDLNode specialization for operation arguments."""
|
||||
def __init__(self, ast):
|
||||
IDLNode.__init__(self, ast)
|
||||
def __init__(self, ast, id=None):
|
||||
if ast:
|
||||
IDLNode.__init__(self, ast)
|
||||
else:
|
||||
# Synthesize an IDLArgument with no ast used for setlike.
|
||||
IDLNode.__init__(self, ast, id)
|
||||
self.ext_attrs = IDLExtAttrs()
|
||||
self.default_value = None
|
||||
self.default_value_is_null = False
|
||||
return
|
||||
|
||||
self.default_value = None
|
||||
self.default_value_is_null = False
|
||||
|
|
|
@ -1,128 +1,108 @@
|
|||
#!/usr/bin/python
|
||||
# Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
||||
# for details. All rights reserved. Use of this source code is governed by a
|
||||
# BSD-style license that can be found in the LICENSE file.
|
||||
# Upgrading Dart's SDK for HTML (blink IDLs).
|
||||
#
|
||||
# Typically this is done using the Dart integration branch (as it has to be
|
||||
# staged to get most things working).
|
||||
#
|
||||
# Enlist in third_party/WebCore:
|
||||
# > cd src/dart/third_party
|
||||
# > rm -rf WebCore (NOTE: Normally detached head using gclient sync)
|
||||
# > git clone https://github.com/dart-lang/webcore.git WebCore
|
||||
#
|
||||
# To update all *.idl, *.py, LICENSE files, and IDLExtendedAttributes.txt:
|
||||
# > cd src/dart
|
||||
# > python tools/dom/scripts/idlsync.py
|
||||
#
|
||||
# Display blink files to delete, copy, update, and collisions to review:
|
||||
# > python tools/dom/scripts/idlsync.py --check
|
||||
#
|
||||
# Bring over all blink files to dart/third_party/WebCore (*.py, *.idl, and
|
||||
# IDLExtendedAttributes.txt):
|
||||
# > python tools/dom/scripts/idlsync.py
|
||||
#
|
||||
# Update the DEPS file SHA for "WebCore_rev" with the committed changes of files
|
||||
# in WebCore e.g., "WebCore_rev": "@NNNNNNNNNNNNNNNNNNNNNNNNN"
|
||||
#
|
||||
# Generate the sdk/*.dart files from the new IDLs and PYTHON IDL parsing code
|
||||
# copied to in dart/third_party/WebCore from src/third_party/WebKit (blink).
|
||||
#
|
||||
# > cd src/dart/tools/dom/script
|
||||
# > ./go.sh
|
||||
#
|
||||
# Finally, commit the files in dart/third_party/WebCore.
|
||||
|
||||
import optparse
|
||||
import os
|
||||
import os.path
|
||||
import re
|
||||
import requests
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import time
|
||||
|
||||
SCRIPT_PATH = os.path.abspath(os.path.dirname(__file__))
|
||||
DART_PATH = os.path.abspath(os.path.join(SCRIPT_PATH, '..', '..', '..'))
|
||||
from shutil import copyfile
|
||||
|
||||
# Dartium DEPS file from the DEPS file checked into the dart-lang/sdk integration
|
||||
# branch.
|
||||
DEPS_GIT = ('https://raw.githubusercontent.com/dart-lang/sdk/'
|
||||
'integration/tools/deps/dartium.deps/DEPS')
|
||||
|
||||
# Whitelist of files to keep.
|
||||
WHITELIST = [
|
||||
r'LICENSE(\S+)',
|
||||
r'(\S+)\.idl',
|
||||
r'(\S+)\.json',
|
||||
r'(\S+)\.py',
|
||||
r'(\S+)\.txt',
|
||||
]
|
||||
|
||||
# WebKit / WebCore info.
|
||||
CHROME_TRUNK = "https://src.chromium.org"
|
||||
WEBKIT_URL_PATTERN = r'"dartium_webkit_branch": "(\S+)",'
|
||||
WEBKIT_REV_PATTERN = r'"dartium_webkit_revision": "(\d+)",'
|
||||
WEBCORE_SUBPATH = 'Source/core'
|
||||
MODULES_SUBPATH = 'Source/modules'
|
||||
BINDINGS_SUBPATH = 'Source/bindings'
|
||||
|
||||
LOCAL_WEBKIT_IDL_PATH = os.path.join(DART_PATH, 'third_party', 'WebCore')
|
||||
LOCAL_WEBKIT_README = """\
|
||||
This directory contains a copy of WebKit/WebCore IDL files.
|
||||
See the attached LICENSE-* files in this directory.
|
||||
|
||||
Please do not modify the files here. They are periodically copied
|
||||
using the script: $DART_ROOT/sdk/lib/html/scripts/%(script)s
|
||||
|
||||
The current version corresponds to:
|
||||
URL: %(url)s
|
||||
Current revision: %(revision)s
|
||||
"""
|
||||
|
||||
# Chrome info.
|
||||
CHROME_URL_PATTERN = r'"dartium_chromium_branch": "(\S+)",'
|
||||
CHROME_REV_PATTERN = r'"dartium_chromium_revision": "(\d+)",'
|
||||
CHROME_IDL_SUBPATH = 'trunk/src/chrome/common/extensions/api'
|
||||
CHROME_COMMENT_EATER_SUBPATH = 'trunk/src/tools/json_comment_eater'
|
||||
CHROME_COMPILER_SUBPATH = 'trunk/src/tools/json_schema_compiler'
|
||||
CHROME_IDL_PARSER_SUBPATH = 'trunk/src/ppapi/generators'
|
||||
CHROME_PLY_SUBPATH = 'trunk/src/third_party/ply'
|
||||
LOCAL_CHROME_IDL_PATH = os.path.join(DART_PATH, 'third_party', 'chrome', 'idl')
|
||||
LOCAL_CHROME_COMMENT_EATER_PATH = os.path.join(
|
||||
DART_PATH, 'third_party', 'chrome', 'tools', 'json_comment_eater')
|
||||
LOCAL_CHROME_COMPILER_PATH = os.path.join(DART_PATH, 'third_party', 'chrome',
|
||||
'tools', 'json_schema_compiler')
|
||||
LOCAL_CHROME_IDL_PARSER_PATH = os.path.join(DART_PATH, 'third_party', 'chrome',
|
||||
'ppapi', 'generators')
|
||||
LOCAL_CHROME_PLY_PATH = os.path.join(DART_PATH, 'third_party', 'chrome',
|
||||
'third_party', 'ply')
|
||||
LOCAL_CHROME_README = """\
|
||||
This directory contains a copy of Chromium IDL and generation scripts
|
||||
used to generate Dart APIs for Chrome Apps.
|
||||
|
||||
The original files are from:
|
||||
URL: %(url)s
|
||||
Current revision: %(revision)s
|
||||
|
||||
Please see the corresponding LICENSE file at
|
||||
%(url)s/trunk/src/LICENSE.
|
||||
"""
|
||||
DEPTH_FILES = 'files'
|
||||
DEPTH_INFINITY = 'infinity'
|
||||
|
||||
# Regular expressions corresponding to URL/revision patters in the
|
||||
# DEPS file.
|
||||
DEPS_GIT = ('https://raw.githubusercontent.com/dart-lang/sdk/integration/'
|
||||
'tools/deps/dartium.deps/DEPS')
|
||||
CHROME_TRUNK = "https://chromium.googlesource.com"
|
||||
WEBKIT_URL_PATTERN = r'"dartium_chromium_commit": "(\S+)",'
|
||||
DEPS_PATTERNS = {
|
||||
'webkit': (CHROME_TRUNK, WEBKIT_URL_PATTERN, WEBKIT_REV_PATTERN),
|
||||
# 'chrome': (CHROME_TRUNK, CHROME_URL_PATTERN, CHROME_REV_PATTERN),
|
||||
}
|
||||
'webkit': (CHROME_TRUNK, WEBKIT_URL_PATTERN),
|
||||
}
|
||||
|
||||
# List of components to update.
|
||||
UPDATE_LIST = [
|
||||
# (component, remote subpath, local path, local readme file, depth)
|
||||
# Dartium/Chromium remote (GIT repository)
|
||||
GIT_REMOTES_CHROMIUM = 'https://chromium.googlesource.com/dart/dartium/src.git'
|
||||
|
||||
# WebKit IDL.
|
||||
('webkit', WEBCORE_SUBPATH, os.path.join(LOCAL_WEBKIT_IDL_PATH, 'core'),
|
||||
LOCAL_WEBKIT_README, DEPTH_INFINITY),
|
||||
('webkit', MODULES_SUBPATH, os.path.join(LOCAL_WEBKIT_IDL_PATH, 'modules'),
|
||||
LOCAL_WEBKIT_README, DEPTH_INFINITY),
|
||||
('webkit', BINDINGS_SUBPATH, os.path.join(LOCAL_WEBKIT_IDL_PATH, 'bindings'),
|
||||
LOCAL_WEBKIT_README, DEPTH_INFINITY),
|
||||
# location of this file
|
||||
SOURCE_FILE_DIR = 'src/dart/tools/dom/scripts'
|
||||
|
||||
# Chrome IDL.
|
||||
('chrome', CHROME_IDL_SUBPATH, LOCAL_CHROME_IDL_PATH, LOCAL_CHROME_README,
|
||||
DEPTH_INFINITY),
|
||||
# Chrome PPAPI generators. Contains idl_parser.py which is used by the
|
||||
# Chrome IDL compiler.
|
||||
('chrome', CHROME_IDL_PARSER_SUBPATH, LOCAL_CHROME_IDL_PARSER_PATH,
|
||||
LOCAL_CHROME_README, DEPTH_FILES),
|
||||
# ply files.
|
||||
('chrome', CHROME_PLY_SUBPATH, LOCAL_CHROME_PLY_PATH, LOCAL_CHROME_README,
|
||||
DEPTH_INFINITY),
|
||||
# Path for json_comment_eater, which is needed by the Chrome IDL compiler.
|
||||
('chrome', CHROME_COMMENT_EATER_SUBPATH, LOCAL_CHROME_COMMENT_EATER_PATH,
|
||||
LOCAL_CHROME_README, DEPTH_FILES),
|
||||
# Chrome IDL compiler files.
|
||||
('chrome', CHROME_COMPILER_SUBPATH, LOCAL_CHROME_COMPILER_PATH,
|
||||
LOCAL_CHROME_README, DEPTH_INFINITY),
|
||||
]
|
||||
WEBKIT_SOURCE = 'src/third_party/WebKit/Source'
|
||||
WEBCORE_SOURCE = 'src/dart/third_party/WebCore'
|
||||
|
||||
# Never automatically git add bindings/IDLExtendedAttributes.txt this file has
|
||||
# been modified by Dart but is usually changed by WebKit blink too.
|
||||
IDL_EXTENDED_ATTRIBUTES_FILE = 'IDLExtendedAttributes.txt'
|
||||
|
||||
# Don't automatically update, delete or add anything in this directory:
|
||||
# bindings/dart/scripts
|
||||
# The scripts in the above directory is the source for our Dart generators that
|
||||
# is driven from the blink IDL parser AST
|
||||
DART_SDK_GENERATOR_SCRIPTS = 'bindings/dart/scripts'
|
||||
|
||||
# sub directories containing IDLs (core and modules) from the base directory
|
||||
# src/third_party/WebKit/Source
|
||||
SUBDIRS = [
|
||||
'bindings',
|
||||
'core',
|
||||
'modules',
|
||||
]
|
||||
IDL_EXT = '.idl'
|
||||
PY_EXT = '.py'
|
||||
LICENSE_FILE_PREFIX = 'LICENSE' # e.g., LICENSE-APPLE, etc.
|
||||
|
||||
# Look in any file in WebCore we copy from WebKit if this comment is in the file
|
||||
# then flag this as a special .py or .idl file that needs to be looked at.
|
||||
DART_CHANGES = ' FIXMEDART: '
|
||||
|
||||
# application options passed in.
|
||||
options = None
|
||||
|
||||
warning_messages = []
|
||||
|
||||
# Is --check passed in.
|
||||
def isChecked():
|
||||
global options
|
||||
return options['check'] is not None
|
||||
|
||||
# Is --verbose passed in.
|
||||
def isVerbose():
|
||||
global options
|
||||
return options['verbose'] is not None
|
||||
|
||||
def RunCommand(cmd, valid_exits=[0]):
|
||||
"""Executes a shell command and return its stdout."""
|
||||
print ' '.join(cmd)
|
||||
if isVerbose():
|
||||
print ' '.join(cmd)
|
||||
pipe = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
output = pipe.communicate()
|
||||
if pipe.returncode in valid_exits:
|
||||
|
@ -132,102 +112,207 @@ def RunCommand(cmd, valid_exits=[0]):
|
|||
print 'FAILED. RET_CODE=%d' % pipe.returncode
|
||||
sys.exit(pipe.returncode)
|
||||
|
||||
# returns True if // FIXMEDART: is in the file.
|
||||
def anyDartFixMe(filepath):
|
||||
if os.path.exists(filepath):
|
||||
data = open(filepath, 'r').read()
|
||||
return data.find(DART_CHANGES) != -1
|
||||
else:
|
||||
return False
|
||||
|
||||
# Give a base_dir compute the trailing directory after base_dir
|
||||
# returns the subpath from base_dir for the path passed in.
|
||||
def subpath(path, base_dir):
|
||||
dir_portion = ''
|
||||
head = path
|
||||
while True:
|
||||
head, tail = os.path.split(head)
|
||||
dir_portion = os.path.join(tail, dir_portion)
|
||||
if head == base_dir or tail == '':
|
||||
break;
|
||||
return dir_portion
|
||||
|
||||
# Copy any file in source_dir (WebKit) to destination_dir (dart/third_party/WebCore)
|
||||
# source_dir is the src/third_party/WebKit/Source location (blink)
|
||||
# destination_dir is the src/dart/third_party/WebCore location
|
||||
# returns idls_copied, py_copied, other_copied
|
||||
def copy_files(source_dir, destination_dir):
|
||||
original_cwd = os.getcwd()
|
||||
os.chdir(destination_dir)
|
||||
|
||||
idls = 0 # *.idl files copied
|
||||
pys = 0 # *.py files copied
|
||||
others = 0 # all other files copied
|
||||
|
||||
for (root, _, files) in os.walk(source_dir, topdown=False):
|
||||
dir_portion = subpath(root, source_dir)
|
||||
for f in files:
|
||||
# Never automatically add any Dart generator scripts (these are the original
|
||||
# sources in WebCore) from WebKit to WebCore.
|
||||
if dir_portion != DART_SDK_GENERATOR_SCRIPTS:
|
||||
if (f.endswith(IDL_EXT) or
|
||||
f == IDL_EXTENDED_ATTRIBUTES_FILE or
|
||||
f.endswith(PY_EXT) or
|
||||
f.startswith(LICENSE_FILE_PREFIX)):
|
||||
if f.endswith(IDL_EXT):
|
||||
idls += 1
|
||||
elif f.endswith(PY_EXT):
|
||||
pys += 1
|
||||
else:
|
||||
others += 1
|
||||
src_file = os.path.join(root, f)
|
||||
dst_root = root.replace(WEBKIT_SOURCE, WEBCORE_SOURCE)
|
||||
dst_file = os.path.join(dst_root, f)
|
||||
|
||||
destination = os.path.dirname(dst_file)
|
||||
if not os.path.exists(destination):
|
||||
os.makedirs(destination)
|
||||
|
||||
has_Dart_fix_me = anyDartFixMe(dst_file)
|
||||
|
||||
if not isChecked():
|
||||
copyfile(src_file, dst_file)
|
||||
if isVerbose():
|
||||
print('...copying %s' % os.path.split(dst_file)[1])
|
||||
if f == IDL_EXTENDED_ATTRIBUTES_FILE:
|
||||
warning_messages.append(dst_file)
|
||||
else:
|
||||
if has_Dart_fix_me:
|
||||
warning_messages.append(dst_file)
|
||||
if not (isChecked() or has_Dart_fix_me):
|
||||
# git add the file
|
||||
RunCommand(['git', 'add', dst_file])
|
||||
|
||||
os.chdir(original_cwd)
|
||||
|
||||
return [idls, pys, others]
|
||||
|
||||
# Remove any file in webcore_dir that no longer exist in the webkit_dir
|
||||
# webcore_dir src/dart/third_party/WebCore location
|
||||
# webkit_dir src/third_party/WebKit/Source location (blink)
|
||||
# only check if the subdir off from webcore_dir
|
||||
# return list of files deleted
|
||||
def remove_obsolete_webcore_files(webcore_dir, webkit_dir, subdir):
|
||||
files_to_delete = []
|
||||
|
||||
original_cwd = os.getcwd()
|
||||
os.chdir(webcore_dir)
|
||||
|
||||
for (root, _, files) in os.walk(os.path.join(webcore_dir, subdir), topdown=False):
|
||||
dir_portion = subpath(root, webcore_dir)
|
||||
for f in files:
|
||||
# Never automatically deleted any Dart generator scripts (these are the
|
||||
# original sources in WebCore).
|
||||
if dir_portion != DART_SDK_GENERATOR_SCRIPTS:
|
||||
check_file = os.path.join(dir_portion, f)
|
||||
check_file_full_path = os.path.join(webkit_dir, check_file)
|
||||
if not os.path.exists(check_file_full_path):
|
||||
if not isChecked():
|
||||
# Remove the file using git
|
||||
RunCommand(['git', 'rm', check_file])
|
||||
files_to_delete.append(check_file)
|
||||
|
||||
os.chdir(original_cwd)
|
||||
|
||||
return files_to_delete
|
||||
|
||||
def ParseOptions():
|
||||
parser = optparse.OptionParser()
|
||||
parser.add_option('--verbose', '-v', dest='verbose', action='store_false',
|
||||
help='Dump all information', default=None)
|
||||
parser.add_option('--check', '-c', dest='check', action='store_false',
|
||||
help='Display results without adding, updating or deleting any files', default=None)
|
||||
args, _ = parser.parse_args()
|
||||
|
||||
argOptions = {}
|
||||
argOptions['verbose'] = args.verbose
|
||||
argOptions['check'] = args.check
|
||||
return argOptions
|
||||
|
||||
# Fetch the DEPS file in src/dart/tools/deps/dartium.deps/DEPS from the GIT repro.
|
||||
def GetDepsFromGit():
|
||||
req = requests.get(DEPS_GIT)
|
||||
return req.text
|
||||
|
||||
def GetSvnRevision(deps, component):
|
||||
"""Returns a tuple with the (dartium webkit repo, latest revision)."""
|
||||
url_base, url_pattern, rev_pattern = DEPS_PATTERNS[component]
|
||||
url = url_base + re.search(url_pattern, deps).group(1)
|
||||
revision = re.search(rev_pattern, deps).group(1)
|
||||
return (url, revision)
|
||||
def ValidateGitRemotes():
|
||||
#origin https://chromium.googlesource.com/dart/dartium/src.git (fetch)
|
||||
remotes_list = RunCommand(['git', 'remote', '--verbose']).split()
|
||||
if (len(remotes_list) > 2 and
|
||||
remotes_list[0] == 'origin' and remotes_list[1] == GIT_REMOTES_CHROMIUM):
|
||||
return True
|
||||
|
||||
print 'ERROR: Unable to find dart/dartium/src repository %s' % GIT_REMOTES_CHROMIUM
|
||||
return False
|
||||
|
||||
def RefreshFiles(url, revision, remote_path, local_path, depth):
|
||||
"""Refreshes refreshes files in the local_path to specific url /
|
||||
revision / remote_path, exporting to depth"""
|
||||
def getCurrentDartiumSHA():
|
||||
cwd = os.getcwd()
|
||||
try:
|
||||
if os.path.exists(local_path):
|
||||
shutil.rmtree(local_path)
|
||||
head, tail = os.path.split(local_path)
|
||||
if not os.path.exists(head):
|
||||
os.makedirs(head)
|
||||
os.chdir(head)
|
||||
RunCommand(['svn', 'export', '--depth', depth, '-r', revision,
|
||||
url + '/' + remote_path, tail])
|
||||
finally:
|
||||
os.chdir(cwd)
|
||||
if cwd.endswith('dart'):
|
||||
# In src/dart
|
||||
src_dir, _ = os.path.split(cwd)
|
||||
elif cwd.endswith('src'):
|
||||
src_dir = cwd
|
||||
else:
|
||||
src_dir = os.path.join(cwd, 'src')
|
||||
os.chdir(src_dir)
|
||||
|
||||
if ValidateGitRemotes():
|
||||
dartium_sha = RunCommand(['git', 'log', '--format=format:%H', '-1'])
|
||||
else:
|
||||
dartium_sha = -1
|
||||
|
||||
def PruneExtraFiles(local_path):
|
||||
"""Removes all files that do not match the whitelist."""
|
||||
pattern = re.compile(reduce(lambda x,y: '%s|%s' % (x,y),
|
||||
map(lambda z: '(%s)' % z, WHITELIST)))
|
||||
for (root, dirs, files) in os.walk(local_path, topdown=False):
|
||||
for f in files:
|
||||
if not pattern.match(f):
|
||||
os.remove(os.path.join(root, f))
|
||||
for d in dirs:
|
||||
dirpath = os.path.join(root, d)
|
||||
if not os.listdir(dirpath):
|
||||
shutil.rmtree(dirpath)
|
||||
|
||||
|
||||
def GenerateReadme(local_path, template, url, revision):
|
||||
readme = template % {
|
||||
'script': os.path.basename(__file__),
|
||||
'url': url,
|
||||
'revision': revision }
|
||||
|
||||
readme_path = os.path.join(local_path, 'README')
|
||||
out = open(readme_path, 'w')
|
||||
out.write(readme)
|
||||
out.close()
|
||||
|
||||
ZIP_ARCHIVE = 'version-control-dirs.zip'
|
||||
|
||||
def SaveVersionControlDir(local_path):
|
||||
if os.path.exists(local_path):
|
||||
RunCommand([
|
||||
'sh', '-c',
|
||||
'find %s -name .svn -or -name .git | zip -r %s -@' % (
|
||||
os.path.relpath(local_path), ZIP_ARCHIVE)
|
||||
], [0, 12]) # It is ok if zip has nothing to do (exit code 12).
|
||||
|
||||
def RestoreVersionControlDir(local_path):
|
||||
archive_path = os.path.join(local_path, ZIP_ARCHIVE)
|
||||
if os.path.exists(archive_path):
|
||||
RunCommand(['unzip', ZIP_ARCHIVE, '-d', '.'])
|
||||
RunCommand(['rm', ZIP_ARCHIVE])
|
||||
|
||||
def ParseOptions():
|
||||
parser = optparse.OptionParser()
|
||||
parser.add_option('--webkit-revision', '-w', dest='webkit_revision',
|
||||
help='WebKit IDL revision to install', default=None)
|
||||
parser.add_option('--chrome-revision', '-c', dest='chrome_revision',
|
||||
help='Chrome IDL revision to install', default=None)
|
||||
args, _ = parser.parse_args()
|
||||
update = {}
|
||||
update['webkit'] = args.webkit_revision
|
||||
return update
|
||||
os.chdir(cwd)
|
||||
return dartium_sha
|
||||
|
||||
# Returns the SHA of the Dartium/Chromiun in the DEPS file.
|
||||
def GetDEPSDartiumGitRevision(deps, component):
|
||||
"""Returns a tuple with the (dartium chromium repo, latest revision)."""
|
||||
url_base, url_pattern = DEPS_PATTERNS[component]
|
||||
url = url_base + re.search(url_pattern, deps).group(1)
|
||||
# Get the SHA for the Chromium/WebKit changes for Dartium.
|
||||
revision = url[len(url_base):]
|
||||
return revision
|
||||
|
||||
def main():
|
||||
update = ParseOptions()
|
||||
global options
|
||||
options = ParseOptions()
|
||||
|
||||
current_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
if not current_dir.endswith(SOURCE_FILE_DIR):
|
||||
print 'ERROR: idlsync.py not run in proper directory (%s)\n', current_dir
|
||||
|
||||
base_directory = current_dir[:current_dir.rfind(SOURCE_FILE_DIR)]
|
||||
|
||||
# Validate that the DEPS SHA matches the SHA of the chromium/dartium branch.
|
||||
deps = GetDepsFromGit()
|
||||
for (component, remote_path, local_path, readme, depth) in UPDATE_LIST:
|
||||
if component in update.keys():
|
||||
revision = update[component]
|
||||
url, latest = GetSvnRevision(deps, component)
|
||||
if revision is None:
|
||||
revision = latest
|
||||
SaveVersionControlDir(local_path);
|
||||
RefreshFiles(url, revision, remote_path, local_path, depth)
|
||||
PruneExtraFiles(local_path)
|
||||
GenerateReadme(local_path, readme, url, revision)
|
||||
RestoreVersionControlDir(local_path);
|
||||
revision = GetDEPSDartiumGitRevision(deps, 'webkit')
|
||||
dartium_sha = getCurrentDartiumSHA()
|
||||
if not(revision == dartium_sha):
|
||||
print "ERROR: Chromium/Dartium SHA in DEPS doesn't match the GIT branch."
|
||||
return
|
||||
|
||||
start_time = time.time()
|
||||
for subdir in SUBDIRS:
|
||||
webkit_dir = os.path.join(base_directory, WEBKIT_SOURCE)
|
||||
webcore_dir = os.path.join(base_directory, WEBCORE_SOURCE)
|
||||
|
||||
idls_deleted = remove_obsolete_webcore_files(webcore_dir, webkit_dir, subdir)
|
||||
print "%s files removed in WebCore %s" % (idls_deleted.__len__(), subdir)
|
||||
if isVerbose():
|
||||
for delete_file in idls_deleted:
|
||||
print " %s" % delete_file
|
||||
|
||||
idls_copied, py_copied, other_copied = copy_files(os.path.join(webkit_dir, subdir), webcore_dir)
|
||||
print "Copied %s IDLs to %s" % (idls_copied, subdir)
|
||||
print "Copied %s PYs to %s" % (py_copied, subdir)
|
||||
print "Copied %s other to %s\n" % (other_copied, subdir)
|
||||
|
||||
end_time = time.time()
|
||||
|
||||
print 'WARNING: File(s) contain FIXMEDART and are NOT "git add " please review:'
|
||||
for warning in warning_messages:
|
||||
print ' %s' % warning
|
||||
|
||||
print '\nDone idlsync completed in %s seconds' % round(end_time - start_time, 2)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
sys.exit(main())
|
||||
|
|
|
@ -502,7 +502,10 @@ class HtmlDartInterfaceGenerator(object):
|
|||
if IsCustomType(self._interface.id):
|
||||
pass
|
||||
elif 'Callback' in self._interface.ext_attrs:
|
||||
self.GenerateCallback()
|
||||
if len(GetCallbackHandlers(self._interface)) > 0:
|
||||
self.GenerateCallback()
|
||||
else:
|
||||
return
|
||||
else:
|
||||
self.GenerateInterface()
|
||||
|
||||
|
@ -902,6 +905,8 @@ class Dart2JSBackend(HtmlDartGenerator):
|
|||
indexed_getter = 'this.getItem(index)'
|
||||
elif any(op.id == 'item' for op in self._interface.operations):
|
||||
indexed_getter = 'this.item(index)'
|
||||
else:
|
||||
indexed_getter = False
|
||||
|
||||
if indexed_getter:
|
||||
self._members_emitter.Emit(
|
||||
|
|
|
@ -63,6 +63,8 @@ class KeyEvent extends _WrappedEvent implements KeyboardEvent {
|
|||
/** Shadows on top of the parent's currentTarget. */
|
||||
EventTarget _currentTarget;
|
||||
|
||||
final InputDeviceCapabilities sourceCapabilities;
|
||||
|
||||
/**
|
||||
* The value we want to use for this object's dispatch. Created here so it is
|
||||
* only invoked once.
|
||||
|
@ -216,7 +218,6 @@ class KeyEvent extends _WrappedEvent implements KeyboardEvent {
|
|||
bool get metaKey => _parent.metaKey;
|
||||
/** True if the shift key was pressed during this event. */
|
||||
bool get shiftKey => _parent.shiftKey;
|
||||
InputDevice get sourceDevice => _parent.sourceDevice;
|
||||
Window get view => _parent.view;
|
||||
void _initUIEvent(
|
||||
String type, bool canBubble, bool cancelable, Window view, int detail) {
|
||||
|
|
|
@ -21,13 +21,21 @@ class _WrappedEvent implements Event {
|
|||
|
||||
EventTarget get currentTarget => wrapped.currentTarget;
|
||||
|
||||
List<EventTarget> deepPath() {
|
||||
return wrapped.deepPath();
|
||||
}
|
||||
|
||||
bool get defaultPrevented => wrapped.defaultPrevented;
|
||||
|
||||
int get eventPhase => wrapped.eventPhase;
|
||||
|
||||
bool get isTrusted => wrapped.isTrusted;
|
||||
|
||||
bool get scoped => wrapped.scoped;
|
||||
|
||||
EventTarget get target => wrapped.target;
|
||||
|
||||
int get timeStamp => wrapped.timeStamp;
|
||||
double get timeStamp => wrapped.timeStamp;
|
||||
|
||||
String get type => wrapped.type;
|
||||
|
||||
|
|
|
@ -73,6 +73,9 @@ class _ElementCssClassSet extends CssClassSetImpl {
|
|||
Set<String> readClasses() {
|
||||
var s = new LinkedHashSet<String>();
|
||||
var classname = _element.className;
|
||||
if (classname is svg.AnimatedString) {
|
||||
classname = classname.baseVal;
|
||||
}
|
||||
|
||||
for (String name in classname.split(' ')) {
|
||||
String trimmed = name.trim();
|
||||
|
|
|
@ -67,6 +67,8 @@ class KeyEvent extends _WrappedEvent implements KeyboardEvent {
|
|||
/** Shadows on top of the parent's currentTarget. */
|
||||
EventTarget _currentTarget;
|
||||
|
||||
final InputDeviceCapabilities sourceCapabilities;
|
||||
|
||||
/** Construct a KeyEvent with [parent] as the event we're emulating. */
|
||||
KeyEvent.wrap(KeyboardEvent parent) : super(parent) {
|
||||
_parent = parent;
|
||||
|
|
|
@ -27,13 +27,21 @@ class _WrappedEvent implements Event {
|
|||
|
||||
EventTarget get currentTarget => wrapped.currentTarget;
|
||||
|
||||
List<EventTarget> deepPath() {
|
||||
return wrapped.deepPath();
|
||||
}
|
||||
|
||||
bool get defaultPrevented => wrapped.defaultPrevented;
|
||||
|
||||
int get eventPhase => wrapped.eventPhase;
|
||||
|
||||
bool get isTrusted => wrapped.isTrusted;
|
||||
|
||||
bool get scoped => wrapped.scoped;
|
||||
|
||||
EventTarget get target => wrapped.target;
|
||||
|
||||
int get timeStamp => wrapped.timeStamp;
|
||||
double get timeStamp => wrapped.timeStamp;
|
||||
|
||||
String get type => wrapped.type;
|
||||
|
||||
|
|
|
@ -146,3 +146,13 @@ Future<Isolate> spawnDomUri(Uri uri, List<String> args, message) {
|
|||
}
|
||||
|
||||
createCustomUpgrader(Type customElementClass, $this) => $this;
|
||||
|
||||
/**
|
||||
* Emitted for any setlike IDL entry needs a callback signature.
|
||||
* Today there is only one.
|
||||
*/
|
||||
@DomName('FontFaceSetForEachCallback')
|
||||
@Experimental() // untriaged
|
||||
typedef void FontFaceSetForEachCallback(
|
||||
FontFace fontFace, FontFace fontFaceAgain, FontFaceSet set);
|
||||
|
||||
|
|
|
@ -377,3 +377,13 @@ class DartHtmlDomObject extends NativeFieldWrapperClass2 {}
|
|||
_createCustomUpgrader(Type customElementClass, $this) => $this;
|
||||
|
||||
$endif
|
||||
|
||||
/**
|
||||
* Emitted for any setlike IDL entry needs a callback signature.
|
||||
* Today there is only one.
|
||||
*/
|
||||
@DomName('FontFaceSetForEachCallback')
|
||||
@Experimental() // untriaged
|
||||
typedef void FontFaceSetForEachCallback(
|
||||
FontFace fontFace, FontFace fontFaceAgain, FontFaceSet set);
|
||||
|
||||
|
|
|
@ -67,11 +67,7 @@ $endif
|
|||
|
||||
$if DARTIUM
|
||||
bool _hasProperty(String propertyName) =>
|
||||
$if JSINTEROP
|
||||
_blink.BlinkCSSStyleDeclaration.instance.$__propertyQuery___Callback_1_(this, propertyName);
|
||||
$else
|
||||
_blink.BlinkCSSStyleDeclaration.$__propertyQuery___Callback_1(this, propertyName);
|
||||
$endif
|
||||
_blink.BlinkCSSStyleDeclaration.instance.$__get___propertyIsEnumerable_Callback_1_(this, propertyName);
|
||||
$endif
|
||||
|
||||
@DomName('CSSStyleDeclaration.setProperty')
|
||||
|
|
|
@ -27,6 +27,8 @@ $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS
|
|||
static const String TIMEOUT = 'TimeoutError';
|
||||
static const String INVALID_NODE_TYPE = 'InvalidNodeTypeError';
|
||||
static const String DATA_CLONE = 'DataCloneError';
|
||||
// Is TypeError class derived from DomException but name is 'TypeError'
|
||||
static const String TYPE_ERROR = 'TypeError';
|
||||
|
||||
$if DART2JS
|
||||
String get name {
|
||||
|
|
|
@ -1341,6 +1341,12 @@ $endif
|
|||
base.href = document.baseUri;
|
||||
_parseDocument.head.append(base);
|
||||
}
|
||||
|
||||
// TODO(terry): Fixes Chromium 50 change no body after createHtmlDocument()
|
||||
if (_parseDocument.body == null) {
|
||||
_parseDocument.body = _parseDocument.createElement("body");
|
||||
}
|
||||
|
||||
var contextElement;
|
||||
if (this is BodyElement) {
|
||||
contextElement = _parseDocument.body;
|
||||
|
@ -1593,23 +1599,23 @@ $else
|
|||
|
||||
@DomName('Element.offsetParent')
|
||||
@DocsEditable()
|
||||
Element get offsetParent => _blink.BlinkElement.instance.offsetParent_Getter_(this);
|
||||
Element get offsetParent => _blink.BlinkHTMLElement.instance.offsetParent_Getter_(this);
|
||||
|
||||
@DomName('Element.offsetHeight')
|
||||
@DocsEditable()
|
||||
int get offsetHeight => _blink.BlinkElement.instance.offsetHeight_Getter_(this);
|
||||
int get offsetHeight => _blink.BlinkHTMLElement.instance.offsetHeight_Getter_(this);
|
||||
|
||||
@DomName('Element.offsetLeft')
|
||||
@DocsEditable()
|
||||
int get offsetLeft => _blink.BlinkElement.instance.offsetLeft_Getter_(this);
|
||||
int get offsetLeft => _blink.BlinkHTMLElement.instance.offsetLeft_Getter_(this);
|
||||
|
||||
@DomName('Element.offsetTop')
|
||||
@DocsEditable()
|
||||
int get offsetTop => _blink.BlinkElement.instance.offsetTop_Getter_(this);
|
||||
int get offsetTop => _blink.BlinkHTMLElement.instance.offsetTop_Getter_(this);
|
||||
|
||||
@DomName('Element.offsetWidth')
|
||||
@DocsEditable()
|
||||
int get offsetWidth => _blink.BlinkElement.instance.offsetWidth_Getter_(this);
|
||||
int get offsetWidth => _blink.BlinkHTMLElement.instance.offsetWidth_Getter_(this);
|
||||
|
||||
@DomName('Element.scrollHeight')
|
||||
@DocsEditable()
|
||||
|
|
|
@ -45,7 +45,7 @@ $if DART2JS
|
|||
static bool get supportsCssCanvasContext =>
|
||||
JS('bool', '!!(document.getCSSCanvasContext)');
|
||||
$else
|
||||
static bool get supportsCssCanvasContext => true;
|
||||
static bool get supportsCssCanvasContext => false;
|
||||
$endif
|
||||
|
||||
|
||||
|
@ -75,7 +75,11 @@ $endif
|
|||
@DomName('Document.getCSSCanvasContext')
|
||||
CanvasRenderingContext getCssCanvasContext(String contextId, String name,
|
||||
int width, int height) {
|
||||
return _getCssCanvasContext(contextId, name, width, height);
|
||||
$if DART2JS
|
||||
if (HtmlDocument.supportsCssCanvasContext)
|
||||
return JS('CanvasRenderingContext', '#.getCSSCanvasContext(#, #, #, #)', this, contextId, name, width, height);
|
||||
$endif
|
||||
throw new UnsupportedError("Not supported");
|
||||
}
|
||||
|
||||
@DomName('Document.head')
|
||||
|
|
|
@ -9,22 +9,18 @@ $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS
|
|||
factory $CLASSNAME(String type,
|
||||
{bool canBubble: true, bool cancelable: true, String oldUrl,
|
||||
String newUrl}) {
|
||||
|
||||
$if DART2JS
|
||||
var options = {
|
||||
'canBubble' : canBubble,
|
||||
'cancelable' : cancelable,
|
||||
'oldURL': oldUrl,
|
||||
'newURL': newUrl,
|
||||
};
|
||||
$if DART2JS
|
||||
return JS('HashChangeEvent', 'new HashChangeEvent(#, #)',
|
||||
type, convertDartToNative_Dictionary(options));
|
||||
$else
|
||||
// TODO(alanknight): This is required while we're on Dartium 39, but will need
|
||||
// to look like dart2js with later versions when initHashChange is removed.
|
||||
var event = document._createEvent("HashChangeEvent");
|
||||
event._initHashChangeEvent(type, canBubble, cancelable, oldUrl, newUrl);
|
||||
return event;
|
||||
return _blink.BlinkHashChangeEvent.instance
|
||||
.constructorCallback_2_(type, convertDartToNative_Dictionary(options));
|
||||
$endif
|
||||
}
|
||||
|
||||
|
|
|
@ -62,5 +62,17 @@ $endif
|
|||
_getStats((value) { completer.complete(value); }, selector);
|
||||
return completer.future;
|
||||
}
|
||||
|
||||
@DomName('RTCPeerConnection.generateCertificate')
|
||||
@DocsEditable()
|
||||
@Experimental() // untriaged
|
||||
static Future generateCertificate(/*AlgorithmIdentifier*/ keygenAlgorithm) =>
|
||||
$if DART2JS
|
||||
JS('dynamic', 'generateCertificate(#)', keygenAlgorithm);
|
||||
$else
|
||||
convertNativePromiseToDartFuture(_blink.BlinkRTCPeerConnection.instance
|
||||
.generateCertificate_Callback_1_(keygenAlgorithm));
|
||||
$endif
|
||||
|
||||
$!MEMBERS
|
||||
}
|
||||
|
|
|
@ -4,13 +4,16 @@
|
|||
|
||||
part of $LIBRARYNAME;
|
||||
|
||||
class _AttributeClassSet extends CssClassSetImpl {
|
||||
class AttributeClassSet extends CssClassSetImpl {
|
||||
final Element _element;
|
||||
|
||||
_AttributeClassSet(this._element);
|
||||
AttributeClassSet(this._element);
|
||||
|
||||
Set<String> readClasses() {
|
||||
var classname = _element.attributes['class'];
|
||||
if (classname is AnimatedString) {
|
||||
classname = classname.baseVal;
|
||||
}
|
||||
|
||||
Set<String> s = new LinkedHashSet<String>();
|
||||
if (classname == null) {
|
||||
|
@ -26,7 +29,7 @@ class _AttributeClassSet extends CssClassSetImpl {
|
|||
}
|
||||
|
||||
void writeClasses(Set s) {
|
||||
_element.attributes['class'] = s.join(' ');
|
||||
_element.setAttribute('class', s.join(' '));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -54,7 +57,7 @@ $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS
|
|||
return fragment.nodes.where((e) => e is SvgElement).single;
|
||||
}
|
||||
|
||||
CssClassSet get classes => new _AttributeClassSet(this);
|
||||
CssClassSet get classes => new AttributeClassSet(this);
|
||||
|
||||
List<Element> get children => new FilteredElementList(this);
|
||||
|
||||
|
|
|
@ -15,18 +15,25 @@ $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS
|
|||
if (view == null) {
|
||||
view = window;
|
||||
}
|
||||
$if DART2JS
|
||||
TouchEvent e = document._createEvent("TouchEvent");
|
||||
$else
|
||||
TouchEvent e = _blink.BlinkTouchEvent.instance.constructorCallback_1_(type);
|
||||
$endif
|
||||
e._initTouchEvent(touches, targetTouches, changedTouches, type, view,
|
||||
screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey);
|
||||
return e;
|
||||
}
|
||||
$!MEMBERS
|
||||
|
||||
/**
|
||||
* Checks if touch events supported on the current platform.
|
||||
*
|
||||
* Note that touch events are only supported if the user is using a touch
|
||||
* device.
|
||||
*/
|
||||
$if DART2JS
|
||||
static bool get supported => Device.isEventTypeSupported('TouchEvent');
|
||||
$else
|
||||
static bool get supported => true;
|
||||
$endif
|
||||
}
|
||||
|
|
|
@ -2105,6 +2105,10 @@ class RunningProcess {
|
|||
environment.remove(excludedEnvironmentVariable);
|
||||
}
|
||||
|
||||
// TODO(terry): Needed for roll 50?
|
||||
environment["GLIBCPP_FORCE_NEW"] = "1";
|
||||
environment["GLIBCXX_FORCE_NEW"] = "1";
|
||||
|
||||
return environment;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1208,6 +1208,8 @@ class StandardTestSuite extends TestSuite {
|
|||
if (configuration['system'] == 'linux' &&
|
||||
configuration['runtime'] == 'drt') {
|
||||
contentShellOptions.add('--disable-gpu');
|
||||
// TODO(terry): Roll 50 need this in conjection with disable-gpu.
|
||||
contentShellOptions.add('--disable-gpu-early-init');
|
||||
}
|
||||
if (compiler == 'none') {
|
||||
dartFlags.add('--ignore-unrecognized-flags');
|
||||
|
|
|
@ -404,7 +404,7 @@ def GetArchiveVersion():
|
|||
version = ReadVersionFile()
|
||||
if not version:
|
||||
raise 'Could not get the archive version, parsing the version file failed'
|
||||
if version.channel == 'be':
|
||||
if version.channel in ['be', 'integration']:
|
||||
return GetGitNumber()
|
||||
return GetSemanticSDKVersion()
|
||||
|
||||
|
|
Loading…
Reference in a new issue