Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(463)

Side by Side Diff: chrome/browser/media/webrtc/webrtc_browsertest_base.cc

Issue 2641263003: Performance measures of old and new RTCPeerConnection.getStats added. (Closed)
Patch Set: Avoiding win uninitialized variable warning Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698