Revision ac4966fa4dcda8e22ade19e03ed6690de7b9cece authored by Henrik Boström on 28 March 2018, 15:48:04 UTC, committed by Chromium WPT Sync on 28 March 2018, 15:48:04 UTC
This exposes RTCRtpSender.getStats() in JavaScript (behind flag) which implements the stats selection algorithm[1] for senders. [1] https://w3c.github.io/webrtc-pc/#dfn-stats-selection-algorithm Bug: 680172 Change-Id: I8117c87f475d1c78fa3301fc2d821f0c3a21281f Reviewed-on: https://chromium-review.googlesource.com/975306 Commit-Queue: Henrik Boström <hbos@chromium.org> Reviewed-by: Philip Jägenstedt <foolip@chromium.org> Reviewed-by: Harald Alvestrand <hta@chromium.org> Reviewed-by: Taylor Brandstetter <deadbeef@chromium.org> Cr-Commit-Position: refs/heads/master@{#546493}
1 parent f9c1a50
idbcursor-reused.htm
<!DOCTYPE html>
<title>IDBCursor is reused</title>
<link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal">
<meta rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-continue-void-any-key">
<meta rel=assert title="Otherwise this method runs the steps for asynchronously executing a request. However, the steps are slightly modified such that instead of creating a new IDBRequest, it reuses the request originally created when this cursor was created. The done flag on the request is set to false before the request is returned. The steps are run with the cursor's source as source and the steps for iterating a cursor as operation, using this cursor as cursor and the key parameter as key.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support.js"></script>
<script>
var db
var open_rq = createdb(async_test())
open_rq.onupgradeneeded = function(e) {
db = e.target.result
var os = db.createObjectStore("test")
os.add("data", "k")
os.add("data2", "k2")
}
open_rq.onsuccess = function(e) {
var cursor
var count = 0
var rq = db.transaction("test").objectStore("test").openCursor()
rq.onsuccess = this.step_func(function(e)
{
switch(count)
{
case 0:
cursor = e.target.result
assert_equals(cursor.value, "data", "prequisite cursor.value")
cursor.custom_cursor_value = 1
e.target.custom_request_value = 2
cursor.continue()
break
case 1:
assert_equals(cursor.value, "data2", "prequisite cursor.value")
assert_equals(cursor.custom_cursor_value, 1, "custom cursor value")
assert_equals(e.target.custom_request_value, 2, "custom request value")
cursor.advance(1)
break
case 2:
assert_false(!!e.target.result, "got cursor")
assert_equals(cursor.custom_cursor_value, 1, "custom cursor value")
assert_equals(e.target.custom_request_value, 2, "custom request value")
break
}
count++
})
rq.transaction.oncomplete = this.step_func(function() {
assert_equals(count, 3, "cursor callback runs")
assert_equals(rq.custom_request_value, 2, "variable placed on old IDBRequest")
assert_equals(cursor.custom_cursor_value, 1, "custom cursor value (transaction.complete)")
this.done()
})
}
</script>
<div id="log"></div>
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...