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

Unified Diff: chrome/browser/media/webrtc_browsertest_base.cc

Issue 1276373004: Revert of Switch media stream permissions to use IsOriginSecure() instead of SchemeIsSecure(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/media/webrtc_browsertest_base.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/media/webrtc_browsertest_base.cc
diff --git a/chrome/browser/media/webrtc_browsertest_base.cc b/chrome/browser/media/webrtc_browsertest_base.cc
index 52b55dcd502d63930f828d9cddf85ecf17cba45a..52707ebe04de4348f6dd4b840977ad461d69447b 100644
--- a/chrome/browser/media/webrtc_browsertest_base.cc
+++ b/chrome/browser/media/webrtc_browsertest_base.cc
@@ -78,41 +78,6 @@
return false;
}
-// PermissionRequestObserver ---------------------------------------------------
-
-// Used to observe the creation of permission prompt without responding.
-class PermissionRequestObserver : public PermissionBubbleManager::Observer {
- public:
- explicit PermissionRequestObserver(content::WebContents* web_contents)
- : bubble_manager_(PermissionBubbleManager::FromWebContents(web_contents)),
- request_shown_(false),
- message_loop_runner_(new content::MessageLoopRunner) {
- bubble_manager_->AddObserver(this);
- }
- ~PermissionRequestObserver() override {
- // Safe to remove twice if it happens.
- bubble_manager_->RemoveObserver(this);
- }
-
- void Wait() { message_loop_runner_->Run(); }
-
- bool request_shown() { return request_shown_; }
-
- private:
- // PermissionBubbleManager::Observer
- void OnBubbleAdded() override {
- request_shown_ = true;
- bubble_manager_->RemoveObserver(this);
- message_loop_runner_->Quit();
- }
-
- PermissionBubbleManager* bubble_manager_;
- bool request_shown_;
- scoped_refptr<content::MessageLoopRunner> message_loop_runner_;
-
- DISALLOW_COPY_AND_ASSIGN(PermissionRequestObserver);
-};
-
} // namespace
WebRtcTestBase::WebRtcTestBase(): detect_errors_in_javascript_(false) {
@@ -144,9 +109,7 @@
std::string result;
PermissionBubbleManager::FromWebContents(tab_contents)
->set_auto_response_for_test(PermissionBubbleManager::ACCEPT_ALL);
- PermissionRequestObserver permissionRequestObserver(tab_contents);
GetUserMedia(tab_contents, constraints);
- EXPECT_TRUE(permissionRequestObserver.request_shown());
EXPECT_TRUE(content::ExecuteScriptAndExtractString(
tab_contents->GetMainFrame(), "obtainGetUserMediaResult();", &result));
return kOkGotStream == result;
@@ -163,9 +126,7 @@
std::string result;
PermissionBubbleManager::FromWebContents(tab_contents)
->set_auto_response_for_test(PermissionBubbleManager::DENY_ALL);
- PermissionRequestObserver permissionRequestObserver(tab_contents);
GetUserMedia(tab_contents, constraints);
- EXPECT_TRUE(permissionRequestObserver.request_shown());
EXPECT_TRUE(content::ExecuteScriptAndExtractString(
tab_contents->GetMainFrame(), "obtainGetUserMediaResult();", &result));
EXPECT_EQ(kFailedWithPermissionDeniedError, result);
@@ -176,55 +137,11 @@
std::string result;
PermissionBubbleManager::FromWebContents(tab_contents)
->set_auto_response_for_test(PermissionBubbleManager::DISMISS);
- PermissionRequestObserver permissionRequestObserver(tab_contents);
GetUserMedia(tab_contents, kAudioVideoCallConstraints);
- EXPECT_TRUE(permissionRequestObserver.request_shown());
// A dismiss should be treated like a deny.
EXPECT_TRUE(content::ExecuteScriptAndExtractString(
tab_contents->GetMainFrame(), "obtainGetUserMediaResult();", &result));
EXPECT_EQ(kFailedWithPermissionDismissedError, result);
-}
-
-void WebRtcTestBase::GetUserMediaAndExpectAutoAcceptWithoutPrompt(
- content::WebContents* tab_contents) const {
- std::string result;
- // We issue a GetUserMedia() request. We expect that the origin already has a
- // sticky "accept" permission (e.g. because the caller previously called
- // GetUserMediaAndAccept()), and therefore the GetUserMedia() request
- // automatically succeeds without a prompt.
- // If the caller made a mistake, a prompt may show up instead. For this case,
- // we set an auto-response to avoid leaving the prompt hanging. The choice of
- // DENY_ALL makes sure that the response to the prompt doesn't accidentally
- // result in a newly granted media stream permission.
- PermissionBubbleManager::FromWebContents(tab_contents)
- ->set_auto_response_for_test(PermissionBubbleManager::DENY_ALL);
- PermissionRequestObserver permissionRequestObserver(tab_contents);
- GetUserMedia(tab_contents, kAudioVideoCallConstraints);
- EXPECT_FALSE(permissionRequestObserver.request_shown());
- EXPECT_TRUE(content::ExecuteScriptAndExtractString(
- tab_contents->GetMainFrame(), "obtainGetUserMediaResult();", &result));
- EXPECT_EQ(kOkGotStream, result);
-}
-
-void WebRtcTestBase::GetUserMediaAndExpectAutoDenyWithoutPrompt(
- content::WebContents* tab_contents) const {
- std::string result;
- // We issue a GetUserMedia() request. We expect that the origin already has a
- // sticky "deny" permission (e.g. because the caller previously called
- // GetUserMediaAndDeny()), and therefore the GetUserMedia() request
- // automatically succeeds without a prompt.
- // If the caller made a mistake, a prompt may show up instead. For this case,
- // we set an auto-response to avoid leaving the prompt hanging. The choice of
- // ACCEPT_ALL makes sure that the response to the prompt doesn't accidentally
- // result in a newly granted media stream permission.
- PermissionBubbleManager::FromWebContents(tab_contents)
- ->set_auto_response_for_test(PermissionBubbleManager::ACCEPT_ALL);
- PermissionRequestObserver permissionRequestObserver(tab_contents);
- GetUserMedia(tab_contents, kAudioVideoCallConstraints);
- EXPECT_FALSE(permissionRequestObserver.request_shown());
- EXPECT_TRUE(content::ExecuteScriptAndExtractString(
- tab_contents->GetMainFrame(), "obtainGetUserMediaResult();", &result));
- EXPECT_EQ(kFailedWithPermissionDeniedError, result);
}
void WebRtcTestBase::GetUserMedia(content::WebContents* tab_contents,
@@ -251,15 +168,8 @@
ui_test_utils::NavigateToURL(browser(), url);
content::WebContents* new_tab =
browser()->tab_strip_model()->GetActiveWebContents();
- // Accept if necessary, but don't expect a prompt (because auto-accept is also
- // okay).
- PermissionBubbleManager::FromWebContents(new_tab)
- ->set_auto_response_for_test(PermissionBubbleManager::ACCEPT_ALL);
- GetUserMedia(new_tab, constraints);
- std::string result;
- EXPECT_TRUE(content::ExecuteScriptAndExtractString(
- new_tab->GetMainFrame(), "obtainGetUserMediaResult();", &result));
- EXPECT_EQ(kOkGotStream, result);
+ EXPECT_TRUE(GetUserMediaWithSpecificConstraintsAndAccept(
+ new_tab, constraints));
return new_tab;
}
« no previous file with comments | « chrome/browser/media/webrtc_browsertest_base.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698