Commit d6264c0a authored by Eliot Courtney's avatar Eliot Courtney Committed by Commit Bot

Perform ScopedPause in ShellSurfaceBase::OnSurfaceCommit

This fixes the case where the occlusion is changed while we are updating all the
pending properties. This caused some wrong occlusion updates.

Bug: 140563748
Test: Spurious occlusion update no longer occurs when leaving PIP.
Change-Id: Ic9bdbf62c655285eb8fbe1c80d221ff95bbbd096
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1794526
Commit-Queue: Stefan Kuhne <skuhne@chromium.org>
Reviewed-by: default avatarMitsuru Oshima <oshima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#695323}
parent 5844e411
......@@ -36,6 +36,7 @@
#include "ui/aura/client/cursor_client.h"
#include "ui/aura/window.h"
#include "ui/aura/window_observer.h"
#include "ui/aura/window_occlusion_tracker.h"
#include "ui/aura/window_targeter.h"
#include "ui/aura/window_tree_host.h"
#include "ui/base/accelerators/accelerator.h"
......@@ -521,6 +522,9 @@ ShellSurfaceBase::AsTracedValue() const {
// SurfaceDelegate overrides:
void ShellSurfaceBase::OnSurfaceCommit() {
// Pause occlusion tracking since we will update a bunch of window properties.
aura::WindowOcclusionTracker::ScopedPause pause_occlusion;
// SetShadowBounds requires synchronizing shadow bounds with the next frame,
// so submit the next frame to a new surface and let the host window use the
// new surface.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment