| 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
|
|
|