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

Unified Diff: chrome/browser/extensions/api/page_capture/page_capture_apitest.cc

Issue 2552203007: Public Sessions - prompt the user for pageCapture requests (Closed)
Patch Set: Devlin's comments 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/page_capture/page_capture_apitest.cc
diff --git a/chrome/browser/extensions/api/page_capture/page_capture_apitest.cc b/chrome/browser/extensions/api/page_capture/page_capture_apitest.cc
index 556e4be15b6086ad54e4023b671ff71906b8381a..294b13478ab1347bc17830ad242f7ef4b01ae589 100644
--- a/chrome/browser/extensions/api/page_capture/page_capture_apitest.cc
+++ b/chrome/browser/extensions/api/page_capture/page_capture_apitest.cc
@@ -7,11 +7,14 @@
#include "chrome/browser/extensions/api/page_capture/page_capture_api.h"
#include "chrome/browser/extensions/extension_apitest.h"
#include "chrome/common/chrome_switches.h"
+#include "chromeos/login/login_state.h"
#include "content/public/common/content_switches.h"
#include "content/public/test/test_utils.h"
+#include "extensions/browser/extension_dialog_auto_confirm.h"
#include "net/dns/mock_host_resolver.h"
using extensions::PageCaptureSaveAsMHTMLFunction;
+using extensions::ScopedTestDialogAutoConfirm;
class ExtensionPageCaptureApiTest : public ExtensionApiTest {
public:
@@ -50,3 +53,37 @@ IN_PROC_BROWSER_TEST_F(ExtensionPageCaptureApiTest, SaveAsMHTML) {
content::RunAllPendingInMessageLoop(content::BrowserThread::IO);
ASSERT_FALSE(base::PathExists(delegate.temp_file_));
}
+
+#if defined(OS_CHROMEOS)
+IN_PROC_BROWSER_TEST_F(ExtensionPageCaptureApiTest,
+ PublicSessionRequestAllowed) {
+ host_resolver()->AddRule("www.a.com", "127.0.0.1");
+ ASSERT_TRUE(StartEmbeddedTestServer());
+ PageCaptureSaveAsMHTMLDelegate delegate;
+ // Set Public Session state.
+ chromeos::LoginState::Get()->SetLoggedInState(
+ chromeos::LoginState::LOGGED_IN_ACTIVE,
+ chromeos::LoginState::LOGGED_IN_USER_PUBLIC_ACCOUNT);
+ // Resolve Permission dialog with Allow.
+ ScopedTestDialogAutoConfirm auto_confirm(ScopedTestDialogAutoConfirm::ACCEPT);
+ ASSERT_TRUE(RunExtensionTest("page_capture")) << message_;
+ ASSERT_FALSE(delegate.temp_file_.empty());
Devlin 2017/01/09 18:05:07 Might be worth commenting why expect !empty() here
Ivan Šandrk 2017/01/09 18:33:51 Added comments to the original test.
+ content::RunAllPendingInMessageLoop(content::BrowserThread::FILE);
+ content::RunAllPendingInMessageLoop(content::BrowserThread::IO);
+ ASSERT_FALSE(base::PathExists(delegate.temp_file_));
+}
+
+IN_PROC_BROWSER_TEST_F(ExtensionPageCaptureApiTest,
+ PublicSessionRequestDenied) {
+ host_resolver()->AddRule("www.a.com", "127.0.0.1");
+ ASSERT_TRUE(StartEmbeddedTestServer());
+ // Set Public Session state.
+ chromeos::LoginState::Get()->SetLoggedInState(
+ chromeos::LoginState::LOGGED_IN_ACTIVE,
+ chromeos::LoginState::LOGGED_IN_USER_PUBLIC_ACCOUNT);
+ // Resolve Permission dialog with Deny.
+ ScopedTestDialogAutoConfirm auto_confirm(ScopedTestDialogAutoConfirm::CANCEL);
+ ASSERT_TRUE(RunExtensionTestWithArg("page_capture", "REQUEST_DENIED"))
+ << message_;
+}
+#endif // defined(OS_CHROMEOS)

Powered by Google App Engine
This is Rietveld 408576698