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

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: Created 7 years, 6 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 80eb98d03f68f5060baa4fe7c1eae6cb5ac861b0..1fb1f975a1ede071342821627034934588ee1a16 100644
--- a/chrome/browser/extensions/api/tab_capture/tab_capture_apitest.cc
+++ b/chrome/browser/extensions/api/tab_capture/tab_capture_apitest.cc
@@ -163,4 +163,29 @@ IN_PROC_BROWSER_TEST_F(TabCaptureApiTest, MAYBE_ActiveTabPermission) {
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