Skip to content

Commit 68da9a7

Browse files
Wezmibrunin
authored andcommitted
[Backport] Security bug 1192552
Manual backport of patch originally reviewed on https://chromium-review.googlesource.com/c/chromium/src/+/2826321: [views] Handle window deletion during HandleDisplayChange. In principle there is no reason why the HWNDMessageHandler shouldn't be deleted by a HandleDisplayChange() call out to the delegate, e.g. if the change results in a change in window layout. (cherry picked from commit 299155e5e37a77670b7969771e09e9a16b1f5612) Bug: 1192552 Change-Id: I9fca35ff32e7037c6492f4cee7069e272059b920 Auto-Submit: Wez <[email protected]> Commit-Queue: Scott Violet <[email protected]> Reviewed-by: Scott Violet <[email protected]> Cr-Original-Commit-Position: refs/heads/master@{#869603} Cr-Commit-Position: refs/branch-heads/4430@{#1291} Cr-Branched-From: e5ce7dc4f7518237b3d9bb93cccca35d25216cbe-refs/heads/master@{#857950} Reviewed-by: Allan Sandfeld Jensen <[email protected]>
1 parent fd48fe2 commit 68da9a7

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

chromium/ui/views/win/hwnd_message_handler.cc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1617,7 +1617,13 @@ void HWNDMessageHandler::OnDestroy() {
16171617

16181618
void HWNDMessageHandler::OnDisplayChange(UINT bits_per_pixel,
16191619
const gfx::Size& screen_size) {
1620+
base::WeakPtr<HWNDMessageHandler> ref(msg_handler_weak_factory_.GetWeakPtr());
16201621
delegate_->HandleDisplayChange();
1622+
1623+
// HandleDisplayChange() may result in |this| being deleted.
1624+
if (!ref)
1625+
return;
1626+
16211627
// Force a WM_NCCALCSIZE to occur to ensure that we handle auto hide
16221628
// taskbars correctly.
16231629
SendFrameChanged();

0 commit comments

Comments
 (0)