diff options
author | scottmg@chromium.org <scottmg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-25 08:04:34 +0000 |
---|---|---|
committer | scottmg@chromium.org <scottmg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-25 08:04:34 +0000 |
commit | eeb00474bf75980a4078bf8877595b508a6a9a11 (patch) | |
tree | 7c912dc0f48feacfd51d26e1dd14d3861028dabf /content/browser/aura/software_output_device_win.cc | |
parent | bc5c7f11a076b7398901a8a68f17432997ec498d (diff) | |
download | chromium_src-eeb00474bf75980a4078bf8877595b508a6a9a11.zip chromium_src-eeb00474bf75980a4078bf8877595b508a6a9a11.tar.gz chromium_src-eeb00474bf75980a4078bf8877595b508a6a9a11.tar.bz2 |
Make TRANSPARENT windows be layered windows on win aura
This builds on jbauman's patch to plumb use_software_compositor
from here: https://codereview.chromium.org/23621054/
The motivation here is that we currently have very different
event, focus, activation paths on DWM vs. classic because of the
differences between when we use top-level windows and when we
don't. With this change, all translucent (i.e. shaped) windows
are converted to being top level (always), and are rendered by
the software compositor and are converted to layered windows for
rendering.
BUG=293218 and many other focus/activation bugs
Review URL: https://codereview.chromium.org/26888006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230981 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/aura/software_output_device_win.cc')
-rw-r--r-- | content/browser/aura/software_output_device_win.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/content/browser/aura/software_output_device_win.cc b/content/browser/aura/software_output_device_win.cc index f8d6d9b..20672c9 100644 --- a/content/browser/aura/software_output_device_win.cc +++ b/content/browser/aura/software_output_device_win.cc @@ -22,7 +22,8 @@ SoftwareOutputDeviceWin::SoftwareOutputDeviceWin(ui::Compositor* compositor) DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); LONG style = GetWindowLong(hwnd_, GWL_EXSTYLE); - is_hwnd_composited_ = !!(style & WS_EX_COMPOSITED); + is_hwnd_composited_ = + !!(style & WS_EX_COMPOSITED) || !!(style & WS_EX_LAYERED); } SoftwareOutputDeviceWin::~SoftwareOutputDeviceWin() { |