Commit efd7d333 authored by Kouhei Ueno's avatar Kouhei Ueno Committed by Commit Bot

BFCache: Add a browser_test for WebMIDI

Bug: 981740
Change-Id: I40605b9b6b343a3e0b4a12fe3b0e5e0b6f992390
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1903182
Commit-Queue: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: default avatarAlexander Timin <altimin@chromium.org>
Reviewed-by: default avatarArthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: default avatarFergal Daly <fergal@chromium.org>
Reviewed-by: default avatarTakashi Toyoshima <toyoshim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#713734}
parent f82df847
......@@ -3742,4 +3742,34 @@ IN_PROC_BROWSER_TEST_F(SensorBackForwardCacheBrowserTest,
FROM_HERE);
}
IN_PROC_BROWSER_TEST_F(BackForwardCacheBrowserTest, WebMidiNotCached) {
ASSERT_TRUE(embedded_test_server()->Start());
GURL url_a(embedded_test_server()->GetURL("/title1.html"));
GURL url_b(embedded_test_server()->GetURL("b.com", "/title1.html"));
// 1) Navigate to A.
ASSERT_TRUE(NavigateToURL(shell(), url_a));
RenderFrameHostImpl* rfh_a = current_frame_host();
RenderFrameDeletedObserver delete_observer_rfh_a(rfh_a);
// - Wait until requestMIDIAccess() promise is resolved.
EXPECT_TRUE(ExecJs(rfh_a, "navigator.requestMIDIAccess()"));
// 2) Navigate to B.
ASSERT_TRUE(NavigateToURL(shell(), url_b));
// - Page A should not be in the cache.
EXPECT_TRUE(delete_observer_rfh_a.deleted());
// 3) Go back.
web_contents()->GetController().GoBack();
EXPECT_TRUE(WaitForLoadStop(shell()->web_contents()));
ExpectNotRestored(
{BackForwardCacheMetrics::NotRestoredReason::kBlocklistedFeatures},
FROM_HERE);
ExpectBlocklistedFeature(
blink::scheduler::WebSchedulerTrackedFeature::kRequestedMIDIPermission,
FROM_HERE);
}
} // namespace content
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment