| Index: chrome/browser/media/webrtc/webrtc_browsertest_base.cc
|
| diff --git a/chrome/browser/media/webrtc/webrtc_browsertest_base.cc b/chrome/browser/media/webrtc/webrtc_browsertest_base.cc
|
| index 107b49f612b8ff72ad093d6ca6a5dc834688434b..9419be89db13eaeadc29fc132ff99ec2ad4400f2 100644
|
| --- a/chrome/browser/media/webrtc/webrtc_browsertest_base.cc
|
| +++ b/chrome/browser/media/webrtc/webrtc_browsertest_base.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include <stddef.h>
|
|
|
| +#include "base/json/json_reader.h"
|
| #include "base/lazy_instance.h"
|
| #include "base/macros.h"
|
| #include "base/strings/string_util.h"
|
| @@ -120,6 +121,26 @@ class PermissionRequestObserver : public PermissionRequestManager::Observer {
|
| DISALLOW_COPY_AND_ASSIGN(PermissionRequestObserver);
|
| };
|
|
|
| +std::vector<std::string> JsonArrayToVectorOfStrings(
|
| + const std::string& json_array) {
|
| + std::unique_ptr<base::Value> value = base::JSONReader::Read(json_array);
|
| + EXPECT_TRUE(value);
|
| + EXPECT_TRUE(value->IsType(base::Value::TYPE_LIST));
|
| + std::unique_ptr<base::ListValue> list =
|
| + base::ListValue::From(std::move(value));
|
| + std::vector<std::string> vector;
|
| + vector.reserve(list->GetSize());
|
| + for (size_t i = 0; i < list->GetSize(); ++i) {
|
| + base::Value* item;
|
| + EXPECT_TRUE(list->Get(i, &item));
|
| + EXPECT_TRUE(item->IsType(base::Value::TYPE_STRING));
|
| + std::string item_str;
|
| + EXPECT_TRUE(item->GetAsString(&item_str));
|
| + vector.push_back(std::move(item_str));
|
| + }
|
| + return vector;
|
| +}
|
| +
|
| } // namespace
|
|
|
| WebRtcTestBase::WebRtcTestBase(): detect_errors_in_javascript_(false) {
|
| @@ -460,10 +481,17 @@ void WebRtcTestBase::VerifyStatsGeneratedCallback(
|
| EXPECT_EQ("ok-got-stats", ExecuteJavascript("verifyStatsGenerated()", tab));
|
| }
|
|
|
| -void WebRtcTestBase::VerifyStatsGeneratedPromise(
|
| +std::vector<std::string> WebRtcTestBase::VerifyStatsGeneratedPromise(
|
| + content::WebContents* tab) const {
|
| + std::string result = ExecuteJavascript("verifyStatsGeneratedPromise()", tab);
|
| + EXPECT_TRUE(base::StartsWith(result, "ok-", base::CompareCase::SENSITIVE));
|
| + return JsonArrayToVectorOfStrings(result.substr(3));
|
| +}
|
| +
|
| +std::vector<std::string> WebRtcTestBase::GetWhitelistedStatsTypes(
|
| content::WebContents* tab) const {
|
| - EXPECT_EQ("ok-got-stats",
|
| - ExecuteJavascript("verifyStatsGeneratedPromise()", tab));
|
| + return JsonArrayToVectorOfStrings(
|
| + ExecuteJavascript("getWhitelistedStatsTypes()", tab));
|
| }
|
|
|
| void WebRtcTestBase::SetDefaultVideoCodec(
|
|
|