diff options
author | jam <jam@chromium.org> | 2015-05-18 13:18:29 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-05-18 20:19:11 +0000 |
commit | 6345ee9d16605252a476a845cd40cb101dd5449d (patch) | |
tree | 49144f545831f972401d13b6829bdbaf7cd33f98 /cc/playback/clip_path_display_item.h | |
parent | 7b6128acec63c2ca021e314aeed1f77c5896f4c0 (diff) | |
download | chromium_src-6345ee9d16605252a476a845cd40cb101dd5449d.zip chromium_src-6345ee9d16605252a476a845cd40cb101dd5449d.tar.gz chromium_src-6345ee9d16605252a476a845cd40cb101dd5449d.tar.bz2 |
Ensure that NativeViewport destructs correctly on Linux.
First, PlatformEventSource is a singleton so it shouldn't be created by PlatformViewportX11. Once we have multiple windows, this will be very clear. Until then, we also have UAFs on destruction of PlatformViewportX11 because PlatformEventSource could be lower in the stack calling a PlatformViewportX11 method which cause both of these objects to be deleted.
Second, ensure that child windows of the PlatformViewport aren't used after the parent window is destructed, otherwise we get X errors. This is done by ensuring that NativeViewportImpl, which owns the PlatformViewport, destructs OnscreenContextProvider first. OnscreenContextProvider will in turn destroy all windows in the CommandBufferDriver that it created.
Lastly, make NativeViewportImpl destroy itself when its platform window is closed (i.e. because the user closed the window). The old implementation in that method didn't do anything.
This is split off https://codereview.chromium.org/1139673003
BUG=484234
Review URL: https://codereview.chromium.org/1130353008
Cr-Commit-Position: refs/heads/master@{#330394}
Diffstat (limited to 'cc/playback/clip_path_display_item.h')
0 files changed, 0 insertions, 0 deletions