Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(447)

Side by Side Diff: ui/aura/window.h

Issue 184903003: Window ownership -> WindowTreeHost (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ui/aura/test/ui_controls_factory_aurawin.cc ('k') | ui/aura/window.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_AURA_WINDOW_H_ 5 #ifndef UI_AURA_WINDOW_H_
6 #define UI_AURA_WINDOW_H_ 6 #define UI_AURA_WINDOW_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 27 matching lines...) Expand all
38 namespace ui { 38 namespace ui {
39 class EventHandler; 39 class EventHandler;
40 class Layer; 40 class Layer;
41 class Texture; 41 class Texture;
42 } 42 }
43 43
44 namespace aura { 44 namespace aura {
45 45
46 class LayoutManager; 46 class LayoutManager;
47 class WindowDelegate; 47 class WindowDelegate;
48 class WindowEventDispatcher;
49 class WindowObserver; 48 class WindowObserver;
49 class WindowTreeHost;
50 50
51 // Defined in window_property.h (which we do not include) 51 // Defined in window_property.h (which we do not include)
52 template<typename T> 52 template<typename T>
53 struct WindowProperty; 53 struct WindowProperty;
54 54
55 namespace test { 55 namespace test {
56 class WindowTestApi; 56 class WindowTestApi;
57 } 57 }
58 58
59 // Aura window implementation. Interesting events are sent to the 59 // Aura window implementation. Interesting events are sent to the
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 Window* parent() { return parent_; } 116 Window* parent() { return parent_; }
117 const Window* parent() const { return parent_; } 117 const Window* parent() const { return parent_; }
118 118
119 // Returns the root Window that contains this Window. The root Window is 119 // Returns the root Window that contains this Window. The root Window is
120 // defined as the Window that has a dispatcher. These functions return NULL if 120 // defined as the Window that has a dispatcher. These functions return NULL if
121 // the Window is contained in a hierarchy that does not have a dispatcher at 121 // the Window is contained in a hierarchy that does not have a dispatcher at
122 // its root. 122 // its root.
123 virtual Window* GetRootWindow(); 123 virtual Window* GetRootWindow();
124 virtual const Window* GetRootWindow() const; 124 virtual const Window* GetRootWindow() const;
125 125
126 WindowEventDispatcher* GetDispatcher(); 126 WindowTreeHost* GetHost();
127 const WindowEventDispatcher* GetDispatcher() const; 127 const WindowTreeHost* GetHost() const;
128 void set_dispatcher(WindowEventDispatcher* dispatcher) { 128 void set_host(WindowTreeHost* host) { host_ = host; }
129 dispatcher_ = dispatcher; 129 bool IsRootWindow() const { return !!host_; }
130 }
131 bool HasDispatcher() const { return !!dispatcher_; }
132 130
133 // The Window does not own this object. 131 // The Window does not own this object.
134 void set_user_data(void* user_data) { user_data_ = user_data; } 132 void set_user_data(void* user_data) { user_data_ = user_data; }
135 void* user_data() const { return user_data_; } 133 void* user_data() const { return user_data_; }
136 134
137 // Changes the visibility of the window. 135 // Changes the visibility of the window.
138 void Show(); 136 void Show();
139 void Hide(); 137 void Hide();
140 // Returns true if this window and all its ancestors are visible. 138 // Returns true if this window and all its ancestors are visible.
141 bool IsVisible() const; 139 bool IsVisible() const;
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 #endif 328 #endif
331 329
332 protected: 330 protected:
333 // Deletes (or removes if not owned by parent) all child windows. Intended for 331 // Deletes (or removes if not owned by parent) all child windows. Intended for
334 // use from the destructor. 332 // use from the destructor.
335 void RemoveOrDestroyChildren(); 333 void RemoveOrDestroyChildren();
336 334
337 private: 335 private:
338 friend class test::WindowTestApi; 336 friend class test::WindowTestApi;
339 friend class LayoutManager; 337 friend class LayoutManager;
340 friend class WindowEventDispatcher;
341 friend class WindowTargeter; 338 friend class WindowTargeter;
342 339
343 // Called by the public {Set,Get,Clear}Property functions. 340 // Called by the public {Set,Get,Clear}Property functions.
344 int64 SetPropertyInternal(const void* key, 341 int64 SetPropertyInternal(const void* key,
345 const char* name, 342 const char* name,
346 PropertyDeallocator deallocator, 343 PropertyDeallocator deallocator,
347 int64 value, 344 int64 value,
348 int64 default_value); 345 int64 default_value);
349 int64 GetPropertyInternal(const void* key, int64 default_value) const; 346 int64 GetPropertyInternal(const void* key, int64 default_value) const;
350 347
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
485 const_cast<const Window*>(this)->GetAncestorWithLayer(offset)); 482 const_cast<const Window*>(this)->GetAncestorWithLayer(offset));
486 } 483 }
487 const Window* GetAncestorWithLayer(gfx::Vector2d* offset) const; 484 const Window* GetAncestorWithLayer(gfx::Vector2d* offset) const;
488 485
489 // Bounds of this window relative to the parent. This is cached as the bounds 486 // Bounds of this window relative to the parent. This is cached as the bounds
490 // of the Layer and Window are not necessarily the same. In particular bounds 487 // of the Layer and Window are not necessarily the same. In particular bounds
491 // of the Layer are relative to the first ancestor with a Layer, where as this 488 // of the Layer are relative to the first ancestor with a Layer, where as this
492 // is relative to the parent Window. 489 // is relative to the parent Window.
493 gfx::Rect bounds_; 490 gfx::Rect bounds_;
494 491
495 WindowEventDispatcher* dispatcher_; 492 WindowTreeHost* host_;
496 493
497 ui::wm::WindowType type_; 494 ui::wm::WindowType type_;
498 495
499 // True if the Window is owned by its parent - i.e. it will be deleted by its 496 // True if the Window is owned by its parent - i.e. it will be deleted by its
500 // parent during its parents destruction. True is the default. 497 // parent during its parents destruction. True is the default.
501 bool owned_by_parent_; 498 bool owned_by_parent_;
502 499
503 WindowDelegate* delegate_; 500 WindowDelegate* delegate_;
504 501
505 // The Window's parent. 502 // The Window's parent.
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
545 }; 542 };
546 543
547 std::map<const void*, Value> prop_map_; 544 std::map<const void*, Value> prop_map_;
548 545
549 DISALLOW_COPY_AND_ASSIGN(Window); 546 DISALLOW_COPY_AND_ASSIGN(Window);
550 }; 547 };
551 548
552 } // namespace aura 549 } // namespace aura
553 550
554 #endif // UI_AURA_WINDOW_H_ 551 #endif // UI_AURA_WINDOW_H_
OLDNEW
« no previous file with comments | « ui/aura/test/ui_controls_factory_aurawin.cc ('k') | ui/aura/window.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698