diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2023-01-11 13:41:06 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2023-01-11 14:02:23 +0000 |
commit | 01e89433adf2d5575b2089716217299519a9ce15 (patch) | |
tree | 5615c6e52f2016c227e6d936cb5005ee6f15418a /chromium/content/browser/preloading/prerender/prerender_browsertest.cc | |
parent | 2b11b39a6627d8c71636227374dd8f8ea78c3e6a (diff) | |
download | qtwebengine-chromium-01e89433adf2d5575b2089716217299519a9ce15.tar.gz |
BASELINE: Update Chromium to 108.0.5359.181
Change-Id: Iae2b9d190e7789ad5556dbf4c59498e05ce6e5d2
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/453305
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'chromium/content/browser/preloading/prerender/prerender_browsertest.cc')
-rw-r--r-- | chromium/content/browser/preloading/prerender/prerender_browsertest.cc | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/chromium/content/browser/preloading/prerender/prerender_browsertest.cc b/chromium/content/browser/preloading/prerender/prerender_browsertest.cc index ab929fe151b..62984a89bb1 100644 --- a/chromium/content/browser/preloading/prerender/prerender_browsertest.cc +++ b/chromium/content/browser/preloading/prerender/prerender_browsertest.cc @@ -8698,4 +8698,45 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, ExpectFinalStatusForSpeculationRule(PrerenderHost::FinalStatus::kActivated); } +class UpdateTargetURLDelegate : public WebContentsDelegate { + public: + explicit UpdateTargetURLDelegate(WebContents* web_contents) { + web_contents->SetDelegate(this); + } + + UpdateTargetURLDelegate(const UpdateTargetURLDelegate&) = delete; + UpdateTargetURLDelegate& operator=(const UpdateTargetURLDelegate&) = delete; + + bool is_updated_target_url() { return is_updated_target_url_; } + + private: + void UpdateTargetURL(WebContents* source, const GURL& url) override { + is_updated_target_url_ = true; + } + + bool is_updated_target_url_ = false; +}; + +// Tests that text autosizer works per page. +IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, FocusChangeInPrerenderedPage) { + const GURL kInitialUrl = GetUrl("/empty.html"); + const GURL kPrerenderingUrl = GetUrl("/simple_links.html"); + + // Navigate to an initial page. + ASSERT_TRUE(NavigateToURL(shell(), kInitialUrl)); + + int host_id = AddPrerender(kPrerenderingUrl); + RenderFrameHostImpl* prerender_frame_host = + GetPrerenderedMainFrameHost(host_id); + + UpdateTargetURLDelegate delegate(shell()->web_contents()); + + // No crash. + EXPECT_TRUE(ExecJs(prerender_frame_host, + "document.getElementById('same_site_link').focus();")); + + // The prerendered page should not update the target url. + EXPECT_FALSE(delegate.is_updated_target_url()); +} + } // namespace content |