| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/arc/notification/arc_custom_notification_view.h" | 5 #include "ui/arc/notification/arc_custom_notification_view.h" |
| 6 | 6 |
| 7 #include "ash/wm/window_util.h" | 7 #include "ash/wm/window_util.h" |
| 8 #include "base/auto_reset.h" | 8 #include "base/auto_reset.h" |
| 9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
| 10 #include "components/exo/notification_surface.h" | 10 #include "components/exo/notification_surface.h" |
| (...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 540 } | 540 } |
| 541 } | 541 } |
| 542 | 542 |
| 543 views::FocusTraversable* ArcCustomNotificationView::GetFocusTraversable() { | 543 views::FocusTraversable* ArcCustomNotificationView::GetFocusTraversable() { |
| 544 if (floating_control_buttons_widget_) | 544 if (floating_control_buttons_widget_) |
| 545 return static_cast<views::internal::RootView*>( | 545 return static_cast<views::internal::RootView*>( |
| 546 floating_control_buttons_widget_->GetRootView()); | 546 floating_control_buttons_widget_->GetRootView()); |
| 547 return nullptr; | 547 return nullptr; |
| 548 } | 548 } |
| 549 | 549 |
| 550 bool ArcCustomNotificationView::OnMousePressed(const ui::MouseEvent& event) { |
| 551 // TODO(yhanada): Remove this hack as soon as possible after letting |
| 552 // accessible actions be delivered to this view. |
| 553 // All mouse clicks or touches should be sent to corresponding Android view |
| 554 // because the surface is on this view, so receiving a mouse pressed event |
| 555 // means the event is generated by automation API. |
| 556 if (event.IsOnlyLeftMouseButton() && |
| 557 item_->expand_state() != mojom::ArcNotificationExpandState::FIXED_SIZE && |
| 558 event.target() != surface_->window()) { |
| 559 item_->ToggleExpansion(); |
| 560 return true; |
| 561 } |
| 562 return false; |
| 563 } |
| 564 |
| 550 void ArcCustomNotificationView::ButtonPressed(views::Button* sender, | 565 void ArcCustomNotificationView::ButtonPressed(views::Button* sender, |
| 551 const ui::Event& event) { | 566 const ui::Event& event) { |
| 552 if (item_ && !item_->pinned() && sender == close_button_.get()) { | 567 if (item_ && !item_->pinned() && sender == close_button_.get()) { |
| 553 CHECK_EQ(message_center::CustomNotificationView::kViewClassName, | 568 CHECK_EQ(message_center::CustomNotificationView::kViewClassName, |
| 554 parent()->GetClassName()); | 569 parent()->GetClassName()); |
| 555 static_cast<message_center::CustomNotificationView*>(parent()) | 570 static_cast<message_center::CustomNotificationView*>(parent()) |
| 556 ->OnCloseButtonPressed(); | 571 ->OnCloseButtonPressed(); |
| 557 } | 572 } |
| 558 if (item_ && settings_button_ && sender == settings_button_) { | 573 if (item_ && settings_button_ && sender == settings_button_) { |
| 559 item_->OpenSettings(); | 574 item_->OpenSettings(); |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 599 | 614 |
| 600 void ArcCustomNotificationView::OnNotificationSurfaceRemoved( | 615 void ArcCustomNotificationView::OnNotificationSurfaceRemoved( |
| 601 exo::NotificationSurface* surface) { | 616 exo::NotificationSurface* surface) { |
| 602 if (surface->notification_id() != notification_key_) | 617 if (surface->notification_id() != notification_key_) |
| 603 return; | 618 return; |
| 604 | 619 |
| 605 SetSurface(nullptr); | 620 SetSurface(nullptr); |
| 606 } | 621 } |
| 607 | 622 |
| 608 } // namespace arc | 623 } // namespace arc |
| OLD | NEW |