| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/media/webrtc/webrtc_browsertest_base.h" | 5 #include "chrome/browser/media/webrtc/webrtc_browsertest_base.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <limits> |
| 10 |
| 9 #include "base/json/json_reader.h" | 11 #include "base/json/json_reader.h" |
| 10 #include "base/lazy_instance.h" | 12 #include "base/lazy_instance.h" |
| 11 #include "base/logging.h" | 13 #include "base/logging.h" |
| 12 #include "base/macros.h" | 14 #include "base/macros.h" |
| 15 #include "base/strings/string_number_conversions.h" |
| 13 #include "base/strings/string_util.h" | 16 #include "base/strings/string_util.h" |
| 14 #include "base/strings/stringprintf.h" | 17 #include "base/strings/stringprintf.h" |
| 15 #include "base/values.h" | 18 #include "base/values.h" |
| 16 #include "build/build_config.h" | 19 #include "build/build_config.h" |
| 17 #include "chrome/browser/media/webrtc/webrtc_browsertest_common.h" | 20 #include "chrome/browser/media/webrtc/webrtc_browsertest_common.h" |
| 18 #include "chrome/browser/permissions/permission_request_manager.h" | 21 #include "chrome/browser/permissions/permission_request_manager.h" |
| 19 #include "chrome/browser/ui/browser.h" | 22 #include "chrome/browser/ui/browser.h" |
| 20 #include "chrome/browser/ui/browser_tabstrip.h" | 23 #include "chrome/browser/ui/browser_tabstrip.h" |
| 21 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 24 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| 22 #include "chrome/test/base/ui_test_utils.h" | 25 #include "chrome/test/base/ui_test_utils.h" |
| (...skipping 467 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 490 EXPECT_EQ("ok-got-stats", ExecuteJavascript("verifyStatsGenerated()", tab)); | 493 EXPECT_EQ("ok-got-stats", ExecuteJavascript("verifyStatsGenerated()", tab)); |
| 491 } | 494 } |
| 492 | 495 |
| 493 std::vector<std::string> WebRtcTestBase::VerifyStatsGeneratedPromise( | 496 std::vector<std::string> WebRtcTestBase::VerifyStatsGeneratedPromise( |
| 494 content::WebContents* tab) const { | 497 content::WebContents* tab) const { |
| 495 std::string result = ExecuteJavascript("verifyStatsGeneratedPromise()", tab); | 498 std::string result = ExecuteJavascript("verifyStatsGeneratedPromise()", tab); |
| 496 EXPECT_TRUE(base::StartsWith(result, "ok-", base::CompareCase::SENSITIVE)); | 499 EXPECT_TRUE(base::StartsWith(result, "ok-", base::CompareCase::SENSITIVE)); |
| 497 return JsonArrayToVectorOfStrings(result.substr(3)); | 500 return JsonArrayToVectorOfStrings(result.substr(3)); |
| 498 } | 501 } |
| 499 | 502 |
| 503 double WebRtcTestBase::MeasureGetStatsCallbackPerformance( |
| 504 content::WebContents* tab) const { |
| 505 std::string result = ExecuteJavascript( |
| 506 "measureGetStatsCallbackPerformance()", tab); |
| 507 EXPECT_TRUE(base::StartsWith(result, "ok-", base::CompareCase::SENSITIVE)); |
| 508 double ms; |
| 509 if (!base::StringToDouble(result.substr(3), &ms)) |
| 510 return std::numeric_limits<double>::infinity(); |
| 511 return ms; |
| 512 } |
| 513 |
| 500 scoped_refptr<content::TestStatsReportDictionary> | 514 scoped_refptr<content::TestStatsReportDictionary> |
| 501 WebRtcTestBase::GetStatsReportDictionary(content::WebContents* tab) const { | 515 WebRtcTestBase::GetStatsReportDictionary(content::WebContents* tab) const { |
| 502 std::string result = ExecuteJavascript("getStatsReportDictionary()", tab); | 516 std::string result = ExecuteJavascript("getStatsReportDictionary()", tab); |
| 503 EXPECT_TRUE(base::StartsWith(result, "ok-", base::CompareCase::SENSITIVE)); | 517 EXPECT_TRUE(base::StartsWith(result, "ok-", base::CompareCase::SENSITIVE)); |
| 504 std::unique_ptr<base::Value> parsed_json = base::JSONReader::Read( | 518 std::unique_ptr<base::Value> parsed_json = base::JSONReader::Read( |
| 505 result.substr(3)); | 519 result.substr(3)); |
| 506 base::DictionaryValue* dictionary; | 520 base::DictionaryValue* dictionary; |
| 507 CHECK(parsed_json); | 521 CHECK(parsed_json); |
| 508 CHECK(parsed_json->GetAsDictionary(&dictionary)); | 522 CHECK(parsed_json->GetAsDictionary(&dictionary)); |
| 509 ignore_result(parsed_json.release()); | 523 ignore_result(parsed_json.release()); |
| 510 return scoped_refptr<content::TestStatsReportDictionary>( | 524 return scoped_refptr<content::TestStatsReportDictionary>( |
| 511 new content::TestStatsReportDictionary( | 525 new content::TestStatsReportDictionary( |
| 512 std::unique_ptr<base::DictionaryValue>(dictionary))); | 526 std::unique_ptr<base::DictionaryValue>(dictionary))); |
| 513 } | 527 } |
| 514 | 528 |
| 529 double WebRtcTestBase::MeasureGetStatsPerformance( |
| 530 content::WebContents* tab) const { |
| 531 std::string result = ExecuteJavascript("measureGetStatsPerformance()", tab); |
| 532 EXPECT_TRUE(base::StartsWith(result, "ok-", base::CompareCase::SENSITIVE)); |
| 533 double ms; |
| 534 if (!base::StringToDouble(result.substr(3), &ms)) |
| 535 return std::numeric_limits<double>::infinity(); |
| 536 return ms; |
| 537 } |
| 538 |
| 515 std::vector<std::string> WebRtcTestBase::GetWhitelistedStatsTypes( | 539 std::vector<std::string> WebRtcTestBase::GetWhitelistedStatsTypes( |
| 516 content::WebContents* tab) const { | 540 content::WebContents* tab) const { |
| 517 return JsonArrayToVectorOfStrings( | 541 return JsonArrayToVectorOfStrings( |
| 518 ExecuteJavascript("getWhitelistedStatsTypes()", tab)); | 542 ExecuteJavascript("getWhitelistedStatsTypes()", tab)); |
| 519 } | 543 } |
| 520 | 544 |
| 521 void WebRtcTestBase::SetDefaultAudioCodec( | 545 void WebRtcTestBase::SetDefaultAudioCodec( |
| 522 content::WebContents* tab, | 546 content::WebContents* tab, |
| 523 const std::string& audio_codec) const { | 547 const std::string& audio_codec) const { |
| 524 EXPECT_EQ("ok", ExecuteJavascript( | 548 EXPECT_EQ("ok", ExecuteJavascript( |
| 525 "setDefaultAudioCodec('" + audio_codec + "')", tab)); | 549 "setDefaultAudioCodec('" + audio_codec + "')", tab)); |
| 526 } | 550 } |
| 527 | 551 |
| 528 void WebRtcTestBase::SetDefaultVideoCodec( | 552 void WebRtcTestBase::SetDefaultVideoCodec( |
| 529 content::WebContents* tab, | 553 content::WebContents* tab, |
| 530 const std::string& video_codec) const { | 554 const std::string& video_codec) const { |
| 531 EXPECT_EQ("ok", ExecuteJavascript( | 555 EXPECT_EQ("ok", ExecuteJavascript( |
| 532 "setDefaultVideoCodec('" + video_codec + "')", tab)); | 556 "setDefaultVideoCodec('" + video_codec + "')", tab)); |
| 533 } | 557 } |
| 534 | 558 |
| 535 void WebRtcTestBase::EnableOpusDtx(content::WebContents* tab) const { | 559 void WebRtcTestBase::EnableOpusDtx(content::WebContents* tab) const { |
| 536 EXPECT_EQ("ok-forced", ExecuteJavascript("forceOpusDtx()", tab)); | 560 EXPECT_EQ("ok-forced", ExecuteJavascript("forceOpusDtx()", tab)); |
| 537 } | 561 } |
| OLD | NEW |