| Index: views/widget/wm_ipc.h
|
| diff --git a/chrome/browser/chromeos/legacy_window_manager/wm_ipc.h b/views/widget/wm_ipc.h
|
| similarity index 81%
|
| copy from chrome/browser/chromeos/legacy_window_manager/wm_ipc.h
|
| copy to views/widget/wm_ipc.h
|
| index d4a48b4bfe3531ad4e86cf3827ea16c2c623ad4c..9920e47838cba57bf5bd1cf4f55c7ccef196b458 100644
|
| --- a/chrome/browser/chromeos/legacy_window_manager/wm_ipc.h
|
| +++ b/views/widget/wm_ipc.h
|
| @@ -2,8 +2,8 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef CHROME_BROWSER_CHROMEOS_LEGACY_WINDOW_MANAGER_WM_IPC_H_
|
| -#define CHROME_BROWSER_CHROMEOS_LEGACY_WINDOW_MANAGER_WM_IPC_H_
|
| +#ifndef VIEWS_WIDGET_WM_IPC_H_
|
| +#define VIEWS_WIDGET_WM_IPC_H_
|
| #pragma once
|
|
|
| #include <gtk/gtk.h>
|
| @@ -25,6 +25,8 @@ namespace gfx {
|
| class Rect;
|
| }
|
|
|
| +namespace views {
|
| +
|
| namespace chromeos {
|
|
|
| class WmIpc {
|
| @@ -48,15 +50,15 @@ class WmIpc {
|
| struct Message {
|
| public:
|
| Message() {
|
| - Init(WM_IPC_MESSAGE_UNKNOWN);
|
| + Init(::chromeos::WM_IPC_MESSAGE_UNKNOWN);
|
| }
|
| // WmIpcMessageType is defined in chromeos_wm_ipc_enums.h.
|
| - explicit Message(WmIpcMessageType type) {
|
| + explicit Message(::chromeos::WmIpcMessageType type) {
|
| Init(type);
|
| }
|
|
|
| - WmIpcMessageType type() const { return type_; }
|
| - void set_type(WmIpcMessageType type) { type_ = type; }
|
| + ::chromeos::WmIpcMessageType type() const { return type_; }
|
| + void set_type(::chromeos::WmIpcMessageType type) { type_ = type; }
|
|
|
| inline int max_params() const {
|
| return arraysize(params_);
|
| @@ -74,7 +76,7 @@ class WmIpc {
|
|
|
| private:
|
| // Common initialization code shared between constructors.
|
| - void Init(WmIpcMessageType type) {
|
| + void Init(::chromeos::WmIpcMessageType type) {
|
| set_type(type);
|
| for (int i = 0; i < max_params(); ++i) {
|
| set_param(i, 0);
|
| @@ -82,7 +84,7 @@ class WmIpc {
|
| }
|
|
|
| // Type of message that was sent.
|
| - WmIpcMessageType type_;
|
| + ::chromeos::WmIpcMessageType type_;
|
|
|
| // Type-specific data. This is bounded by the number of 32-bit values
|
| // that we can pack into a ClientMessageEvent -- it holds five, but we
|
| @@ -93,14 +95,12 @@ class WmIpc {
|
| // Returns the single instance of WmIpc.
|
| static WmIpc* instance();
|
|
|
| - WmIpcLayoutMode layout_mode() const { return layout_mode_; }
|
| -
|
| // Gets or sets a property describing a window's type.
|
| // WmIpcMessageType is defined in chromeos_wm_ipc_enums.h. Type-specific
|
| // parameters may also be supplied. The caller is responsible for trapping
|
| // errors from the X server.
|
| bool SetWindowType(GtkWidget* widget,
|
| - WmIpcWindowType type,
|
| + ::chromeos::WmIpcWindowType type,
|
| const std::vector<int>* params);
|
|
|
| // Gets the string name of an atom from the AtomType enum.
|
| @@ -110,18 +110,20 @@ class WmIpc {
|
| // caller is responsible for trapping errors from the X server. If
|
| // the parameters are not interesting to the caller, NULL may be
|
| // passed for |params|.
|
| - WmIpcWindowType GetWindowType(GtkWidget* widget, std::vector<int>* params);
|
| + ::chromeos::WmIpcWindowType GetWindowType(GtkWidget* widget,
|
| + std::vector<int>* params);
|
|
|
| // Gets the set of atoms contained in a window's _CHROME_STATE property.
|
| // Returns false if the property isn't set.
|
| bool GetWindowState(GtkWidget* widget, std::set<AtomType>* atom_types);
|
|
|
| // Sends a message to the WM.
|
| - void SendMessage(const Message& msg);
|
| + void SendMessage(const views::chromeos::WmIpc::Message& msg);
|
|
|
| // If |event| is a valid Message it is decoded into |msg| and true is
|
| // returned. If false is returned, |event| is not a valid Message.
|
| - bool DecodeMessage(const GdkEventClient& event, Message* msg);
|
| + bool DecodeMessage(const GdkEventClient& event,
|
| + views::chromeos::WmIpc::Message* msg);
|
|
|
| // Handles ClientMessage events that weren't decodable using DecodeMessage().
|
| // Specifically, this catches messages about the WM_S0 selection that get sent
|
| @@ -129,9 +131,6 @@ class WmIpc {
|
| // See ICCCM 2.8 for more info about MANAGER selections.
|
| void HandleNonChromeClientMessageEvent(const GdkEventClient& event);
|
|
|
| - // Handle an event reporting a property change on the root window.
|
| - void HandleRootWindowPropertyEvent(const GdkEventProperty& event);
|
| -
|
| // Sets a _CHROME_LOGGED_IN property on the root window describing whether
|
| // the user is currently logged in or not.
|
| void SetLoggedInProperty(bool logged_in);
|
| @@ -143,6 +142,11 @@ class WmIpc {
|
| // Sends a message to the window manager notifying it that we're signing out.
|
| void NotifyAboutSignout();
|
|
|
| + // Accessor for type_to_atom map
|
| + std::map<AtomType, Atom>* type_to_atom() {
|
| + return &type_to_atom_;
|
| + }
|
| +
|
| private:
|
| friend struct base::DefaultLazyInstanceTraits<WmIpc>;
|
|
|
| @@ -154,10 +158,6 @@ class WmIpc {
|
| // constructor, but needs to be re-run if the window manager gets restarted.
|
| void InitWmInfo();
|
|
|
| - // Updates |layout_mode_| based on the current value of the root window's
|
| - // _CHROME_LAYOUT_MODE property.
|
| - void FetchLayoutModeProperty();
|
| -
|
| // Maps between our Atom enum and the X server's atom IDs and from the
|
| // server's IDs to atoms' string names.
|
| std::map<AtomType, Atom> type_to_atom_;
|
| @@ -170,12 +170,11 @@ class WmIpc {
|
| // Handle to the WM. Used for sending messages.
|
| XID wm_;
|
|
|
| - // The current value of the root window's _CHROME_LAYOUT_MODE property.
|
| - WmIpcLayoutMode layout_mode_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(WmIpc);
|
| };
|
|
|
| } // namespace chromeos
|
|
|
| +} // namespace views
|
| +
|
| #endif // CHROME_BROWSER_CHROMEOS_LEGACY_WINDOW_MANAGER_WM_IPC_H_
|
|
|