summaryrefslogtreecommitdiffstats
path: root/ui/wm
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-26 15:33:35 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-26 15:33:35 +0000
commit4cc33f40fde0c1c537863321fa6fde6aa2629843 (patch)
tree49a4c1e4b9b8139634530af085e544e1d003ebe5 /ui/wm
parent14be8a2901fd1ef01b2d886fdc67b46dfad95a8f (diff)
downloadchromium_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')
-rw-r--r--ui/wm/core/base_focus_rules.h2
-rw-r--r--ui/wm/core/capture_controller.h6
-rw-r--r--ui/wm/core/compound_event_filter.h4
-rw-r--r--ui/wm/core/cursor_manager.h6
-rw-r--r--ui/wm/core/default_activation_client.cc128
-rw-r--r--ui/wm/core/default_activation_client.h69
-rw-r--r--ui/wm/core/easy_resize_window_targeter.h4
-rw-r--r--ui/wm/core/focus_controller.h4
-rw-r--r--ui/wm/core/focus_rules.h4
-rw-r--r--ui/wm/core/image_grid.h6
-rw-r--r--ui/wm/core/input_method_event_filter.h4
-rw-r--r--ui/wm/core/masked_window_targeter.h4
-rw-r--r--ui/wm/core/native_cursor_manager.h4
-rw-r--r--ui/wm/core/native_cursor_manager_delegate.h4
-rw-r--r--ui/wm/core/shadow.h4
-rw-r--r--ui/wm/core/shadow_controller.h6
-rw-r--r--ui/wm/core/shadow_types.h6
-rw-r--r--ui/wm/core/transient_window_controller.h4
-rw-r--r--ui/wm/core/transient_window_manager.h4
-rw-r--r--ui/wm/core/transient_window_observer.h4
-rw-r--r--ui/wm/core/transient_window_stacking_client.h4
-rw-r--r--ui/wm/core/visibility_controller.h8
-rw-r--r--ui/wm/core/window_animations.cc2
-rw-r--r--ui/wm/core/window_animations.h29
-rw-r--r--ui/wm/core/window_modality_controller.h12
-rw-r--r--ui/wm/core/window_util.h32
-rw-r--r--ui/wm/core/wm_core_export.h32
-rw-r--r--ui/wm/core/wm_core_switches.h4
-rw-r--r--ui/wm/core/wm_state.h4
-rw-r--r--ui/wm/public/activation_change_observer.h9
-rw-r--r--ui/wm/public/activation_client.cc2
-rw-r--r--ui/wm/public/activation_client.h14
-rw-r--r--ui/wm/public/activation_delegate.h10
-rw-r--r--ui/wm/public/animation_host.h9
-rw-r--r--ui/wm/public/dispatcher_client.h10
-rw-r--r--ui/wm/public/drag_drop_client.h9
-rw-r--r--ui/wm/public/drag_drop_delegate.h9
-rw-r--r--ui/wm/public/scoped_tooltip_disabler.h3
-rw-r--r--ui/wm/public/tooltip_client.h13
-rw-r--r--ui/wm/public/transient_window_client.h8
-rw-r--r--ui/wm/public/window_move_client.h9
-rw-r--r--ui/wm/test/wm_test_helper.cc50
-rw-r--r--ui/wm/test/wm_test_helper.h33
-rw-r--r--ui/wm/wm.gyp46
-rw-r--r--ui/wm/wm_export.h32
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_