Chromium Code Reviews| 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( |
|
phoglund_chromium
2016/11/10 09:01:39
Ok, I think this ended up being a wash (I hoped yo
hbos_chromium
2016/11/10 09:29:20
:)
|
| + 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( |