Name enumerator function for GetStats RTCStatsElement
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 22 Nov 2012 10:59:51 +0000 (10:59 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 22 Nov 2012 10:59:51 +0000 (10:59 +0000)
https://bugs.webkit.org/show_bug.cgi?id=102933

Patch by Harald Alvestrand <hta@google.com> on 2012-11-22
Reviewed by Adam Barth.

Source/WebCore:

Tested by extensions to the RTCPeerConnection-stats test.

* Modules/mediastream/RTCStatsElement.cpp:
(WebCore::RTCStatsElement::names):
(WebCore):
* Modules/mediastream/RTCStatsElement.h:
(RTCStatsElement):
* Modules/mediastream/RTCStatsElement.idl:

LayoutTests:

* fast/mediastream/RTCPeerConnection-stats-expected.txt:
* fast/mediastream/RTCPeerConnection-stats.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@135500 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/fast/mediastream/RTCPeerConnection-stats-expected.txt
LayoutTests/fast/mediastream/RTCPeerConnection-stats.html
Source/WebCore/ChangeLog
Source/WebCore/Modules/mediastream/RTCStatsElement.cpp
Source/WebCore/Modules/mediastream/RTCStatsElement.h
Source/WebCore/Modules/mediastream/RTCStatsElement.idl

index de1a391..8f96519 100644 (file)
@@ -1,3 +1,13 @@
+2012-11-22  Harald Alvestrand  <hta@google.com>
+
+        Name enumerator function for GetStats RTCStatsElement
+        https://bugs.webkit.org/show_bug.cgi?id=102933
+
+        Reviewed by Adam Barth.
+
+        * fast/mediastream/RTCPeerConnection-stats-expected.txt:
+        * fast/mediastream/RTCPeerConnection-stats.html:
+
 2012-11-22  Krist√≥f Koszty√≥  <kkristof@inf.u-szeged.hu>
 
         [Qt] Unreviewed gardening
index 899bbd8..a6d7522 100644 (file)
@@ -14,6 +14,8 @@ PASS pc.getStats(statsHandler2) did not throw exception.
 PASS statsHandler2 was called
 PASS result.length is >= 2
 PASS timestamp is >= startTime
+PASS local.names().length is >= 1
+PASS local.names().indexOf("type") is >= 0
 PASS local.stat("type") is "audio"
 PASS successfullyParsed is true
 
index d25ffa4..29d5814 100644 (file)
@@ -1,3 +1,4 @@
+
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
 <html>
 <head>
@@ -51,6 +52,8 @@ function statsHandler2(status)
     local = result[0].local;
     timestamp = local.timestamp;
     shouldBeGreaterThanOrEqual('timestamp', 'startTime');
+    shouldBeGreaterThanOrEqual('local.names().length', '1');
+    shouldBeGreaterThanOrEqual('local.names().indexOf("type")', '0');
     shouldBe('local.stat("type")', '"audio"');
     finishJSTest();
 }
index 777d070..52d9eda 100644 (file)
@@ -1,3 +1,19 @@
+2012-11-22  Harald Alvestrand  <hta@google.com>
+
+        Name enumerator function for GetStats RTCStatsElement
+        https://bugs.webkit.org/show_bug.cgi?id=102933
+
+        Reviewed by Adam Barth.
+
+        Tested by extensions to the RTCPeerConnection-stats test.
+
+        * Modules/mediastream/RTCStatsElement.cpp:
+        (WebCore::RTCStatsElement::names):
+        (WebCore):
+        * Modules/mediastream/RTCStatsElement.h:
+        (RTCStatsElement):
+        * Modules/mediastream/RTCStatsElement.idl:
+
 2012-11-22  Kentaro Hara  <haraken@chromium.org>
 
         Rename the "eden" bit to something more descriptive
index 9d51e54..6241673 100644 (file)
@@ -47,6 +47,16 @@ String RTCStatsElement::stat(const String& name) const
     return m_stats.get(name);
 }
 
+Vector<String> RTCStatsElement::names() const
+{
+    Vector<String> result;
+    for (HashMap<String, String>::const_iterator it = m_stats.begin();
+        it != m_stats.end(); ++it) {
+        result.append(it->key);
+    }
+    return result;
+}
+
 void RTCStatsElement::addStatistic(const String& name, const String& value)
 {
     m_stats.add(name, value);
index 0afab5f..22d4acf 100644 (file)
@@ -37,6 +37,7 @@ public:
     static PassRefPtr<RTCStatsElement> create(double timestamp);
     double timestamp() const { return m_timestamp; }
     String stat(const String& name) const;
+    Vector<String> names() const;
     void addStatistic(const String& name, const String& value);
 
 private:
index aa4e79f..6a830de 100644 (file)
@@ -27,4 +27,5 @@
 ] interface RTCStatsElement {
     readonly attribute Date timestamp;
     DOMString stat(in DOMString name);
+    sequence<String> names();
 };