Post RenderWidget removal cleanup.
Now that the WebLocalFrame solely owns (and closes) the WebFrameWidgetImpl we can clear the pointer after closure as opposed to doing it via a callback. BUG=1097816 Change-Id: I605016b100189b9ccf7623989fbecbe860a6896a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2585827 Commit-Queue: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Cr-Commit-Position: refs/heads/master@{#835977}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
46bfd098af
commit
8fc5b956eb
third_party/blink/renderer/core/frame
@ -293,7 +293,6 @@ void WebFrameWidgetImpl::Close() {
|
||||
}
|
||||
|
||||
mutator_dispatcher_ = nullptr;
|
||||
local_root_->ClearFrameWidget();
|
||||
local_root_ = nullptr;
|
||||
widget_base_->Shutdown();
|
||||
widget_base_.reset();
|
||||
|
@ -706,8 +706,10 @@ WebRemoteFrame* WebLocalFrameImpl::ToWebRemoteFrame() {
|
||||
void WebLocalFrameImpl::Close() {
|
||||
WebLocalFrame::Close();
|
||||
|
||||
if (frame_widget_)
|
||||
if (frame_widget_) {
|
||||
frame_widget_->Close();
|
||||
frame_widget_ = nullptr;
|
||||
}
|
||||
|
||||
client_ = nullptr;
|
||||
|
||||
@ -2471,10 +2473,6 @@ void WebLocalFrameImpl::WillDetachParent() {
|
||||
}
|
||||
}
|
||||
|
||||
void WebLocalFrameImpl::ClearFrameWidget() {
|
||||
frame_widget_ = nullptr;
|
||||
}
|
||||
|
||||
void WebLocalFrameImpl::CreateFrameWidgetInternal(
|
||||
base::PassKey<WebLocalFrame> pass_key,
|
||||
CrossVariantMojoAssociatedRemote<mojom::blink::FrameWidgetHostInterfaceBase>
|
||||
|
@ -459,8 +459,6 @@ class CORE_EXPORT WebLocalFrameImpl final
|
||||
// Otherwise creates it and then returns.
|
||||
TextFinder& EnsureTextFinder();
|
||||
|
||||
void ClearFrameWidget();
|
||||
|
||||
// TODO(dcheng): Remove this and make |FrameWidget()| always return something
|
||||
// useful.
|
||||
WebFrameWidgetImpl* LocalRootFrameWidget();
|
||||
|
Reference in New Issue
Block a user