Revision cdf5b3962f33d0a05af040097173d8cc827a7d73 authored by Trent Apted on 12 March 2018, 04:02:04 UTC, committed by Blink WPT Bot on 12 March 2018, 04:10:37 UTC
This reverts commit af1c15b16f99d290799c83d34c111bce52447026. Reason for revert: suspected for persistent failures on Win7 Tests (dbg)(1) Unexpected Failures: * external/wpt/bluetooth/server/getPrimaryServices/blocklisted-services.https.html * external/wpt/bluetooth/service/getCharacteristic/gen-blocklisted-characteristic.https.html * external/wpt/bluetooth/service/getCharacteristics/blocklisted-characteristics.https.html * external/wpt/bluetooth/service/getCharacteristics/gen-blocklisted-characteristic-with-uuid.https.html * external/wpt/upgrade-insecure-requests/link-upgrade.sub.https.html since https://ci.chromium.org/buildbot/chromium.win/Win7%20Tests%20%28dbg%29%281%29/66761 errors like 15:59:42.310 5904 worker/4 external/wpt/bluetooth/service/getCharacteristics/gen-blocklisted-characteristic-with-uuid.https.html crashed, (stderr lines): 15:59:42.311 5904 CONSOLE MESSAGE: line 255: Web Bluetooth is experimental on this platform. See https://github.com/WebBluetoothCG/web-bluetooth/blob/gh-pages/implementation-status.md 15:59:42.327 1300 [1691/5755] external/wpt/bluetooth/service/getCharacteristics/gen-blocklisted-characteristic-with-uuid.https.html failed unexpectedly (content_shell crashed [pid=5644]) Original change's description: > bluetooth: Use DeviceUUID in FakeBluetooth > > This change refactors the Web Bluetooth test API to use the > DeviceUUIDs helper class defined in BluetoothDevice. Additionally, > this change finishes the implementation of SimulateGATTServicesChanged, > and as a result, tests are updated to set the next discovery response > before calling this interface. > > BUG=719826 > > Change-Id: I0f986eb7afe6fbf7ebaa80ac4b633d46a027b80d > Reviewed-on: https://chromium-review.googlesource.com/939984 > Commit-Queue: Ovidio Henriquez <odejesush@chromium.org> > Reviewed-by: Giovanni Ortuño Urquidi <ortuno@chromium.org> > Cr-Commit-Position: refs/heads/master@{#541577} TBR=cco3@chromium.org,ortuno@chromium.org,odejesush@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 719826 Change-Id: I02bb7066c6f1282191f7a24e91b3d2c5614b8104 Reviewed-on: https://chromium-review.googlesource.com/958741 Reviewed-by: Trent Apted <tapted@chromium.org> Commit-Queue: Trent Apted <tapted@chromium.org> Cr-Commit-Position: refs/heads/master@{#542421}
1 parent 9c9d8f2
RTCDtlsTransport-getRemoteCertificates.html
<!doctype html>
<meta charset="utf-8">
<title>RTCDtlsTransport.prototype.getRemoteCertificates</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="RTCPeerConnection-helper.js"></script>
<script>
'use strict';
// The following helper functions are called from RTCPeerConnection-helper.js:
// exchangeIceCandidates
// doSignalingHandshake
/*
5.5. RTCDtlsTransport Interface
interface RTCDtlsTransport : EventTarget {
readonly attribute RTCDtlsTransportState state;
sequence<ArrayBuffer> getRemoteCertificates();
attribute EventHandler onstatechange;
attribute EventHandler onerror;
...
};
enum RTCDtlsTransportState {
"new",
"connecting",
"connected",
"closed",
"failed"
};
getRemoteCertificates
Returns the certificate chain in use by the remote side, with each certificate
encoded in binary Distinguished Encoding Rules (DER) [X690].
getRemoteCertificates() will return an empty list prior to selection of the
remote certificate, which will be completed by the time RTCDtlsTransportState
transitions to "connected".
*/
async_test(t => {
const pc1 = new RTCPeerConnection();
const pc2 = new RTCPeerConnection();
pc1.createDataChannel('test');
exchangeIceCandidates(pc1, pc2);
doSignalingHandshake(pc1, pc2)
.then(t.step_func(() => {
// pc.sctp is set when set*Description(answer) is called
const sctpTransport1 = pc1.sctp;
const sctpTransport2 = pc2.sctp;
assert_true(sctpTransport1 instanceof RTCSctpTransport,
'Expect pc.sctp to be set to valid RTCSctpTransport');
assert_true(sctpTransport2 instanceof RTCSctpTransport,
'Expect pc.sctp to be set to valid RTCSctpTransport');
const dtlsTransport1 = sctpTransport1.transport;
const dtlsTransport2 = sctpTransport2.transport;
const testedTransports = new Set();
// Callback function that test the respective DTLS transports
// when they become connected.
const onConnected = t.step_func(dtlsTransport => {
const certs = dtlsTransport.getRemoteCertificates();
assert_greater_than(certs.length, 0,
'Expect DTLS transport to have at least one remote certificate when connected');
for(const cert of certs) {
assert_true(cert instanceof ArrayBuffer,
'Expect certificate elements be instance of ArrayBuffer');
}
testedTransports.add(dtlsTransport);
// End the test if both dtlsTransports are tested.
if(testedTransports.has(dtlsTransport1) && testedTransports.has(dtlsTransport2)) {
t.done();
}
})
for(const dtlsTransport of [dtlsTransport1, dtlsTransport2]) {
if(dtlsTransport.state === 'connected') {
onConnected(dtlsTransport);
} else {
assert_array_equals(dtlsTransport.getCertificates(), [],
'Expect DTLS certificates be initially empty until become connected');
dtlsTransport.addEventListener('statechange', t.step_func(() => {
if(dtlsTransport.state === 'connected') {
onConnected(dtlsTransport);
}
}));
dtlsTransport.addEventListener('error', t.step_func(err => {
assert_unreached(`Unexpected error during DTLS handshake: ${err}`);
}));
}
}
}));
});
</script>
Computing file changes ...