commit | 125a29e7472bde5781656cee767ccb21603d95cb | [log] [tgz] |
---|---|---|
author | danakj <danakj@chromium.org> | Thu Jan 24 23:25:29 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Jan 24 23:25:29 2019 |
tree | e729d6746afc23e18da4af8f6e3e3523481d04a2 | |
parent | a76d739a391bd98123fa0e20082b07e70904a740 [diff] |
Reland "Remove conditional use of LayerTreeView from RenderWidget." This is a reland of 2ae8e4805cf3528619e05806e836a78d2c740e0b We found that RenderWidget::DidNavigate can occur after OnClose() runs, so we should early out if |closing_| at that point. content::RenderWidget::DidNavigate() + 68 content::RenderFrameImpl::DidCommitProvisionalLoad(blink::WebHistoryItem const&, blink::WebHistoryCommitType, mojo::ScopedHandleBase<mojo::MessagePipeHandle>) + 301 blink::LocalFrameClientImpl::DispatchDidCommitLoad(blink::HistoryItem*, blink::WebHistoryCommitType, blink::WebGlobalObjectReusePolicy) + 265 blink::DocumentLoader::DidCommitNavigation(blink::WebGlobalObjectReusePolicy) + 268 blink::DocumentLoader::InstallNewDocument(blink::KURL const&, scoped_refptr<blink::SecurityOrigin const>, blink::Document*, blink::WebGlobalObjectReusePolicy, WTF::AtomicString const&, WTF::AtomicString const&, blink::DocumentLoader::InstallNewDocumentReason, blink::ParserSynchronizationPolicy, blink::KURL const&) + 691 blink::DocumentLoader::CommitNavigation(WTF::AtomicString const&, blink::KURL const&) + 446 blink::DocumentLoader::CommitData(char const*, unsigned long) + 70 blink::DocumentLoader::DataReceived(blink::Resource*, char const*, unsigned long) + 107 blink::Resource::NotifyDataReceived(char const*, unsigned long) + 118 blink::Resource::AppendData(char const*, unsigned long) + 70 blink::ResourceLoader::DidReceiveData(char const*, int) + 164 content::WebURLLoaderImpl::Context::OnReceivedData(std::__1::unique_ptr<content::RequestPeer::ReceivedData, std::__1::default_delete<content::RequestPeer::ReceivedData> >) + 87 content::WebURLLoaderImpl::RequestPeerImpl::OnReceivedData(std::__1::unique_ptr<content::RequestPeer::ReceivedData, std::__1::default_delete<content::RequestPeer::ReceivedData> >) + 42Original change's description: Also don't remove the MainThreadEventQueue client until the RenderWidget is destroyed to avoid dropping the mojo reply callback. > Remove conditional use of LayerTreeView from RenderWidget. > > The LayerTreeView is always present since we always composite > RenderWidgets now (for many years ^_^). > > However, the LayerTreeView *is* removed during shutdown. Most places > will not need to worry about this because OnClose() drops the IPC > channel and most uses of LayerTreeView are in response to other IPCs. > > However a few cases involve calls from Blink which could still be > active in between OnClose() and tearing down the RenderWidget+Blink, > so in these cases early out if |closing_| which represents better > conceptually what we're testing. > > TBR=avi@chromium.org > > Change-Id: Iff9133d9c69b327495f9290afcb471739124018b > Bug: 912193 > Reviewed-on: https://chromium-review.googlesource.com/c/1432132 > Reviewed-by: danakj <danakj@chromium.org> > Reviewed-by: Albert J. Wong <ajwong@chromium.org> > Commit-Queue: danakj <danakj@chromium.org> > Cr-Commit-Position: refs/heads/master@{#625473} Bug: 912193 Change-Id: I148c56da1aa682daa84ccdaef3f836514f744e01 Reviewed-on: https://chromium-review.googlesource.com/c/1434975 Commit-Queue: danakj <danakj@chromium.org> Reviewed-by: Avi Drissman <avi@chromium.org> Cr-Commit-Position: refs/heads/master@{#625865}
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 .