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

Unified Diff: chrome/browser/extensions/api/tab_capture/tab_capture_apitest.cc

Issue 17298002: Allow tabCapture API to be granted for chrome:// pages. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix tests.. how did it even work before? Created 7 years, 3 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/tab_capture/tab_capture_apitest.cc
diff --git a/chrome/browser/extensions/api/tab_capture/tab_capture_apitest.cc b/chrome/browser/extensions/api/tab_capture/tab_capture_apitest.cc
index c8bb5cb846996d71e1a2f3b9874a97b00a88bb7e..0a3633f6cb50e2b6f4a827ae6c1bb20ff326eb35 100644
--- a/chrome/browser/extensions/api/tab_capture/tab_capture_apitest.cc
+++ b/chrome/browser/extensions/api/tab_capture/tab_capture_apitest.cc
@@ -256,4 +256,29 @@ IN_PROC_BROWSER_TEST_F(TabCaptureApiTest, MAYBE_FullscreenEvents) {
EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
}
+// Make sure tabCapture API can be granted for Chrome:// pages.
+IN_PROC_BROWSER_TEST_F(TabCaptureApiTest, GrantForChromePages) {
+ ExtensionTestMessageListener before_open_tab("ready1", true);
+ ASSERT_TRUE(RunExtensionSubtest("tab_capture/experimental",
+ "active_tab_chrome_pages.html")) << message_;
+ EXPECT_TRUE(before_open_tab.WaitUntilSatisfied());
+
+ // Open a tab on a chrome:// page and make sure we can capture.
+ content::OpenURLParams params(GURL("chrome://version"), content::Referrer(),
+ NEW_FOREGROUND_TAB,
+ content::PAGE_TRANSITION_LINK, false);
+ content::WebContents* web_contents = browser()->OpenURL(params);
+ ExtensionService* extension_service =
+ Profile::FromBrowserContext(web_contents->GetBrowserContext())
+ ->GetExtensionService();
+ extensions::TabHelper::FromWebContents(web_contents)
+ ->active_tab_permission_granter()->GrantIfRequested(
+ extension_service->GetExtensionById(kExtensionId, false));
+ before_open_tab.Reply("");
+
+ ResultCatcher catcher;
+ catcher.RestrictToProfile(browser()->profile());
+ EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
+}
+
} // namespace chrome

Powered by Google App Engine
This is Rietveld 408576698