| Index: mojo/services/view_manager/server_view.cc
|
| diff --git a/mojo/services/view_manager/server_view.cc b/mojo/services/view_manager/server_view.cc
|
| index 937f43705b9aacd0260f62fb5341168e5cb4c296..991ab8e0d1f1db3603a852912a86bcbc6585a29a 100644
|
| --- a/mojo/services/view_manager/server_view.cc
|
| +++ b/mojo/services/view_manager/server_view.cc
|
| @@ -10,11 +10,13 @@ namespace mojo {
|
| namespace service {
|
|
|
| ServerView::ServerView(ServerViewDelegate* delegate, const ViewId& id)
|
| - : delegate_(delegate), id_(id), parent_(NULL), visible_(true) {
|
| + : delegate_(delegate), id_(id), parent_(NULL), visible_(true), opacity_(1) {
|
| DCHECK(delegate); // Must provide a delegate.
|
| }
|
|
|
| ServerView::~ServerView() {
|
| + delegate_->OnWillDestroyView(this);
|
| +
|
| while (!children_.empty())
|
| children_.front()->parent()->Remove(children_.front());
|
|
|
| @@ -36,7 +38,7 @@ void ServerView::Add(ServerView* child) {
|
| return;
|
| }
|
|
|
| - const ServerView* old_parent = child->parent();
|
| + ServerView* old_parent = child->parent();
|
| child->delegate_->OnWillChangeViewHierarchy(child, this, old_parent);
|
| if (child->parent())
|
| child->parent()->RemoveImpl(child);
|
| @@ -121,6 +123,13 @@ void ServerView::SetVisible(bool value) {
|
| visible_ = value;
|
| }
|
|
|
| +void ServerView::SetOpacity(float value) {
|
| + if (value == opacity_)
|
| + return;
|
| + opacity_ = value;
|
| + delegate_->OnScheduleViewPaint(this);
|
| +}
|
| +
|
| void ServerView::SetProperty(const std::string& name,
|
| const std::vector<uint8_t>* value) {
|
| auto it = properties_.find(name);
|
|
|