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

Unified Diff: services/ui/view_manager/view_tree_state.h

Issue 1552043002: Make Mozart view manager use the new compositor. (Closed) Base URL: git@github.com:domokit/mojo.git@moz-12
Patch Set: Created 4 years, 12 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 side-by-side diff with in-line comments
Download patch
Index: services/ui/view_manager/view_tree_state.h
diff --git a/services/ui/view_manager/view_tree_state.h b/services/ui/view_manager/view_tree_state.h
index abcbad9ff8755ab66c04fdaa8c3078918039203b..df5d36bb6c20396c0141f07a9eb0a2e7d31fb5e6 100644
--- a/services/ui/view_manager/view_tree_state.h
+++ b/services/ui/view_manager/view_tree_state.h
@@ -7,12 +7,15 @@
#include <memory>
#include <set>
+#include <string>
#include <unordered_map>
#include "base/callback.h"
#include "base/macros.h"
#include "base/memory/weak_ptr.h"
+#include "mojo/common/binding_set.h"
#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/services/ui/views/cpp/logging.h"
#include "mojo/services/ui/views/interfaces/view_trees.mojom.h"
#include "services/ui/view_manager/view_state.h"
@@ -22,7 +25,9 @@ namespace view_manager {
// This object is owned by the ViewRegistry that created it.
class ViewTreeState {
public:
- explicit ViewTreeState(mojo::ui::ViewTreePtr view_tree);
+ explicit ViewTreeState(mojo::ui::ViewTreePtr view_tree,
+ mojo::ui::ViewTreeTokenPtr view_tree_token,
+ const std::string& label);
~ViewTreeState();
base::WeakPtr<ViewTreeState> GetWeakPtr() {
@@ -33,6 +38,12 @@ class ViewTreeState {
// Caller does not obtain ownership of the view.
mojo::ui::ViewTree* view_tree() const { return view_tree_.get(); }
+ // Gets the token used to refer to this view tree globally.
+ // Caller does not obtain ownership of the token.
+ mojo::ui::ViewTreeToken* view_tree_token() const {
+ return view_tree_token_.get();
+ }
+
// Sets the associated host implementation and takes ownership of it.
void set_view_tree_host(mojo::ui::ViewTreeHost* host) {
view_tree_host_.reset(host);
@@ -68,20 +79,28 @@ class ViewTreeState {
bool layout_request_issued() const { return layout_request_issued_; }
void set_layout_request_issued(bool value) { layout_request_issued_ = value; }
+ const std::string& label() { return label_; }
+ std::string FormattedLabel();
abarth 2016/01/10 01:42:55 If you've got a cache, you might as well return a
jeffbrown 2016/01/26 05:59:13 Done.
+
private:
mojo::ui::ViewTreePtr view_tree_;
+ mojo::ui::ViewTreeTokenPtr view_tree_token_;
+ const std::string label_;
+ std::string formatted_label_cache_;
std::unique_ptr<mojo::ui::ViewTreeHost> view_tree_host_;
- ViewState* root_;
- bool explicit_root_;
- bool layout_request_pending_;
- bool layout_request_issued_;
+ ViewState* root_ = nullptr;
+ bool explicit_root_ = false;
+ bool layout_request_pending_ = false;
+ bool layout_request_issued_ = false;
base::WeakPtrFactory<ViewTreeState> weak_factory_; // must be last
DISALLOW_COPY_AND_ASSIGN(ViewTreeState);
};
+std::ostream& operator<<(std::ostream& os, ViewTreeState* view_tree_state);
+
} // namespace view_manager
#endif // SERVICES_UI_VIEW_MANAGER_VIEW_TREE_STATE_H_

Powered by Google App Engine
This is Rietveld 408576698