summaryrefslogtreecommitdiffstats
path: root/chrome/browser/fullscreen_aurax11.cc
diff options
context:
space:
mode:
authormukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-26 00:44:42 +0000
committermukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-26 00:44:42 +0000
commitfe00717aa4c23baaefdbdd2fefa71a24780ab705 (patch)
treebc9ab016b1782f42f3decbf56937a45cf27597e2 /chrome/browser/fullscreen_aurax11.cc
parent61ebd74e979d3be1daea3569e9e7411401afdf40 (diff)
downloadchromium_src-fe00717aa4c23baaefdbdd2fefa71a24780ab705.zip
chromium_src-fe00717aa4c23baaefdbdd2fefa71a24780ab705.tar.gz
chromium_src-fe00717aa4c23baaefdbdd2fefa71a24780ab705.tar.bz2
Implements fullscreen_aura.cc for Linux-Aura.
BUG=344630 R=erg@chromium.org Review URL: https://codereview.chromium.org/175573002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253308 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/fullscreen_aurax11.cc')
-rw-r--r--chrome/browser/fullscreen_aurax11.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/chrome/browser/fullscreen_aurax11.cc b/chrome/browser/fullscreen_aurax11.cc
new file mode 100644
index 0000000..b186c00
--- /dev/null
+++ b/chrome/browser/fullscreen_aurax11.cc
@@ -0,0 +1,25 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/fullscreen.h"
+
+#include <vector>
+
+#include "ui/gfx/native_widget_types.h"
+#include "ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h"
+#include "ui/views/widget/widget.h"
+
+bool IsFullScreenMode() {
+ std::vector<aura::Window*> all_windows =
+ views::DesktopWindowTreeHostX11::GetAllOpenWindows();
+ // Only the topmost window is checked. This works fine in the most cases, but
+ // it may return false when there are multiple displays and one display has
+ // a fullscreen window but others don't. See: crbug.com/345484
+ if (all_windows.empty())
+ return false;
+
+ views::Widget* widget =
+ views::Widget::GetWidgetForNativeWindow(all_windows[0]);
+ return widget && widget->IsFullscreen();
+}