summaryrefslogtreecommitdiffstats
path: root/content/browser/aura/software_output_device_win.cc
diff options
context:
space:
mode:
authorscottmg@chromium.org <scottmg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-25 08:04:34 +0000
committerscottmg@chromium.org <scottmg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-25 08:04:34 +0000
commiteeb00474bf75980a4078bf8877595b508a6a9a11 (patch)
tree7c912dc0f48feacfd51d26e1dd14d3861028dabf /content/browser/aura/software_output_device_win.cc
parentbc5c7f11a076b7398901a8a68f17432997ec498d (diff)
downloadchromium_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.cc3
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() {