summaryrefslogtreecommitdiffstats
path: root/ui/base
diff options
context:
space:
mode:
authormukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-11 22:54:00 +0000
committermukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-11 22:54:00 +0000
commit9eada9010083d4eddbe43d04dd64e26bc2ea5bc5 (patch)
tree068b284912fbd7360043fe465c1898be254960a8 /ui/base
parent6aceb50b3f213cce921e06de64c74f5c63193d91 (diff)
downloadchromium_src-9eada9010083d4eddbe43d04dd64e26bc2ea5bc5.zip
chromium_src-9eada9010083d4eddbe43d04dd64e26bc2ea5bc5.tar.gz
chromium_src-9eada9010083d4eddbe43d04dd64e26bc2ea5bc5.tar.bz2
Add "Display" item in the uber tray.
Previously I submitted a CL for this, but it was reverted due to build break of win_aura. To prevent the error again, I splitted it into two, and this is the second CL to add the actual UI. BUG=141394 TBR=sky@chromium.org, oshima@chromium.org, jennyz@chromium.org, sadrul@chromium.org Review URL: https://chromiumcodereview.appspot.com/10918180 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156156 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/base')
-rw-r--r--ui/base/x/x11_util.cc14
-rw-r--r--ui/base/x/x11_util.h7
2 files changed, 18 insertions, 3 deletions
diff --git a/ui/base/x/x11_util.cc b/ui/base/x/x11_util.cc
index 05f50ec..5b073b8 100644
--- a/ui/base/x/x11_util.cc
+++ b/ui/base/x/x11_util.cc
@@ -1189,13 +1189,23 @@ bool GetOutputDeviceData(XID output,
return true;
}
-std::vector<std::string> GetOutputNames(std::vector<XID> output_ids) {
+std::vector<std::string> GetDisplayNames(const std::vector<XID>& output_ids) {
+ std::vector<std::string> names;
+ for (size_t i = 0; i < output_ids.size(); ++i) {
+ std::string display_name;
+ if (GetOutputDeviceData(output_ids[i], NULL, NULL, &display_name))
+ names.push_back(display_name);
+ }
+ return names;
+}
+
+std::vector<std::string> GetOutputNames(const std::vector<XID>& output_ids) {
std::vector<std::string> names;
Display* display = GetXDisplay();
Window root_window = DefaultRootWindow(display);
XRRScreenResources* screen_resources =
XRRGetScreenResources(display, root_window);
- for (std::vector<XID>::iterator iter = output_ids.begin();
+ for (std::vector<XID>::const_iterator iter = output_ids.begin();
iter != output_ids.end(); ++iter) {
XRROutputInfo* output =
XRRGetOutputInfo(display, screen_resources, *iter);
diff --git a/ui/base/x/x11_util.h b/ui/base/x/x11_util.h
index d6dc0c3..169ba92 100644
--- a/ui/base/x/x11_util.h
+++ b/ui/base/x/x11_util.h
@@ -262,8 +262,13 @@ UI_EXPORT bool GetOutputDeviceData(XID output,
uint32* serial_number,
std::string* human_readable_name);
+// Gets the names of the all displays physically connected to the system.
+UI_EXPORT std::vector<std::string> GetDisplayNames(
+ const std::vector<XID>& output_id);
+
// Gets the name of outputs given by |output_id|.
-UI_EXPORT std::vector<std::string> GetOutputNames(std::vector<XID> output_id);
+UI_EXPORT std::vector<std::string> GetOutputNames(
+ const std::vector<XID>& output_id);
enum WindowManagerName {
WM_UNKNOWN,