diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-26 15:33:35 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-26 15:33:35 +0000 |
commit | 4cc33f40fde0c1c537863321fa6fde6aa2629843 (patch) | |
tree | 49a4c1e4b9b8139634530af085e544e1d003ebe5 /ui/wm | |
parent | 14be8a2901fd1ef01b2d886fdc67b46dfad95a8f (diff) | |
download | chromium_src-4cc33f40fde0c1c537863321fa6fde6aa2629843.zip chromium_src-4cc33f40fde0c1c537863321fa6fde6aa2629843.tar.gz chromium_src-4cc33f40fde0c1c537863321fa6fde6aa2629843.tar.bz2 |
Revert 259580 "Move wm/public into wm target"
> Move wm/public into wm target
>
> TBR=sky@chromium.org
> http://crbug/com/308710
>
> Review URL: https://codereview.chromium.org/209383003
TBR=ben@chromium.org
Review URL: https://codereview.chromium.org/213033002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259589 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/wm')
45 files changed, 250 insertions, 420 deletions
diff --git a/ui/wm/core/base_focus_rules.h b/ui/wm/core/base_focus_rules.h index 07dfb65..7195dad 100644 --- a/ui/wm/core/base_focus_rules.h +++ b/ui/wm/core/base_focus_rules.h @@ -13,7 +13,7 @@ namespace wm { // A set of basic focus and activation rules. Specializations should most likely // subclass this and call up to these methods rather than reimplementing them. -class WM_EXPORT BaseFocusRules : public FocusRules { +class WM_CORE_EXPORT BaseFocusRules : public FocusRules { protected: BaseFocusRules(); virtual ~BaseFocusRules(); diff --git a/ui/wm/core/capture_controller.h b/ui/wm/core/capture_controller.h index d802818..a368b63 100644 --- a/ui/wm/core/capture_controller.h +++ b/ui/wm/core/capture_controller.h @@ -11,12 +11,12 @@ #include "base/compiler_specific.h" #include "ui/aura/client/capture_client.h" #include "ui/aura/window_observer.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace wm { // Internal CaptureClient implementation. See ScopedCaptureClient for details. -class WM_EXPORT CaptureController : public aura::client::CaptureClient { +class WM_CORE_EXPORT CaptureController : public aura::client::CaptureClient { public: // Adds |root| to the list of RootWindows notified when capture changes. void Attach(aura::Window* root); @@ -53,7 +53,7 @@ class WM_EXPORT CaptureController : public aura::client::CaptureClient { // ScopedCaptureClient is responsible for creating a CaptureClient for a // RootWindow. Specifically it creates a single CaptureController that is shared // among all ScopedCaptureClients and adds the RootWindow to it. -class WM_EXPORT ScopedCaptureClient : public aura::WindowObserver { +class WM_CORE_EXPORT ScopedCaptureClient : public aura::WindowObserver { public: explicit ScopedCaptureClient(aura::Window* root); virtual ~ScopedCaptureClient(); diff --git a/ui/wm/core/compound_event_filter.h b/ui/wm/core/compound_event_filter.h index ab4fdf8..4b72673 100644 --- a/ui/wm/core/compound_event_filter.h +++ b/ui/wm/core/compound_event_filter.h @@ -10,7 +10,7 @@ #include "ui/events/event.h" #include "ui/events/event_handler.h" #include "ui/gfx/native_widget_types.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace aura { class CursorManager; @@ -37,7 +37,7 @@ namespace wm { // consumed by any of those filters. If an event is consumed by a filter, the // rest of the filter(s) and CompoundEventFilter will not see the consumed // event. -class WM_EXPORT CompoundEventFilter : public ui::EventHandler { +class WM_CORE_EXPORT CompoundEventFilter : public ui::EventHandler { public: CompoundEventFilter(); virtual ~CompoundEventFilter(); diff --git a/ui/wm/core/cursor_manager.h b/ui/wm/core/cursor_manager.h index b8ade87..3640c7e 100644 --- a/ui/wm/core/cursor_manager.h +++ b/ui/wm/core/cursor_manager.h @@ -14,7 +14,7 @@ #include "ui/gfx/native_widget_types.h" #include "ui/gfx/point.h" #include "ui/wm/core/native_cursor_manager_delegate.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace gfx { class Display; @@ -32,8 +32,8 @@ class NativeCursorManager; // requests to queue any further changes until a later time. It sends changes // to the NativeCursorManager, which communicates back to us when these changes // were made through the NativeCursorManagerDelegate interface. -class WM_EXPORT CursorManager : public aura::client::CursorClient, - public NativeCursorManagerDelegate { +class WM_CORE_EXPORT CursorManager : public aura::client::CursorClient, + public NativeCursorManagerDelegate { public: CursorManager(scoped_ptr<NativeCursorManager> delegate); virtual ~CursorManager(); diff --git a/ui/wm/core/default_activation_client.cc b/ui/wm/core/default_activation_client.cc deleted file mode 100644 index d4a55ee..0000000 --- a/ui/wm/core/default_activation_client.cc +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright 2013 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 "ui/wm/core/default_activation_client.h" - -#include "ui/aura/window.h" -#include "ui/wm/public/activation_change_observer.h" -#include "ui/wm/public/activation_delegate.h" - -namespace aura { -namespace client { - -//////////////////////////////////////////////////////////////////////////////// -// DefaultActivationClient, public: - -DefaultActivationClient::DefaultActivationClient(Window* root_window) - : last_active_(NULL) { - client::SetActivationClient(root_window, this); -} - -DefaultActivationClient::~DefaultActivationClient() { - for (unsigned int i = 0; i < active_windows_.size(); ++i) { - active_windows_[i]->RemoveObserver(this); - } -} - -//////////////////////////////////////////////////////////////////////////////// -// DefaultActivationClient, client::ActivationClient implementation: - -void DefaultActivationClient::AddObserver( - client::ActivationChangeObserver* observer) { - observers_.AddObserver(observer); -} - -void DefaultActivationClient::RemoveObserver( - client::ActivationChangeObserver* observer) { - observers_.RemoveObserver(observer); -} - -void DefaultActivationClient::ActivateWindow(Window* window) { - Window* last_active = GetActiveWindow(); - if (last_active == window) - return; - - last_active_ = last_active; - RemoveActiveWindow(window); - active_windows_.push_back(window); - window->parent()->StackChildAtTop(window); - window->AddObserver(this); - - FOR_EACH_OBSERVER(client::ActivationChangeObserver, - observers_, - OnWindowActivated(window, last_active)); - - aura::client::ActivationChangeObserver* observer = - aura::client::GetActivationChangeObserver(last_active); - if (observer) - observer->OnWindowActivated(window, last_active); - observer = aura::client::GetActivationChangeObserver(window); - if (observer) - observer->OnWindowActivated(window, last_active); -} - -void DefaultActivationClient::DeactivateWindow(Window* window) { - aura::client::ActivationChangeObserver* observer = - aura::client::GetActivationChangeObserver(window); - if (observer) - observer->OnWindowActivated(NULL, window); - if (last_active_) - ActivateWindow(last_active_); -} - -Window* DefaultActivationClient::GetActiveWindow() { - if (active_windows_.empty()) - return NULL; - return active_windows_.back(); -} - -Window* DefaultActivationClient::GetActivatableWindow(Window* window) { - return NULL; -} - -Window* DefaultActivationClient::GetToplevelWindow(Window* window) { - return NULL; -} - -bool DefaultActivationClient::OnWillFocusWindow(Window* window, - const ui::Event* event) { - return true; -} - -bool DefaultActivationClient::CanActivateWindow(Window* window) const { - return true; -} - -//////////////////////////////////////////////////////////////////////////////// -// DefaultActivationClient, WindowObserver implementation: - -void DefaultActivationClient::OnWindowDestroyed(Window* window) { - if (window == last_active_) - last_active_ = NULL; - - if (window == GetActiveWindow()) { - active_windows_.pop_back(); - Window* next_active = GetActiveWindow(); - if (next_active && aura::client::GetActivationChangeObserver(next_active)) { - aura::client::GetActivationChangeObserver(next_active)->OnWindowActivated( - next_active, NULL); - } - return; - } - - RemoveActiveWindow(window); -} - -void DefaultActivationClient::RemoveActiveWindow(Window* window) { - for (unsigned int i = 0; i < active_windows_.size(); ++i) { - if (active_windows_[i] == window) { - active_windows_.erase(active_windows_.begin() + i); - window->RemoveObserver(this); - return; - } - } -} - -} // namespace client -} // namespace aura diff --git a/ui/wm/core/default_activation_client.h b/ui/wm/core/default_activation_client.h deleted file mode 100644 index 8153068..0000000 --- a/ui/wm/core/default_activation_client.h +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright 2013 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. - -#ifndef UI_WM_CORE_DEFAULT_ACTIVATION_CLIENT_H_ -#define UI_WM_CORE_DEFAULT_ACTIVATION_CLIENT_H_ - -#include <vector> - -#include "base/compiler_specific.h" -#include "base/logging.h" -#include "base/observer_list.h" -#include "ui/aura/window_observer.h" -#include "ui/wm/public/activation_client.h" -#include "ui/wm/wm_export.h" - -namespace aura { -namespace client { -class ActivationChangeObserver; -} - -namespace client { - -// Simple ActivationClient implementation for use by tests and other targets -// that just need basic behavior (e.g. activate windows whenever requested, -// restack windows at the top when they're activated, etc.). -class WM_EXPORT DefaultActivationClient : public client::ActivationClient, - public WindowObserver { - public: - explicit DefaultActivationClient(Window* root_window); - virtual ~DefaultActivationClient(); - - // Overridden from client::ActivationClient: - virtual void AddObserver(client::ActivationChangeObserver* observer) OVERRIDE; - virtual void RemoveObserver( - client::ActivationChangeObserver* observer) OVERRIDE; - virtual void ActivateWindow(Window* window) OVERRIDE; - virtual void DeactivateWindow(Window* window) OVERRIDE; - virtual Window* GetActiveWindow() OVERRIDE; - virtual Window* GetActivatableWindow(Window* window) OVERRIDE; - virtual Window* GetToplevelWindow(Window* window) OVERRIDE; - virtual bool OnWillFocusWindow(Window* window, - const ui::Event* event) OVERRIDE; - virtual bool CanActivateWindow(Window* window) const OVERRIDE; - - // Overridden from WindowObserver: - virtual void OnWindowDestroyed(Window* window) OVERRIDE; - - private: - void RemoveActiveWindow(Window* window); - - // This class explicitly does NOT store the active window in a window property - // to make sure that ActivationChangeObserver is not treated as part of the - // aura API. Assumptions to that end will cause tests that use this client to - // fail. - std::vector<Window*> active_windows_; - - // The window which was active before the currently active one. - Window* last_active_; - - ObserverList<client::ActivationChangeObserver> observers_; - - DISALLOW_COPY_AND_ASSIGN(DefaultActivationClient); -}; - -} // namespace client -} // namespace aura - -#endif // UI_WM_CORE_DEFAULT_ACTIVATION_CLIENT_H_ diff --git a/ui/wm/core/easy_resize_window_targeter.h b/ui/wm/core/easy_resize_window_targeter.h index 90b0848..fae6d46 100644 --- a/ui/wm/core/easy_resize_window_targeter.h +++ b/ui/wm/core/easy_resize_window_targeter.h @@ -7,13 +7,13 @@ #include "ui/aura/window_targeter.h" #include "ui/gfx/geometry/insets.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace wm { // An EventTargeter for a container window that uses a slightly larger // hit-target region for easier resize. -class WM_EXPORT EasyResizeWindowTargeter : public aura::WindowTargeter { +class WM_CORE_EXPORT EasyResizeWindowTargeter : public aura::WindowTargeter { public: // |container| window is the owner of this targeter. EasyResizeWindowTargeter(aura::Window* container, diff --git a/ui/wm/core/focus_controller.h b/ui/wm/core/focus_controller.h index de15d71..fecdd2e 100644 --- a/ui/wm/core/focus_controller.h +++ b/ui/wm/core/focus_controller.h @@ -12,8 +12,8 @@ #include "ui/aura/client/focus_client.h" #include "ui/aura/window_observer.h" #include "ui/events/event_handler.h" +#include "ui/wm/core/wm_core_export.h" #include "ui/wm/public/activation_client.h" -#include "ui/wm/wm_export.h" namespace wm { @@ -34,7 +34,7 @@ class FocusRules; // . Window disposition changes (implemented here in aura::WindowObserver). // (The FocusController registers itself as an observer of the active and // focused windows). -class WM_EXPORT FocusController : public aura::client::ActivationClient, +class WM_CORE_EXPORT FocusController : public aura::client::ActivationClient, public aura::client::FocusClient, public ui::EventHandler, public aura::WindowObserver { diff --git a/ui/wm/core/focus_rules.h b/ui/wm/core/focus_rules.h index cb9a4dd..79ffd74 100644 --- a/ui/wm/core/focus_rules.h +++ b/ui/wm/core/focus_rules.h @@ -5,7 +5,7 @@ #ifndef UI_WM_CORE_FOCUS_RULES_H_ #define UI_WM_CORE_FOCUS_RULES_H_ -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace aura { class Window; @@ -15,7 +15,7 @@ namespace wm { // Implemented by an object that establishes the rules about what can be // focused or activated. -class WM_EXPORT FocusRules { +class WM_CORE_EXPORT FocusRules { public: virtual ~FocusRules() {} diff --git a/ui/wm/core/image_grid.h b/ui/wm/core/image_grid.h index bee1e46..49ac642 100644 --- a/ui/wm/core/image_grid.h +++ b/ui/wm/core/image_grid.h @@ -12,7 +12,7 @@ #include "ui/compositor/layer_delegate.h" #include "ui/gfx/rect.h" #include "ui/gfx/size.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace gfx { class Image; @@ -56,10 +56,10 @@ namespace wm { // | xXX| // ... // -class WM_EXPORT ImageGrid { +class WM_CORE_EXPORT ImageGrid { public: // Helper class for use by tests. - class WM_EXPORT TestAPI { + class WM_CORE_EXPORT TestAPI { public: TestAPI(ImageGrid* grid) : grid_(grid) {} diff --git a/ui/wm/core/input_method_event_filter.h b/ui/wm/core/input_method_event_filter.h index c4033d1..17a6a0e 100644 --- a/ui/wm/core/input_method_event_filter.h +++ b/ui/wm/core/input_method_event_filter.h @@ -11,7 +11,7 @@ #include "ui/base/ime/input_method_delegate.h" #include "ui/events/event_handler.h" #include "ui/gfx/native_widget_types.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace ui { class EventProcessor; @@ -22,7 +22,7 @@ namespace wm { // An event filter that forwards a KeyEvent to a system IME, and dispatches a // TranslatedKeyEvent to the root window as needed. -class WM_EXPORT InputMethodEventFilter +class WM_CORE_EXPORT InputMethodEventFilter : public ui::EventHandler, public ui::internal::InputMethodDelegate { public: diff --git a/ui/wm/core/masked_window_targeter.h b/ui/wm/core/masked_window_targeter.h index 46cf4d2..846021a 100644 --- a/ui/wm/core/masked_window_targeter.h +++ b/ui/wm/core/masked_window_targeter.h @@ -6,7 +6,7 @@ #define UI_WM_CORE_MASKED_WINDOW_TARGETER_H_ #include "ui/aura/window_targeter.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace gfx { class Path; @@ -14,7 +14,7 @@ class Path; namespace wm { -class WM_EXPORT MaskedWindowTargeter : public aura::WindowTargeter { +class WM_CORE_EXPORT MaskedWindowTargeter : public aura::WindowTargeter { public: explicit MaskedWindowTargeter(aura::Window* masked_window); virtual ~MaskedWindowTargeter(); diff --git a/ui/wm/core/native_cursor_manager.h b/ui/wm/core/native_cursor_manager.h index 60f72bd..68c9d46 100644 --- a/ui/wm/core/native_cursor_manager.h +++ b/ui/wm/core/native_cursor_manager.h @@ -7,7 +7,7 @@ #include "base/strings/string16.h" #include "ui/wm/core/native_cursor_manager_delegate.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace gfx { class Display; @@ -19,7 +19,7 @@ namespace wm { // requested changes to cursor state. When requested, implementer should tell // the CursorManager of any actual state changes performed through the // delegate. -class WM_EXPORT NativeCursorManager { +class WM_CORE_EXPORT NativeCursorManager { public: virtual ~NativeCursorManager() {} diff --git a/ui/wm/core/native_cursor_manager_delegate.h b/ui/wm/core/native_cursor_manager_delegate.h index 5237221..0571d57 100644 --- a/ui/wm/core/native_cursor_manager_delegate.h +++ b/ui/wm/core/native_cursor_manager_delegate.h @@ -7,14 +7,14 @@ #include "ui/base/cursor/cursor.h" #include "ui/gfx/native_widget_types.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace wm { // The non-public interface that CursorManager exposes to its users. This // gives accessors to all the current state, and mutators to all the current // state. -class WM_EXPORT NativeCursorManagerDelegate { +class WM_CORE_EXPORT NativeCursorManagerDelegate { public: virtual ~NativeCursorManagerDelegate() {} diff --git a/ui/wm/core/shadow.h b/ui/wm/core/shadow.h index c153ecf1..fa42976 100644 --- a/ui/wm/core/shadow.h +++ b/ui/wm/core/shadow.h @@ -9,7 +9,7 @@ #include "base/memory/scoped_ptr.h" #include "ui/compositor/layer_animation_observer.h" #include "ui/gfx/rect.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace ui { class Layer; @@ -20,7 +20,7 @@ namespace wm { class ImageGrid; // Simple class that draws a drop shadow around content at given bounds. -class WM_EXPORT Shadow : public ui::ImplicitAnimationObserver { +class WM_CORE_EXPORT Shadow : public ui::ImplicitAnimationObserver { public: enum Style { // Active windows have more opaque shadows, shifted down to make the window diff --git a/ui/wm/core/shadow_controller.h b/ui/wm/core/shadow_controller.h index c846894..47aa743 100644 --- a/ui/wm/core/shadow_controller.h +++ b/ui/wm/core/shadow_controller.h @@ -10,8 +10,8 @@ #include "base/basictypes.h" #include "base/compiler_specific.h" #include "base/memory/ref_counted.h" +#include "ui/wm/core/wm_core_export.h" #include "ui/wm/public/activation_change_observer.h" -#include "ui/wm/wm_export.h" namespace aura { class Window; @@ -31,10 +31,10 @@ class Shadow; // shadows as needed. ShadowController itself is light weight and per // ActivationClient. ShadowController delegates to its implementation class, // which observes all window creation. -class WM_EXPORT ShadowController : +class WM_CORE_EXPORT ShadowController : public aura::client::ActivationChangeObserver { public: - class WM_EXPORT TestApi { + class WM_CORE_EXPORT TestApi { public: explicit TestApi(ShadowController* controller) : controller_(controller) {} ~TestApi() {} diff --git a/ui/wm/core/shadow_types.h b/ui/wm/core/shadow_types.h index 1198a43..49c92fd 100644 --- a/ui/wm/core/shadow_types.h +++ b/ui/wm/core/shadow_types.h @@ -6,7 +6,7 @@ #define UI_WM_CORE_SHADOW_TYPES_H_ #include "ui/aura/window.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace aura { class Window; @@ -22,8 +22,8 @@ enum ShadowType { SHADOW_TYPE_RECTANGULAR, }; -WM_EXPORT void SetShadowType(aura::Window* window, ShadowType shadow_type); -WM_EXPORT ShadowType GetShadowType(aura::Window* window); +WM_CORE_EXPORT void SetShadowType(aura::Window* window, ShadowType shadow_type); +WM_CORE_EXPORT ShadowType GetShadowType(aura::Window* window); // A property key describing the drop shadow that should be displayed under the // window. If unset, no shadow is displayed. diff --git a/ui/wm/core/transient_window_controller.h b/ui/wm/core/transient_window_controller.h index 8638824..125cd28 100644 --- a/ui/wm/core/transient_window_controller.h +++ b/ui/wm/core/transient_window_controller.h @@ -5,14 +5,14 @@ #ifndef UI_WM_CORE_TRANSIENT_WINDOW_CONTROLLER_H_ #define UI_WM_CORE_TRANSIENT_WINDOW_CONTROLLER_H_ +#include "ui/wm/core/wm_core_export.h" #include "ui/wm/public/transient_window_client.h" -#include "ui/wm/wm_export.h" namespace wm { // TransientWindowClient implementation. Uses TransientWindowManager to handle // tracking transient per window. -class WM_EXPORT TransientWindowController +class WM_CORE_EXPORT TransientWindowController : public aura::client::TransientWindowClient { public: TransientWindowController(); diff --git a/ui/wm/core/transient_window_manager.h b/ui/wm/core/transient_window_manager.h index d247b34..0f84ba3 100644 --- a/ui/wm/core/transient_window_manager.h +++ b/ui/wm/core/transient_window_manager.h @@ -9,7 +9,7 @@ #include "base/observer_list.h" #include "ui/aura/window_observer.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace wm { @@ -26,7 +26,7 @@ class TransientWindowObserver; // Transient windows are typically used for popups and menus. // TODO(sky): when we nuke TransientWindowClient rename this to // TransientWindowController. -class WM_EXPORT TransientWindowManager : public aura::WindowObserver { +class WM_CORE_EXPORT TransientWindowManager : public aura::WindowObserver { public: typedef std::vector<aura::Window*> Windows; diff --git a/ui/wm/core/transient_window_observer.h b/ui/wm/core/transient_window_observer.h index aff5af5..6a7a2e2 100644 --- a/ui/wm/core/transient_window_observer.h +++ b/ui/wm/core/transient_window_observer.h @@ -5,7 +5,7 @@ #ifndef UI_WM_CORE_TRANSIENT_WINDOW_OBSERVER_H_ #define UI_WM_CORE_TRANSIENT_WINDOW_OBSERVER_H_ -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace aura { class Window; @@ -13,7 +13,7 @@ class Window; namespace wm { -class WM_EXPORT TransientWindowObserver { +class WM_CORE_EXPORT TransientWindowObserver { public: // Called when a transient child is added to |window|. virtual void OnTransientChildAdded(aura::Window* window, diff --git a/ui/wm/core/transient_window_stacking_client.h b/ui/wm/core/transient_window_stacking_client.h index 4ab4aea..5641a22 100644 --- a/ui/wm/core/transient_window_stacking_client.h +++ b/ui/wm/core/transient_window_stacking_client.h @@ -6,13 +6,13 @@ #define UI_WM_CORE_TRANSIENT_WINDOW_STACKING_CLIENT_H_ #include "ui/aura/client/window_stacking_client.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace wm { class TransientWindowManager; -class WM_EXPORT TransientWindowStackingClient +class WM_CORE_EXPORT TransientWindowStackingClient : public aura::client::WindowStackingClient { public: TransientWindowStackingClient(); diff --git a/ui/wm/core/visibility_controller.h b/ui/wm/core/visibility_controller.h index 47ae991..912e974 100644 --- a/ui/wm/core/visibility_controller.h +++ b/ui/wm/core/visibility_controller.h @@ -8,11 +8,11 @@ #include "base/compiler_specific.h" #include "base/logging.h" #include "ui/aura/client/visibility_client.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace wm { -class WM_EXPORT VisibilityController +class WM_CORE_EXPORT VisibilityController : public aura::client::VisibilityClient { public: VisibilityController(); @@ -47,7 +47,7 @@ class WM_EXPORT VisibilityController // // previous state. // } // -class WM_EXPORT SuspendChildWindowVisibilityAnimations { +class WM_CORE_EXPORT SuspendChildWindowVisibilityAnimations { public: // Suspend visibility animations of child windows. explicit SuspendChildWindowVisibilityAnimations(aura::Window* window); @@ -66,7 +66,7 @@ class WM_EXPORT SuspendChildWindowVisibilityAnimations { }; // Tells |window| to animate visibility changes to its children. -void WM_EXPORT SetChildWindowVisibilityChangesAnimated( +void WM_CORE_EXPORT SetChildWindowVisibilityChangesAnimated( aura::Window* window); } // namespace wm diff --git a/ui/wm/core/window_animations.cc b/ui/wm/core/window_animations.cc index 3169627e..c7b9c63 100644 --- a/ui/wm/core/window_animations.cc +++ b/ui/wm/core/window_animations.cc @@ -41,7 +41,7 @@ DECLARE_WINDOW_PROPERTY_TYPE(int) DECLARE_WINDOW_PROPERTY_TYPE(wm::WindowVisibilityAnimationType) DECLARE_WINDOW_PROPERTY_TYPE(wm::WindowVisibilityAnimationTransition) DECLARE_WINDOW_PROPERTY_TYPE(float) -DECLARE_EXPORTED_WINDOW_PROPERTY_TYPE(WM_EXPORT, bool) +DECLARE_EXPORTED_WINDOW_PROPERTY_TYPE(WM_CORE_EXPORT, bool) namespace wm { namespace { diff --git a/ui/wm/core/window_animations.h b/ui/wm/core/window_animations.h index 27c4c67..b2ab4de 100644 --- a/ui/wm/core/window_animations.h +++ b/ui/wm/core/window_animations.h @@ -8,7 +8,7 @@ #include <vector> #include "ui/compositor/scoped_layer_animation_settings.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace aura { class Window; @@ -58,26 +58,26 @@ enum WindowVisibilityAnimationTransition { // These two methods use int for type rather than WindowVisibilityAnimationType // since downstream libraries can extend the set of animations. -WM_EXPORT void SetWindowVisibilityAnimationType(aura::Window* window, - int type); -WM_EXPORT int GetWindowVisibilityAnimationType(aura::Window* window); +WM_CORE_EXPORT void SetWindowVisibilityAnimationType(aura::Window* window, + int type); +WM_CORE_EXPORT int GetWindowVisibilityAnimationType(aura::Window* window); -WM_EXPORT void SetWindowVisibilityAnimationTransition( +WM_CORE_EXPORT void SetWindowVisibilityAnimationTransition( aura::Window* window, WindowVisibilityAnimationTransition transition); -WM_EXPORT bool HasWindowVisibilityAnimationTransition( +WM_CORE_EXPORT bool HasWindowVisibilityAnimationTransition( aura::Window* window, WindowVisibilityAnimationTransition transition); -WM_EXPORT void SetWindowVisibilityAnimationDuration( +WM_CORE_EXPORT void SetWindowVisibilityAnimationDuration( aura::Window* window, const base::TimeDelta& duration); -WM_EXPORT base::TimeDelta GetWindowVisibilityAnimationDuration( +WM_CORE_EXPORT base::TimeDelta GetWindowVisibilityAnimationDuration( const aura::Window& window); -WM_EXPORT void SetWindowVisibilityAnimationVerticalPosition( +WM_CORE_EXPORT void SetWindowVisibilityAnimationVerticalPosition( aura::Window* window, float position); @@ -86,7 +86,7 @@ class HidingWindowAnimationObserver; // Use this to ensure that the hiding animation is visible even after // the window is deleted or deactivated, instead of using // ui::ScopedLayerAnimationSettings directly. -class WM_EXPORT ScopedHidingAnimationSettings { +class WM_CORE_EXPORT ScopedHidingAnimationSettings { public: explicit ScopedHidingAnimationSettings(aura::Window* window); ~ScopedHidingAnimationSettings(); @@ -104,14 +104,15 @@ class WM_EXPORT ScopedHidingAnimationSettings { }; // Returns false if the |window| didn't animate. -WM_EXPORT bool AnimateOnChildWindowVisibilityChanged(aura::Window* window, - bool visible); -WM_EXPORT bool AnimateWindow(aura::Window* window, WindowAnimationType type); +WM_CORE_EXPORT bool AnimateOnChildWindowVisibilityChanged(aura::Window* window, + bool visible); +WM_CORE_EXPORT bool AnimateWindow(aura::Window* window, + WindowAnimationType type); // Returns true if window animations are disabled for |window|. Window // animations are enabled by default. If |window| is NULL, this just checks // if the global flag disabling window animations is present. -WM_EXPORT bool WindowAnimationsDisabled(aura::Window* window); +WM_CORE_EXPORT bool WindowAnimationsDisabled(aura::Window* window); } // namespace wm diff --git a/ui/wm/core/window_modality_controller.h b/ui/wm/core/window_modality_controller.h index 4d52c21..d098d57 100644 --- a/ui/wm/core/window_modality_controller.h +++ b/ui/wm/core/window_modality_controller.h @@ -11,7 +11,7 @@ #include "ui/aura/env_observer.h" #include "ui/aura/window_observer.h" #include "ui/events/event_handler.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace ui { class EventTarget; @@ -21,18 +21,18 @@ class LocatedEvent; namespace wm { // Sets the modal parent for the child. -WM_EXPORT void SetModalParent(aura::Window* child, aura::Window* parent); +WM_CORE_EXPORT void SetModalParent(aura::Window* child, aura::Window* parent); // Returns the modal transient child of |window|, or NULL if |window| does not // have any modal transient children. -WM_EXPORT aura::Window* GetModalTransient(aura::Window* window); +WM_CORE_EXPORT aura::Window* GetModalTransient(aura::Window* window); // WindowModalityController is an event filter that consumes events sent to // windows that are the transient parents of window-modal windows. This filter // must be added to the CompoundEventFilter so that activation works properly. -class WM_EXPORT WindowModalityController : public ui::EventHandler, - public aura::EnvObserver, - public aura::WindowObserver { +class WM_CORE_EXPORT WindowModalityController : public ui::EventHandler, + public aura::EnvObserver, + public aura::WindowObserver { public: explicit WindowModalityController(ui::EventTarget* event_target); virtual ~WindowModalityController(); diff --git a/ui/wm/core/window_util.h b/ui/wm/core/window_util.h index 78f2ffb..81989f9 100644 --- a/ui/wm/core/window_util.h +++ b/ui/wm/core/window_util.h @@ -10,7 +10,7 @@ #include "base/basictypes.h" #include "base/compiler_specific.h" #include "base/memory/scoped_ptr.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace aura { class Window; @@ -24,18 +24,18 @@ class LayerTreeOwner; namespace wm { -WM_EXPORT void ActivateWindow(aura::Window* window); -WM_EXPORT void DeactivateWindow(aura::Window* window); -WM_EXPORT bool IsActiveWindow(aura::Window* window); -WM_EXPORT bool CanActivateWindow(aura::Window* window); +WM_CORE_EXPORT void ActivateWindow(aura::Window* window); +WM_CORE_EXPORT void DeactivateWindow(aura::Window* window); +WM_CORE_EXPORT bool IsActiveWindow(aura::Window* window); +WM_CORE_EXPORT bool CanActivateWindow(aura::Window* window); // Retrieves the activatable window for |window|. The ActivationClient makes // this determination. -WM_EXPORT aura::Window* GetActivatableWindow(aura::Window* window); +WM_CORE_EXPORT aura::Window* GetActivatableWindow(aura::Window* window); // Retrieves the toplevel window for |window|. The ActivationClient makes this // determination. -WM_EXPORT aura::Window* GetToplevelWindow(aura::Window* window); +WM_CORE_EXPORT aura::Window* GetToplevelWindow(aura::Window* window); // Returns the existing Layer for |root| (and all its descendants) and creates // a new layer for |root| and all its descendants. This is intended for @@ -43,24 +43,26 @@ WM_EXPORT aura::Window* GetToplevelWindow(aura::Window* window); // // As a result of this |root| has freshly created layers, meaning the layers // have not yet been painted to. -WM_EXPORT scoped_ptr<ui::LayerTreeOwner> RecreateLayers( +WM_CORE_EXPORT scoped_ptr<ui::LayerTreeOwner> RecreateLayers( ui::LayerOwner* root); // Convenience functions that get the TransientWindowManager for the window and // redirect appropriately. These are preferable to calling functions on // TransientWindowManager as they handle the appropriate NULL checks. -WM_EXPORT aura::Window* GetTransientParent(aura::Window* window); -WM_EXPORT const aura::Window* GetTransientParent( +WM_CORE_EXPORT aura::Window* GetTransientParent(aura::Window* window); +WM_CORE_EXPORT const aura::Window* GetTransientParent( const aura::Window* window); -WM_EXPORT const std::vector<aura::Window*>& GetTransientChildren( +WM_CORE_EXPORT const std::vector<aura::Window*>& GetTransientChildren( const aura::Window* window); -WM_EXPORT void AddTransientChild(aura::Window* parent, aura::Window* child); -WM_EXPORT void RemoveTransientChild(aura::Window* parent, aura::Window* child); +WM_CORE_EXPORT void AddTransientChild(aura::Window* parent, + aura::Window* child); +WM_CORE_EXPORT void RemoveTransientChild(aura::Window* parent, + aura::Window* child); // Returns true if |window| has |ancestor| as a transient ancestor. A transient // ancestor is found by following the transient parent chain of the window. -WM_EXPORT bool HasTransientAncestor(const aura::Window* window, - const aura::Window* ancestor); +WM_CORE_EXPORT bool HasTransientAncestor(const aura::Window* window, + const aura::Window* ancestor); } // namespace wm diff --git a/ui/wm/core/wm_core_export.h b/ui/wm/core/wm_core_export.h new file mode 100644 index 0000000..2056ccc --- /dev/null +++ b/ui/wm/core/wm_core_export.h @@ -0,0 +1,32 @@ +// 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. + +#ifndef UI_WM_CORE_WM_CORE_EXPORT_H_ +#define UI_WM_CORE_WM_CORE_EXPORT_H_ + +// Defines WM_CORE_EXPORT so that functionality implemented by the Views module +// can be exported to consumers. + +#if defined(COMPONENT_BUILD) +#if defined(WIN32) + +#if defined(WM_CORE_IMPLEMENTATION) +#define WM_CORE_EXPORT __declspec(dllexport) +#else +#define WM_CORE_EXPORT __declspec(dllimport) +#endif // defined(WM_CORE_IMPLEMENTATION) + +#else // defined(WIN32) +#if defined(WM_CORE_IMPLEMENTATION) +#define WM_CORE_EXPORT __attribute__((visibility("default"))) +#else +#define WM_CORE_EXPORT +#endif +#endif + +#else // defined(COMPONENT_BUILD) +#define WM_CORE_EXPORT +#endif + +#endif // UI_WM_CORE_WM_CORE_EXPORT_H_ diff --git a/ui/wm/core/wm_core_switches.h b/ui/wm/core/wm_core_switches.h index 05658d6..dd48025 100644 --- a/ui/wm/core/wm_core_switches.h +++ b/ui/wm/core/wm_core_switches.h @@ -6,7 +6,7 @@ #define UI_WM_CORE_WM_CORE_SWITCHES_H_ #include "build/build_config.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace wm { namespace switches { @@ -16,7 +16,7 @@ namespace switches { // see chromeos::LoginUtil::GetOffTheRecordCommandLine().) // Please keep alphabetized. -WM_EXPORT extern const char kWindowAnimationsDisabled[]; +WM_CORE_EXPORT extern const char kWindowAnimationsDisabled[]; } // namespace switches } // namespace wm diff --git a/ui/wm/core/wm_state.h b/ui/wm/core/wm_state.h index 289c9da..b846f70 100644 --- a/ui/wm/core/wm_state.h +++ b/ui/wm/core/wm_state.h @@ -6,7 +6,7 @@ #define UI_WM_CORE_WM_STATE_H_ #include "base/memory/scoped_ptr.h" -#include "ui/wm/wm_export.h" +#include "ui/wm/core/wm_core_export.h" namespace wm { @@ -14,7 +14,7 @@ class TransientWindowController; class TransientWindowStackingClient; // Installs state needed by the window manager. -class WM_EXPORT WMState { +class WM_CORE_EXPORT WMState { public: WMState(); ~WMState(); diff --git a/ui/wm/public/activation_change_observer.h b/ui/wm/public/activation_change_observer.h index 6a4fe3b..68d5b8a 100644 --- a/ui/wm/public/activation_change_observer.h +++ b/ui/wm/public/activation_change_observer.h @@ -5,14 +5,14 @@ #ifndef UI_WM_PUBLIC_ACTIVATION_CHANGE_OBSERVER_H_ #define UI_WM_PUBLIC_ACTIVATION_CHANGE_OBSERVER_H_ -#include "ui/wm/wm_export.h" +#include "ui/aura/aura_export.h" namespace aura { class Window; namespace client { -class WM_EXPORT ActivationChangeObserver { +class AURA_EXPORT ActivationChangeObserver { public: // Called when |active| gains focus, or there is no active window // (|active| is NULL in this case.) |old_active| refers to the @@ -33,10 +33,11 @@ class WM_EXPORT ActivationChangeObserver { // Gets/Sets the ActivationChangeObserver for a specific window. This observer // is notified after the ActivationClient notifies all registered observers. -WM_EXPORT void SetActivationChangeObserver( +AURA_EXPORT void SetActivationChangeObserver( Window* window, ActivationChangeObserver* observer); -WM_EXPORT ActivationChangeObserver* GetActivationChangeObserver(Window* window); +AURA_EXPORT ActivationChangeObserver* GetActivationChangeObserver( + Window* window); } // namespace client } // namespace aura diff --git a/ui/wm/public/activation_client.cc b/ui/wm/public/activation_client.cc index f22ac9c..6a47554 100644 --- a/ui/wm/public/activation_client.cc +++ b/ui/wm/public/activation_client.cc @@ -7,7 +7,7 @@ #include "ui/aura/window.h" #include "ui/aura/window_property.h" -DECLARE_EXPORTED_WINDOW_PROPERTY_TYPE(WM_EXPORT, aura::Window*) +DECLARE_EXPORTED_WINDOW_PROPERTY_TYPE(AURA_EXPORT, aura::Window*) DECLARE_WINDOW_PROPERTY_TYPE(aura::client::ActivationClient*) namespace aura { diff --git a/ui/wm/public/activation_client.h b/ui/wm/public/activation_client.h index decd26d..fc35131 100644 --- a/ui/wm/public/activation_client.h +++ b/ui/wm/public/activation_client.h @@ -5,7 +5,7 @@ #ifndef UI_WM_PUBLIC_ACTIVATION_CLIENT_H_ #define UI_WM_PUBLIC_ACTIVATION_CLIENT_H_ -#include "ui/wm/wm_export.h" +#include "ui/aura/aura_export.h" namespace ui { class Event; @@ -18,7 +18,7 @@ namespace client { class ActivationChangeObserver; // An interface implemented by an object that manages window activation. -class WM_EXPORT ActivationClient { +class AURA_EXPORT ActivationClient { public: // Adds/Removes ActivationChangeObservers. virtual void AddObserver(ActivationChangeObserver* observer) = 0; @@ -57,9 +57,9 @@ class WM_EXPORT ActivationClient { }; // Sets/Gets the activation client on the root Window. -WM_EXPORT void SetActivationClient(Window* root_window, - ActivationClient* client); -WM_EXPORT ActivationClient* GetActivationClient(Window* root_window); +AURA_EXPORT void SetActivationClient(Window* root_window, + ActivationClient* client); +AURA_EXPORT ActivationClient* GetActivationClient(Window* root_window); // Some types of transient window are only visible when active. // The transient parents of these windows may have visual appearance properties @@ -68,8 +68,8 @@ WM_EXPORT ActivationClient* GetActivationClient(Window* root_window); // TODO(beng): currently the UI framework (views) implements the actual // close-on-deactivate component of this feature but it should be // possible to implement in the aura client. -WM_EXPORT void SetHideOnDeactivate(Window* window, bool hide_on_deactivate); -WM_EXPORT bool GetHideOnDeactivate(Window* window); +AURA_EXPORT void SetHideOnDeactivate(Window* window, bool hide_on_deactivate); +AURA_EXPORT bool GetHideOnDeactivate(Window* window); } // namespace clients } // namespace aura diff --git a/ui/wm/public/activation_delegate.h b/ui/wm/public/activation_delegate.h index 5fe5d53..3c5b3ae 100644 --- a/ui/wm/public/activation_delegate.h +++ b/ui/wm/public/activation_delegate.h @@ -5,7 +5,7 @@ #ifndef UI_WM_PUBLIC_ACTIVATION_DELEGATE_H_ #define UI_WM_PUBLIC_ACTIVATION_DELEGATE_H_ -#include "ui/wm/wm_export.h" +#include "ui/aura/aura_export.h" namespace ui { class Event; @@ -17,7 +17,7 @@ namespace client { // An interface implemented by an object that configures and responds to changes // to a window's activation state. -class WM_EXPORT ActivationDelegate { +class AURA_EXPORT ActivationDelegate { public: // Returns true if the window should be activated. virtual bool ShouldActivate() const = 0; @@ -27,9 +27,9 @@ class WM_EXPORT ActivationDelegate { }; // Sets/Gets the ActivationDelegate on the Window. No ownership changes. -WM_EXPORT void SetActivationDelegate(Window* window, - ActivationDelegate* delegate); -WM_EXPORT ActivationDelegate* GetActivationDelegate(Window* window); +AURA_EXPORT void SetActivationDelegate(Window* window, + ActivationDelegate* delegate); +AURA_EXPORT ActivationDelegate* GetActivationDelegate(Window* window); } // namespace client } // namespace aura diff --git a/ui/wm/public/animation_host.h b/ui/wm/public/animation_host.h index 5352e62..71f9f4d 100644 --- a/ui/wm/public/animation_host.h +++ b/ui/wm/public/animation_host.h @@ -6,7 +6,7 @@ #define UI_WM_PUBLIC_ANIMATION_HOST_H_ #include "base/compiler_specific.h" -#include "ui/wm/wm_export.h" +#include "ui/aura/aura_export.h" namespace gfx { class Vector2d; @@ -19,7 +19,7 @@ namespace client { // Interface for top level window host of animation. Communicates additional // bounds required for animation as well as animation completion for deferring // window closes on hide. -class WM_EXPORT AnimationHost { +class AURA_EXPORT AnimationHost { public: // Ensure the host window is at least this large so that transitions have // sufficient space. @@ -38,8 +38,9 @@ class WM_EXPORT AnimationHost { virtual ~AnimationHost() {} }; -WM_EXPORT void SetAnimationHost(Window* window, AnimationHost* animation_host); -WM_EXPORT AnimationHost* GetAnimationHost(Window* window); +AURA_EXPORT void SetAnimationHost(Window* window, + AnimationHost* animation_host); +AURA_EXPORT AnimationHost* GetAnimationHost(Window* window); } // namespace client } // namespace aura diff --git a/ui/wm/public/dispatcher_client.h b/ui/wm/public/dispatcher_client.h index 03376c5..9fd9c94 100644 --- a/ui/wm/public/dispatcher_client.h +++ b/ui/wm/public/dispatcher_client.h @@ -6,23 +6,23 @@ #define UI_WM_PUBLIC_DISPATCHER_CLIENT_H_ #include "base/message_loop/message_pump_dispatcher.h" -#include "ui/wm/wm_export.h" +#include "ui/aura/aura_export.h" namespace aura { class Window; namespace client { // An interface implemented by an object which handles nested dispatchers. -class WM_EXPORT DispatcherClient { +class AURA_EXPORT DispatcherClient { public: virtual void RunWithDispatcher(base::MessagePumpDispatcher* dispatcher) = 0; virtual void QuitNestedMessageLoop() = 0; }; -WM_EXPORT void SetDispatcherClient(Window* root_window, - DispatcherClient* client); -WM_EXPORT DispatcherClient* GetDispatcherClient(Window* root_window); +AURA_EXPORT void SetDispatcherClient(Window* root_window, + DispatcherClient* client); +AURA_EXPORT DispatcherClient* GetDispatcherClient(Window* root_window); } // namespace client } // namespace aura diff --git a/ui/wm/public/drag_drop_client.h b/ui/wm/public/drag_drop_client.h index d0dcbe2..62a2355 100644 --- a/ui/wm/public/drag_drop_client.h +++ b/ui/wm/public/drag_drop_client.h @@ -5,9 +5,9 @@ #ifndef UI_WM_PUBLIC_DRAG_DROP_CLIENT_H_ #define UI_WM_PUBLIC_DRAG_DROP_CLIENT_H_ +#include "ui/aura/aura_export.h" #include "ui/base/dragdrop/drag_drop_types.h" #include "ui/gfx/native_widget_types.h" -#include "ui/wm/wm_export.h" namespace gfx { class Point; @@ -23,7 +23,7 @@ class Window; namespace client { // An interface implemented by an object that controls a drag and drop session. -class WM_EXPORT DragDropClient { +class AURA_EXPORT DragDropClient { public: virtual ~DragDropClient() {} @@ -52,8 +52,9 @@ class WM_EXPORT DragDropClient { virtual bool IsDragDropInProgress() = 0; }; -WM_EXPORT void SetDragDropClient(Window* root_window, DragDropClient* client); -WM_EXPORT DragDropClient* GetDragDropClient(Window* root_window); +AURA_EXPORT void SetDragDropClient(Window* root_window, + DragDropClient* client); +AURA_EXPORT DragDropClient* GetDragDropClient(Window* root_window); } // namespace client } // namespace aura diff --git a/ui/wm/public/drag_drop_delegate.h b/ui/wm/public/drag_drop_delegate.h index bf52b93..50f6c26 100644 --- a/ui/wm/public/drag_drop_delegate.h +++ b/ui/wm/public/drag_drop_delegate.h @@ -5,7 +5,7 @@ #ifndef UI_WM_PUBLIC_DRAG_DROP_DELEGATE_H_ #define UI_WM_PUBLIC_DRAG_DROP_DELEGATE_H_ -#include "ui/wm/wm_export.h" +#include "ui/aura/aura_export.h" namespace ui { class DropTargetEvent; @@ -16,7 +16,7 @@ class Window; namespace client { // Delegate interface for drag and drop actions on aura::Window. -class WM_EXPORT DragDropDelegate { +class AURA_EXPORT DragDropDelegate { public: // OnDragEntered is invoked when the mouse enters this window during a drag & // drop session. This is immediately followed by an invocation of @@ -41,8 +41,9 @@ class WM_EXPORT DragDropDelegate { virtual ~DragDropDelegate() {} }; -WM_EXPORT void SetDragDropDelegate(Window* window, DragDropDelegate* delegate); -WM_EXPORT DragDropDelegate* GetDragDropDelegate(Window* window); +AURA_EXPORT void SetDragDropDelegate(Window* window, + DragDropDelegate* delegate); +AURA_EXPORT DragDropDelegate* GetDragDropDelegate(Window* window); } // namespace client } // namespace aura diff --git a/ui/wm/public/scoped_tooltip_disabler.h b/ui/wm/public/scoped_tooltip_disabler.h index 8371c02..0fd3e11 100644 --- a/ui/wm/public/scoped_tooltip_disabler.h +++ b/ui/wm/public/scoped_tooltip_disabler.h @@ -6,13 +6,12 @@ #define UI_WM_PUBLIC_SCOPED_TOOLTIP_DISABLER_H_ #include "ui/aura/window_observer.h" -#include "ui/wm/wm_export.h" namespace aura { namespace client { // Use to temporarily disable tooltips. -class WM_EXPORT ScopedTooltipDisabler : aura::WindowObserver { +class AURA_EXPORT ScopedTooltipDisabler : aura::WindowObserver { public: // Disables tooltips on |window| (does nothing if |window| is NULL). Tooltips // are reenabled from the destructor when there are no most outstanding diff --git a/ui/wm/public/tooltip_client.h b/ui/wm/public/tooltip_client.h index 477b239..f592b21 100644 --- a/ui/wm/public/tooltip_client.h +++ b/ui/wm/public/tooltip_client.h @@ -5,8 +5,8 @@ #ifndef UI_WM_PUBLIC_TOOLTIP_CLIENT_H_ #define UI_WM_PUBLIC_TOOLTIP_CLIENT_H_ +#include "ui/aura/aura_export.h" #include "ui/gfx/font.h" -#include "ui/wm/wm_export.h" namespace aura { class Window; @@ -14,7 +14,7 @@ namespace client { class ScopedTooltipDisabler; -class WM_EXPORT TooltipClient { +class AURA_EXPORT TooltipClient { public: // Informs the shell tooltip manager of change in tooltip for window |target|. virtual void UpdateTooltip(Window* target) = 0; @@ -32,11 +32,12 @@ class WM_EXPORT TooltipClient { friend class ScopedTooltipDisabler; }; -WM_EXPORT void SetTooltipClient(Window* root_window, TooltipClient* client); -WM_EXPORT TooltipClient* GetTooltipClient(Window* root_window); +AURA_EXPORT void SetTooltipClient(Window* root_window, + TooltipClient* client); +AURA_EXPORT TooltipClient* GetTooltipClient(Window* root_window); -WM_EXPORT void SetTooltipText(Window* window, base::string16* tooltip_text); -WM_EXPORT const base::string16 GetTooltipText(Window* window); +AURA_EXPORT void SetTooltipText(Window* window, base::string16* tooltip_text); +AURA_EXPORT const base::string16 GetTooltipText(Window* window); } // namespace client } // namespace aura diff --git a/ui/wm/public/transient_window_client.h b/ui/wm/public/transient_window_client.h index 66aa33f..2086100 100644 --- a/ui/wm/public/transient_window_client.h +++ b/ui/wm/public/transient_window_client.h @@ -6,7 +6,7 @@ #define UI_WM_PUBLIC_TRANSIENT_WINDOW_CLIENT_H_ #include "base/basictypes.h" -#include "ui/wm/wm_export.h" +#include "ui/aura/aura_export.h" namespace aura { @@ -24,7 +24,7 @@ namespace client { // Transient windows are typically used for popups and menus. // TODO(sky): nuke this class and replace with calls to TransientWindowManager. // This is temporary until we start moving to ui/wm. -class WM_EXPORT TransientWindowClient { +class AURA_EXPORT TransientWindowClient { public: virtual void AddTransientChild(Window* parent, Window* child) = 0; virtual void RemoveTransientChild(Window* parent, Window* child) = 0; @@ -38,8 +38,8 @@ class WM_EXPORT TransientWindowClient { // Sets/gets the TransientWindowClient. This does *not* take ownership of // |client|. It is assumed the caller will invoke SetTransientWindowClient(NULL) // before deleting |client|. -WM_EXPORT void SetTransientWindowClient(TransientWindowClient* client); -WM_EXPORT TransientWindowClient* GetTransientWindowClient(); +AURA_EXPORT void SetTransientWindowClient(TransientWindowClient* client); +AURA_EXPORT TransientWindowClient* GetTransientWindowClient(); } // namespace client } // namespace aura diff --git a/ui/wm/public/window_move_client.h b/ui/wm/public/window_move_client.h index d8e5794..b8943d3 100644 --- a/ui/wm/public/window_move_client.h +++ b/ui/wm/public/window_move_client.h @@ -5,8 +5,8 @@ #ifndef UI_WM_PUBLIC_WINDOW_MOVE_CLIENT_H_ #define UI_WM_PUBLIC_WINDOW_MOVE_CLIENT_H_ +#include "ui/aura/aura_export.h" #include "ui/gfx/vector2d.h" -#include "ui/wm/wm_export.h" namespace gfx { class Point; @@ -28,7 +28,7 @@ enum WindowMoveSource { // An interface implemented by an object that manages programatically keyed // window moving. -class WM_EXPORT WindowMoveClient { +class AURA_EXPORT WindowMoveClient { public: // Starts a nested message loop for moving the window. |drag_offset| is the // offset from the window origin to the cursor when the drag was started. @@ -46,8 +46,9 @@ class WM_EXPORT WindowMoveClient { }; // Sets/Gets the activation client for the specified window. -WM_EXPORT void SetWindowMoveClient(Window* window, WindowMoveClient* client); -WM_EXPORT WindowMoveClient* GetWindowMoveClient(Window* window); +AURA_EXPORT void SetWindowMoveClient(Window* window, + WindowMoveClient* client); +AURA_EXPORT WindowMoveClient* GetWindowMoveClient(Window* window); } // namespace client } // namespace aura diff --git a/ui/wm/test/wm_test_helper.cc b/ui/wm/test/wm_test_helper.cc index b47de06..160923c8 100644 --- a/ui/wm/test/wm_test_helper.cc +++ b/ui/wm/test/wm_test_helper.cc @@ -4,37 +4,49 @@ #include "ui/wm/test/wm_test_helper.h" -#include "base/message_loop/message_loop.h" +#include "ui/aura/client/default_activation_client.h" +#include "ui/aura/client/default_capture_client.h" +#include "ui/aura/env.h" +#include "ui/aura/test/test_focus_client.h" #include "ui/aura/window.h" -#include "ui/wm/core/default_activation_client.h" +#include "ui/wm/core/compound_event_filter.h" +#include "ui/wm/core/input_method_event_filter.h" namespace wm { -WMTestHelper::WMTestHelper(const gfx::Size& default_window_size) - : aura::test::AuraTestHelper(base::MessageLoopForUI::current()) { - default_window_size_ = default_window_size; -} +WMTestHelper::WMTestHelper(const gfx::Size& default_window_size) { + aura::Env::CreateInstance(); + host_.reset(aura::WindowTreeHost::Create(gfx::Rect(default_window_size))); + host_->InitHost(); + aura::client::SetWindowTreeClient(host_->window(), this); -WMTestHelper::WMTestHelper() - : aura::test::AuraTestHelper(base::MessageLoopForUI::current()) { -} + focus_client_.reset(new aura::test::TestFocusClient); + aura::client::SetFocusClient(host_->window(), focus_client_.get()); -WMTestHelper::~WMTestHelper() { -} + root_window_event_filter_ = new wm::CompoundEventFilter; + // Pass ownership of the filter to the root_window. + host_->window()->SetEventFilter(root_window_event_filter_); -//////////////////////////////////////////////////////////////////////////////// -// WMTestHelper, AuraTestHelper overrides: + input_method_filter_.reset(new wm::InputMethodEventFilter( + host_->GetAcceleratedWidget())); + input_method_filter_->SetInputMethodPropertyInRootWindow(host_->window()); + root_window_event_filter_->AddHandler(input_method_filter_.get()); -void WMTestHelper::SetUp() { - aura::test::AuraTestHelper::SetUp(); activation_client_.reset( - new aura::client::DefaultActivationClient(root_window())); + new aura::client::DefaultActivationClient(host_->window())); + + capture_client_.reset( + new aura::client::DefaultCaptureClient(host_->window())); } -void WMTestHelper::TearDown() { - activation_client_.reset(); - aura::test::AuraTestHelper::TearDown(); +WMTestHelper::~WMTestHelper() { + root_window_event_filter_->RemoveHandler(input_method_filter_.get()); } +aura::Window* WMTestHelper::GetDefaultParent(aura::Window* context, + aura::Window* window, + const gfx::Rect& bounds) { + return host_->window(); +} } // namespace wm diff --git a/ui/wm/test/wm_test_helper.h b/ui/wm/test/wm_test_helper.h index b63012e..e01486b 100644 --- a/ui/wm/test/wm_test_helper.h +++ b/ui/wm/test/wm_test_helper.h @@ -7,35 +7,56 @@ #include "base/compiler_specific.h" #include "base/memory/scoped_ptr.h" -#include "ui/aura/test/aura_test_helper.h" +#include "ui/aura/client/window_tree_client.h" +#include "ui/aura/window_tree_host.h" namespace aura { +class Window; +class WindowTreeHost; namespace client { class DefaultActivationClient; +class DefaultCaptureClient; +class FocusClient; } } namespace gfx { +class Rect; class Size; } namespace wm { +class CompoundEventFilter; +class InputMethodEventFilter; +} + +namespace wm { // Creates a minimal environment for running the shell. We can't pull in all of // ash here, but we can create attach several of the same things we'd find in // the ash parts of the code. -class WMTestHelper : public aura::test::AuraTestHelper { +class WMTestHelper : public aura::client::WindowTreeClient { public: explicit WMTestHelper(const gfx::Size& default_window_size); - WMTestHelper(); virtual ~WMTestHelper(); - // Overridden from aura::test::AuraTestHelper: - virtual void SetUp() OVERRIDE; - virtual void TearDown() OVERRIDE; + aura::WindowTreeHost* host() { return host_.get(); } + + // Overridden from client::WindowTreeClient: + virtual aura::Window* GetDefaultParent(aura::Window* context, + aura::Window* window, + const gfx::Rect& bounds) OVERRIDE; private: + scoped_ptr<aura::WindowTreeHost> host_; + + // Owned by the root Window. + wm::CompoundEventFilter* root_window_event_filter_; + + scoped_ptr<aura::client::DefaultCaptureClient> capture_client_; + scoped_ptr<wm::InputMethodEventFilter> input_method_filter_; scoped_ptr<aura::client::DefaultActivationClient> activation_client_; + scoped_ptr<aura::client::FocusClient> focus_client_; DISALLOW_COPY_AND_ASSIGN(WMTestHelper); }; diff --git a/ui/wm/wm.gyp b/ui/wm/wm.gyp index 2b438eb..a1960ec 100644 --- a/ui/wm/wm.gyp +++ b/ui/wm/wm.gyp @@ -8,7 +8,19 @@ }, 'targets': [ { - 'target_name': 'wm', + 'target_name': 'wm_public', + 'type': 'static_library', + 'dependencies': [ + '../../skia/skia.gyp:skia', + '../aura/aura.gyp:aura', + '../gfx/gfx.gyp:gfx_geometry', + ], + 'sources': [ + 'public/window_types.h', + ], + }, + { + 'target_name': 'wm_core', 'type': '<(component)', 'dependencies': [ '../../base/base.gyp:base', @@ -23,7 +35,7 @@ '../base/ui_base.gyp:ui_base', ], 'defines': [ - 'WM_IMPLEMENTATION', + 'WM_CORE_IMPLEMENTATION', ], 'sources': [ 'core/base_focus_rules.cc', @@ -34,8 +46,6 @@ 'core/compound_event_filter.h', 'core/cursor_manager.cc', 'core/cursor_manager.h', - 'core/default_activation_client.cc', - 'core/default_activation_client.h', 'core/easy_resize_window_targeter.cc', 'core/easy_resize_window_targeter.h', 'core/focus_controller.cc', @@ -70,34 +80,11 @@ 'core/window_modality_controller.h', 'core/window_util.cc', 'core/window_util.h', + 'core/wm_core_export.h', 'core/wm_core_switches.cc', 'core/wm_core_switches.h', 'core/wm_state.cc', 'core/wm_state.h', - 'public/activation_change_observer.h', - 'public/activation_change_observer.cc', - 'public/activation_client.cc', - 'public/activation_client.h', - 'public/activation_delegate.cc', - 'public/activation_delegate.h', - 'public/animation_host.cc', - 'public/animation_host.h', - 'public/dispatcher_client.cc', - 'public/dispatcher_client.h', - 'public/drag_drop_client.cc', - 'public/drag_drop_client.h', - 'public/drag_drop_delegate.cc', - 'public/drag_drop_delegate.h', - 'public/scoped_tooltip_disabler.cc', - 'public/scoped_tooltip_disabler.h', - 'public/tooltip_client.cc', - 'public/tooltip_client.h', - 'public/transient_window_client.cc', - 'public/transient_window_client.h', - 'public/window_move_client.cc', - 'public/window_move_client.h', - 'public/window_types.h', - 'wm_export.h', ], }, { @@ -106,7 +93,6 @@ 'dependencies': [ '../../skia/skia.gyp:skia', '../aura/aura.gyp:aura', - 'wm', ], 'sources': [ 'test/wm_test_helper.cc', @@ -129,7 +115,7 @@ '../gfx/gfx.gyp:gfx_geometry', '../gfx/gfx.gyp:gfx', '../base/ui_base.gyp:ui_base', - 'wm', + 'wm_core', 'wm_test_support', ], 'sources': [ diff --git a/ui/wm/wm_export.h b/ui/wm/wm_export.h deleted file mode 100644 index 0dc0f04..0000000 --- a/ui/wm/wm_export.h +++ /dev/null @@ -1,32 +0,0 @@ -// 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. - -#ifndef UI_WM_WM_EXPORT_H_ -#define UI_WM_WM_EXPORT_H_ - -// Defines WM_CORE_EXPORT so that functionality implemented by the Views module -// can be exported to consumers. - -#if defined(COMPONENT_BUILD) -#if defined(WIN32) - -#if defined(WM_IMPLEMENTATION) -#define WM_EXPORT __declspec(dllexport) -#else -#define WM_EXPORT __declspec(dllimport) -#endif // defined(WM_IMPLEMENTATION) - -#else // defined(WIN32) -#if defined(WM_IMPLEMENTATION) -#define WM_EXPORT __attribute__((visibility("default"))) -#else -#define WM_EXPORT -#endif -#endif - -#else // defined(COMPONENT_BUILD) -#define WM_EXPORT -#endif - -#endif // UI_WM_WM_EXPORT_H_ |