commit | 74d67b59eeb18b73f3ff7a2e6af3bcf6bf3008f2 | [log] [tgz] |
---|---|---|
author | Dmitry Gozman <dgozman@chromium.org> | Mon May 06 22:51:15 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Mon May 06 22:51:15 2019 |
tree | 5469d25aae3010a818230992026cac2c366b05e9 | |
parent | d34d5292fac3edd49e0ff834af1f8b660ed3ac6d [diff] |
Remove usage of GetProvisionalDocumentLoader in UserAgentOverride Currently, there is a single case where we actually reach for provisional document loader in UserAgentOverride, but it seems wrong since it accesses loader for the new Document, while trying to save user agent for the old Document being detached. The stack trace would be: content::RenderFrameImpl::UserAgentOverride() content::RenderFrameImpl::UserAgentOverride() blink::LocalFrameClientImpl::UserAgent() blink::FrameLoader::UserAgent() blink::FrameFetchContext::GetUserAgent() blink::FrameFetchContext::Detach() blink::ResourceFetcher::ClearContext() blink::Document::Shutdown() blink::FrameLoader::PrepareForCommit() blink::FrameLoader::CommitProvisionalLoad() blink::DocumentLoader::CommitNavigation() blink::DocumentLoader::StartLoadingInternal() blink::DocumentLoader::StartLoading() blink::FrameLoader::CommitNavigation() blink::WebLocalFrameImpl::CommitNavigation() content::RenderFrameImpl::CommitNavigationWithParams() In every other case, we should not have provisional document loader, since we commit load synchronously, and loader is in a provisional state for a short amount of time (only inside CommitNavigation). Bug: 855189 Change-Id: I4cbe2b30fbd2b3eee5f606e24681875898d0ffb1 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1589247 Commit-Queue: Dmitry Gozman <dgozman@chromium.org> Reviewed-by: Nasko Oskov <nasko@chromium.org> Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org> Cr-Commit-Position: refs/heads/master@{#657015}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .