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

Unified Diff: extensions/browser/api/audio/audio_apitest.cc

Issue 2688773002: Restrict deprecated parts of audio API usage to whitelisted apps (Closed)
Patch Set: . Created 3 years, 10 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 | « extensions/browser/api/audio/audio_api.cc ('k') | extensions/browser/api/audio/audio_service_chromeos.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/browser/api/audio/audio_apitest.cc
diff --git a/extensions/browser/api/audio/audio_apitest.cc b/extensions/browser/api/audio/audio_apitest.cc
index 4d3007e28c2cd52666cd8238744b860bff98882f..740421ab92d84195c8f700bcc6e68989ed2a39d8 100644
--- a/extensions/browser/api/audio/audio_apitest.cc
+++ b/extensions/browser/api/audio/audio_apitest.cc
@@ -5,9 +5,15 @@
#include <stddef.h>
#include <stdint.h>
+#include <memory>
+
+#include "base/auto_reset.h"
+#include "base/command_line.h"
#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
#include "build/build_config.h"
+#include "extensions/common/features/feature_session_type.h"
+#include "extensions/common/switches.h"
#include "extensions/shell/test/shell_apitest.h"
#include "extensions/test/extension_test_message_listener.h"
#include "extensions/test/result_catcher.h"
@@ -87,6 +93,13 @@ class AudioApiTest : public ShellApiTest {
AudioApiTest() : cras_audio_handler_(NULL), fake_cras_audio_client_(NULL) {}
~AudioApiTest() override {}
+ void SetUp() override {
+ session_feature_type_ = extensions::ScopedCurrentFeatureSessionType(
+ extensions::FeatureSessionType::KIOSK);
+
+ ShellApiTest::SetUp();
+ }
+
void SetUpCrasAudioHandlerWithTestingNodes(const AudioNodeList& audio_nodes) {
chromeos::DBusThreadManager* dbus_manager =
chromeos::DBusThreadManager::Get();
@@ -109,6 +122,8 @@ class AudioApiTest : public ShellApiTest {
protected:
base::MessageLoopForUI message_loop_;
+ std::unique_ptr<base::AutoReset<extensions::FeatureSessionType>>
+ session_feature_type_;
chromeos::CrasAudioHandler* cras_audio_handler_; // Not owned.
chromeos::FakeCrasAudioClient* fake_cras_audio_client_; // Not owned.
};
@@ -269,6 +284,30 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedRemoveNodes) {
EXPECT_TRUE(result_catcher.GetNextResult()) << result_catcher.message();
}
+class WhitelistedAudioApiTest : public AudioApiTest {
+ public:
+ WhitelistedAudioApiTest() {}
+ ~WhitelistedAudioApiTest() override = default;
+
+ void SetUpCommandLine(base::CommandLine* command_line) override {
+ command_line->AppendSwitchASCII(
+ extensions::switches::kWhitelistedExtensionID,
+ "jlgnoeceollaejlkenecblnjmdcfhfgc");
+ }
+};
+
+IN_PROC_BROWSER_TEST_F(WhitelistedAudioApiTest, DeprecatedApi) {
+ // Set up the audio nodes for testing.
+ AudioNodeList audio_nodes = {
+ CreateAudioNode(kJabraSpeaker1, 2), CreateAudioNode(kJabraSpeaker2, 2),
+ CreateAudioNode(kHDMIOutput, 2), CreateAudioNode(kJabraMic1, 2),
+ CreateAudioNode(kJabraMic2, 2), CreateAudioNode(kUSBCameraMic, 2)};
+
+ SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
+
+ EXPECT_TRUE(RunAppTest("api_test/audio/deprecated_api")) << message_;
+}
+
#endif // OS_CHROMEOS
} // namespace extensions
« no previous file with comments | « extensions/browser/api/audio/audio_api.cc ('k') | extensions/browser/api/audio/audio_service_chromeos.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698