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

Side by Side Diff: ui/aura/mus/window_tree_client.cc

Issue 2632543003: Refactor and push window properties up to class properties. (Closed)
Patch Set: More build fixes Created 3 years, 10 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "ui/aura/mus/window_tree_client.h" 5 #include "ui/aura/mus/window_tree_client.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 namespace { 62 namespace {
63 63
64 Id MakeTransportId(ClientSpecificId client_id, ClientSpecificId local_id) { 64 Id MakeTransportId(ClientSpecificId client_id, ClientSpecificId local_id) {
65 return (client_id << 16) | local_id; 65 return (client_id << 16) | local_id;
66 } 66 }
67 67
68 inline uint16_t HiWord(uint32_t id) { 68 inline uint16_t HiWord(uint32_t id) {
69 return static_cast<uint16_t>((id >> 16) & 0xFFFF); 69 return static_cast<uint16_t>((id >> 16) & 0xFFFF);
70 } 70 }
71 71
72 struct WindowPortPropertyDataMus : public WindowPortPropertyData { 72 struct WindowPortPropertyDataMus : public ui::PropertyData {
73 std::string transport_name; 73 std::string transport_name;
74 std::unique_ptr<std::vector<uint8_t>> transport_value; 74 std::unique_ptr<std::vector<uint8_t>> transport_value;
75 }; 75 };
76 76
77 // Handles acknowledgment of an input event, either immediately when a nested 77 // Handles acknowledgment of an input event, either immediately when a nested
78 // message loop starts, or upon destruction. 78 // message loop starts, or upon destruction.
79 class EventAckHandler : public base::MessageLoop::NestingObserver { 79 class EventAckHandler : public base::MessageLoop::NestingObserver {
80 public: 80 public:
81 explicit EventAckHandler(std::unique_ptr<EventResultCallback> ack_callback) 81 explicit EventAckHandler(std::unique_ptr<EventResultCallback> ack_callback)
82 : ack_callback_(std::move(ack_callback)) { 82 : ack_callback_(std::move(ack_callback)) {
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after
589 if (window->server_id() != kInvalidServerId) 589 if (window->server_id() != kInvalidServerId)
590 return; 590 return;
591 591
592 window->set_server_id(MakeTransportId(client_id_, next_window_id_++)); 592 window->set_server_id(MakeTransportId(client_id_, next_window_id_++));
593 RegisterWindowMus(window); 593 RegisterWindowMus(window);
594 594
595 DCHECK(window_manager_delegate_ || !IsRoot(window)); 595 DCHECK(window_manager_delegate_ || !IsRoot(window));
596 596
597 std::unordered_map<std::string, std::vector<uint8_t>> transport_properties; 597 std::unordered_map<std::string, std::vector<uint8_t>> transport_properties;
598 std::set<const void*> property_keys = 598 std::set<const void*> property_keys =
599 window->GetWindow()->GetAllPropertKeys(); 599 window->GetWindow()->GetAllPropertyKeys();
600 PropertyConverter* property_converter = delegate_->GetPropertyConverter(); 600 PropertyConverter* property_converter = delegate_->GetPropertyConverter();
601 for (const void* key : property_keys) { 601 for (const void* key : property_keys) {
602 std::string transport_name; 602 std::string transport_name;
603 std::unique_ptr<std::vector<uint8_t>> transport_value; 603 std::unique_ptr<std::vector<uint8_t>> transport_value;
604 if (!property_converter->ConvertPropertyForTransport( 604 if (!property_converter->ConvertPropertyForTransport(
605 window->GetWindow(), key, &transport_name, &transport_value)) { 605 window->GetWindow(), key, &transport_name, &transport_value)) {
606 continue; 606 continue;
607 } 607 }
608 transport_properties[transport_name] = 608 transport_properties[transport_name] =
609 transport_value ? std::move(*transport_value) : std::vector<uint8_t>(); 609 transport_value ? std::move(*transport_value) : std::vector<uint8_t>();
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
705 } 705 }
706 706
707 void WindowTreeClient::OnWindowMusSetVisible(WindowMus* window, bool visible) { 707 void WindowTreeClient::OnWindowMusSetVisible(WindowMus* window, bool visible) {
708 // TODO: add checks to ensure this can work. 708 // TODO: add checks to ensure this can work.
709 DCHECK(tree_); 709 DCHECK(tree_);
710 const uint32_t change_id = ScheduleInFlightChange( 710 const uint32_t change_id = ScheduleInFlightChange(
711 base::MakeUnique<InFlightVisibleChange>(this, window, !visible)); 711 base::MakeUnique<InFlightVisibleChange>(this, window, !visible));
712 tree_->SetWindowVisibility(change_id, window->server_id(), visible); 712 tree_->SetWindowVisibility(change_id, window->server_id(), visible);
713 } 713 }
714 714
715 std::unique_ptr<WindowPortPropertyData> 715 std::unique_ptr<ui::PropertyData>
716 WindowTreeClient::OnWindowMusWillChangeProperty(WindowMus* window, 716 WindowTreeClient::OnWindowMusWillChangeProperty(WindowMus* window,
717 const void* key) { 717 const void* key) {
718 if (IsInternalProperty(key)) 718 if (IsInternalProperty(key))
719 return nullptr; 719 return nullptr;
720 720
721 std::unique_ptr<WindowPortPropertyDataMus> data( 721 std::unique_ptr<WindowPortPropertyDataMus> data(
722 base::MakeUnique<WindowPortPropertyDataMus>()); 722 base::MakeUnique<WindowPortPropertyDataMus>());
723 if (!delegate_->GetPropertyConverter()->ConvertPropertyForTransport( 723 if (!delegate_->GetPropertyConverter()->ConvertPropertyForTransport(
724 window->GetWindow(), key, &data->transport_name, 724 window->GetWindow(), key, &data->transport_name,
725 &data->transport_value)) { 725 &data->transport_value)) {
726 return nullptr; 726 return nullptr;
727 } 727 }
728 return std::move(data); 728 return std::move(data);
729 } 729 }
730 730
731 void WindowTreeClient::OnWindowMusPropertyChanged( 731 void WindowTreeClient::OnWindowMusPropertyChanged(
732 WindowMus* window, 732 WindowMus* window,
733 const void* key, 733 const void* key,
734 std::unique_ptr<WindowPortPropertyData> data) { 734 std::unique_ptr<ui::PropertyData> data) {
735 if (HandleInternalPropertyChanged(window, key) || !data) 735 if (HandleInternalPropertyChanged(window, key) || !data)
736 return; 736 return;
737 737
738 WindowPortPropertyDataMus* data_mus = 738 WindowPortPropertyDataMus* data_mus =
739 static_cast<WindowPortPropertyDataMus*>(data.get()); 739 static_cast<WindowPortPropertyDataMus*>(data.get());
740 740
741 std::string transport_name; 741 std::string transport_name;
742 std::unique_ptr<std::vector<uint8_t>> transport_value; 742 std::unique_ptr<std::vector<uint8_t>> transport_value;
743 if (!delegate_->GetPropertyConverter()->ConvertPropertyForTransport( 743 if (!delegate_->GetPropertyConverter()->ConvertPropertyForTransport(
744 window->GetWindow(), key, &transport_name, &transport_value)) { 744 window->GetWindow(), key, &transport_name, &transport_value)) {
(...skipping 1077 matching lines...) Expand 10 before | Expand all | Expand 10 after
1822 return ScheduleInFlightChange(base::MakeUnique<InFlightCaptureChange>( 1822 return ScheduleInFlightChange(base::MakeUnique<InFlightCaptureChange>(
1823 this, capture_synchronizer_.get(), window)); 1823 this, capture_synchronizer_.get(), window));
1824 } 1824 }
1825 1825
1826 uint32_t WindowTreeClient::CreateChangeIdForFocus(WindowMus* window) { 1826 uint32_t WindowTreeClient::CreateChangeIdForFocus(WindowMus* window) {
1827 return ScheduleInFlightChange(base::MakeUnique<InFlightFocusChange>( 1827 return ScheduleInFlightChange(base::MakeUnique<InFlightFocusChange>(
1828 this, focus_synchronizer_.get(), window)); 1828 this, focus_synchronizer_.get(), window));
1829 } 1829 }
1830 1830
1831 } // namespace aura 1831 } // namespace aura
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698