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

Side by Side Diff: content/browser/web_contents/web_contents_view_aura.cc

Issue 678973004: Standardize usage of virtual/override/final specifiers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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 (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 #include "content/browser/web_contents/web_contents_view_aura.h" 5 #include "content/browser/web_contents/web_contents_view_aura.h"
6 6
7 #include "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/files/file_util.h" 9 #include "base/files/file_util.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 std::vector<gfx::ImagePNGRep> image_reps; 137 std::vector<gfx::ImagePNGRep> image_reps;
138 image_reps.push_back(gfx::ImagePNGRep(entry->screenshot(), 1.0f)); 138 image_reps.push_back(gfx::ImagePNGRep(entry->screenshot(), 1.0f));
139 image = gfx::Image(image_reps); 139 image = gfx::Image(image_reps);
140 } 140 }
141 SetImage(image); 141 SetImage(image);
142 } 142 }
143 143
144 void stop_forwarding_events() { forward_events_ = false; } 144 void stop_forwarding_events() { forward_events_ = false; }
145 145
146 private: 146 private:
147 virtual ~OverscrollWindowDelegate() {} 147 ~OverscrollWindowDelegate() override {}
148 148
149 aura::Window* web_contents_window() { 149 aura::Window* web_contents_window() {
150 return web_contents_->GetView()->GetContentNativeView(); 150 return web_contents_->GetView()->GetContentNativeView();
151 } 151 }
152 152
153 // Overridden from ui::EventHandler. 153 // Overridden from ui::EventHandler.
154 virtual void OnScrollEvent(ui::ScrollEvent* event) override { 154 void OnScrollEvent(ui::ScrollEvent* event) override {
155 if (forward_events_ && web_contents_window()) 155 if (forward_events_ && web_contents_window())
156 web_contents_window()->delegate()->OnScrollEvent(event); 156 web_contents_window()->delegate()->OnScrollEvent(event);
157 } 157 }
158 158
159 virtual void OnGestureEvent(ui::GestureEvent* event) override { 159 void OnGestureEvent(ui::GestureEvent* event) override {
160 if (forward_events_ && web_contents_window()) 160 if (forward_events_ && web_contents_window())
161 web_contents_window()->delegate()->OnGestureEvent(event); 161 web_contents_window()->delegate()->OnGestureEvent(event);
162 } 162 }
163 163
164 WebContentsImpl* web_contents_; 164 WebContentsImpl* web_contents_;
165 165
166 // The window is displayed both during the gesture, and after the gesture 166 // The window is displayed both during the gesture, and after the gesture
167 // while the navigation is in progress. During the gesture, it is necessary to 167 // while the navigation is in progress. During the gesture, it is necessary to
168 // forward input events to the content page (e.g. when the overscroll window 168 // forward input events to the content page (e.g. when the overscroll window
169 // slides under the cursor and starts receiving scroll events). However, once 169 // slides under the cursor and starts receiving scroll events). However, once
170 // the gesture is complete, and the window is being displayed as an overlay 170 // the gesture is complete, and the window is being displayed as an overlay
171 // window during navigation, events should not be forwarded anymore. 171 // window during navigation, events should not be forwarded anymore.
172 bool forward_events_; 172 bool forward_events_;
173 173
174 DISALLOW_COPY_AND_ASSIGN(OverscrollWindowDelegate); 174 DISALLOW_COPY_AND_ASSIGN(OverscrollWindowDelegate);
175 }; 175 };
176 176
177 // Listens to all mouse drag events during a drag and drop and sends them to 177 // Listens to all mouse drag events during a drag and drop and sends them to
178 // the renderer. 178 // the renderer.
179 class WebDragSourceAura : public NotificationObserver { 179 class WebDragSourceAura : public NotificationObserver {
180 public: 180 public:
181 WebDragSourceAura(aura::Window* window, WebContentsImpl* contents) 181 WebDragSourceAura(aura::Window* window, WebContentsImpl* contents)
182 : window_(window), 182 : window_(window),
183 contents_(contents) { 183 contents_(contents) {
184 registrar_.Add(this, 184 registrar_.Add(this,
185 NOTIFICATION_WEB_CONTENTS_DISCONNECTED, 185 NOTIFICATION_WEB_CONTENTS_DISCONNECTED,
186 Source<WebContents>(contents)); 186 Source<WebContents>(contents));
187 } 187 }
188 188
189 virtual ~WebDragSourceAura() { 189 ~WebDragSourceAura() override {}
190 }
191 190
192 // NotificationObserver: 191 // NotificationObserver:
193 virtual void Observe(int type, 192 void Observe(int type,
194 const NotificationSource& source, 193 const NotificationSource& source,
195 const NotificationDetails& details) override { 194 const NotificationDetails& details) override {
196 if (type != NOTIFICATION_WEB_CONTENTS_DISCONNECTED) 195 if (type != NOTIFICATION_WEB_CONTENTS_DISCONNECTED)
197 return; 196 return;
198 197
199 // Cancel the drag if it is still in progress. 198 // Cancel the drag if it is still in progress.
200 aura::client::DragDropClient* dnd_client = 199 aura::client::DragDropClient* dnd_client =
201 aura::client::GetDragDropClient(window_->GetRootWindow()); 200 aura::client::GetDragDropClient(window_->GetRootWindow());
202 if (dnd_client && dnd_client->IsDragDropInProgress()) 201 if (dnd_client && dnd_client->IsDragDropInProgress())
203 dnd_client->DragCancel(); 202 dnd_client->DragCancel();
204 203
205 window_ = NULL; 204 window_ = NULL;
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
472 : view_(view), 471 : view_(view),
473 host_window_(NULL) { 472 host_window_(NULL) {
474 view_->window_->AddObserver(this); 473 view_->window_->AddObserver(this);
475 474
476 #if defined(OS_WIN) 475 #if defined(OS_WIN)
477 if (view_->window_->GetRootWindow()) 476 if (view_->window_->GetRootWindow())
478 view_->window_->GetRootWindow()->AddObserver(this); 477 view_->window_->GetRootWindow()->AddObserver(this);
479 #endif 478 #endif
480 } 479 }
481 480
482 virtual ~WindowObserver() { 481 ~WindowObserver() override {
483 view_->window_->RemoveObserver(this); 482 view_->window_->RemoveObserver(this);
484 if (view_->window_->GetHost()) 483 if (view_->window_->GetHost())
485 view_->window_->GetHost()->RemoveObserver(this); 484 view_->window_->GetHost()->RemoveObserver(this);
486 if (host_window_) 485 if (host_window_)
487 host_window_->RemoveObserver(this); 486 host_window_->RemoveObserver(this);
488 #if defined(OS_WIN) 487 #if defined(OS_WIN)
489 if (host_window_) { 488 if (host_window_) {
490 const aura::Window::Windows& children = host_window_->children(); 489 const aura::Window::Windows& children = host_window_->children();
491 for (size_t i = 0; i < children.size(); ++i) 490 for (size_t i = 0; i < children.size(); ++i)
492 children[i]->RemoveObserver(this); 491 children[i]->RemoveObserver(this);
493 } 492 }
494 493
495 aura::Window* root_window = view_->window_->GetRootWindow(); 494 aura::Window* root_window = view_->window_->GetRootWindow();
496 if (root_window) { 495 if (root_window) {
497 root_window->RemoveObserver(this); 496 root_window->RemoveObserver(this);
498 const aura::Window::Windows& root_children = root_window->children(); 497 const aura::Window::Windows& root_children = root_window->children();
499 for (size_t i = 0; i < root_children.size(); ++i) 498 for (size_t i = 0; i < root_children.size(); ++i)
500 root_children[i]->RemoveObserver(this); 499 root_children[i]->RemoveObserver(this);
501 } 500 }
502 #endif 501 #endif
503 } 502 }
504 503
505 // Overridden from aura::WindowObserver: 504 // Overridden from aura::WindowObserver:
506 virtual void OnWindowHierarchyChanged( 505 void OnWindowHierarchyChanged(
507 const aura::WindowObserver::HierarchyChangeParams& params) override { 506 const aura::WindowObserver::HierarchyChangeParams& params) override {
508 if (params.receiver != view_->window_.get() || 507 if (params.receiver != view_->window_.get() ||
509 !params.target->Contains(view_->window_.get())) { 508 !params.target->Contains(view_->window_.get())) {
510 return; 509 return;
511 } 510 }
512 511
513 // Use the new parent's root window for calculating HiDPI subpixel offset. 512 // Use the new parent's root window for calculating HiDPI subpixel offset.
514 RenderWidgetHostViewAura* rwhv = ToRenderWidgetHostViewAura( 513 RenderWidgetHostViewAura* rwhv = ToRenderWidgetHostViewAura(
515 view_->web_contents_->GetRenderWidgetHostView()); 514 view_->web_contents_->GetRenderWidgetHostView());
516 if (rwhv) 515 if (rwhv)
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 virtual void OnWindowVisibilityChanged(aura::Window* window, 552 virtual void OnWindowVisibilityChanged(aura::Window* window,
554 bool visible) override { 553 bool visible) override {
555 if (window == view_->window_ || 554 if (window == view_->window_ ||
556 window->parent() == host_window_ || 555 window->parent() == host_window_ ||
557 window->parent() == view_->window_->GetRootWindow()) { 556 window->parent() == view_->window_->GetRootWindow()) {
558 UpdateConstrainedWindows(NULL); 557 UpdateConstrainedWindows(NULL);
559 } 558 }
560 } 559 }
561 #endif 560 #endif
562 561
563 virtual void OnWindowParentChanged(aura::Window* window, 562 void OnWindowParentChanged(aura::Window* window,
564 aura::Window* parent) override { 563 aura::Window* parent) override {
565 if (window != view_->window_) 564 if (window != view_->window_)
566 return; 565 return;
567 566
568 aura::Window* host_window = 567 aura::Window* host_window =
569 window->GetProperty(aura::client::kHostWindowKey); 568 window->GetProperty(aura::client::kHostWindowKey);
570 if (!host_window) 569 if (!host_window)
571 host_window = parent; 570 host_window = parent;
572 571
573 if (host_window_) 572 if (host_window_)
574 host_window_->RemoveObserver(this); 573 host_window_->RemoveObserver(this);
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
608 const aura::Window::Windows& children = host_window->children(); 607 const aura::Window::Windows& children = host_window->children();
609 for (size_t i = 0; i < children.size(); ++i) { 608 for (size_t i = 0; i < children.size(); ++i) {
610 if (!children[i]->Contains(view_->window_.get())) 609 if (!children[i]->Contains(view_->window_.get()))
611 children[i]->AddObserver(this); 610 children[i]->AddObserver(this);
612 } 611 }
613 } 612 }
614 #endif 613 #endif
615 } 614 }
616 } 615 }
617 616
618 virtual void OnWindowBoundsChanged(aura::Window* window, 617 void OnWindowBoundsChanged(aura::Window* window,
619 const gfx::Rect& old_bounds, 618 const gfx::Rect& old_bounds,
620 const gfx::Rect& new_bounds) override { 619 const gfx::Rect& new_bounds) override {
621 if (window == host_window_ || window == view_->window_) { 620 if (window == host_window_ || window == view_->window_) {
622 SendScreenRects(); 621 SendScreenRects();
623 if (view_->touch_editable_) 622 if (view_->touch_editable_)
624 view_->touch_editable_->UpdateEditingController(); 623 view_->touch_editable_->UpdateEditingController();
625 #if defined(OS_WIN) 624 #if defined(OS_WIN)
626 } else { 625 } else {
627 UpdateConstrainedWindows(NULL); 626 UpdateConstrainedWindows(NULL);
628 #endif 627 #endif
629 } 628 }
630 } 629 }
631 630
632 virtual void OnWindowDestroying(aura::Window* window) override { 631 void OnWindowDestroying(aura::Window* window) override {
633 if (window == host_window_) { 632 if (window == host_window_) {
634 host_window_->RemoveObserver(this); 633 host_window_->RemoveObserver(this);
635 host_window_ = NULL; 634 host_window_ = NULL;
636 } 635 }
637 } 636 }
638 637
639 virtual void OnWindowAddedToRootWindow(aura::Window* window) override { 638 void OnWindowAddedToRootWindow(aura::Window* window) override {
640 if (window == view_->window_) { 639 if (window == view_->window_) {
641 window->GetHost()->AddObserver(this); 640 window->GetHost()->AddObserver(this);
642 #if defined(OS_WIN) 641 #if defined(OS_WIN)
643 if (!window->GetRootWindow()->HasObserver(this)) 642 if (!window->GetRootWindow()->HasObserver(this))
644 window->GetRootWindow()->AddObserver(this); 643 window->GetRootWindow()->AddObserver(this);
645 #endif 644 #endif
646 } 645 }
647 } 646 }
648 647
649 virtual void OnWindowRemovingFromRootWindow(aura::Window* window, 648 void OnWindowRemovingFromRootWindow(aura::Window* window,
650 aura::Window* new_root) override { 649 aura::Window* new_root) override {
651 if (window == view_->window_) { 650 if (window == view_->window_) {
652 window->GetHost()->RemoveObserver(this); 651 window->GetHost()->RemoveObserver(this);
653 #if defined(OS_WIN) 652 #if defined(OS_WIN)
654 window->GetRootWindow()->RemoveObserver(this); 653 window->GetRootWindow()->RemoveObserver(this);
655 654
656 const aura::Window::Windows& root_children = 655 const aura::Window::Windows& root_children =
657 window->GetRootWindow()->children(); 656 window->GetRootWindow()->children();
658 for (size_t i = 0; i < root_children.size(); ++i) { 657 for (size_t i = 0; i < root_children.size(); ++i) {
659 if (root_children[i] != view_->window_ && 658 if (root_children[i] != view_->window_ &&
660 root_children[i] != host_window_) { 659 root_children[i] != host_window_) {
661 root_children[i]->RemoveObserver(this); 660 root_children[i]->RemoveObserver(this);
662 } 661 }
663 } 662 }
664 #endif 663 #endif
665 } 664 }
666 } 665 }
667 666
668 // Overridden WindowTreeHostObserver: 667 // Overridden WindowTreeHostObserver:
669 virtual void OnHostMoved(const aura::WindowTreeHost* host, 668 void OnHostMoved(const aura::WindowTreeHost* host,
670 const gfx::Point& new_origin) override { 669 const gfx::Point& new_origin) override {
671 TRACE_EVENT1("ui", 670 TRACE_EVENT1("ui",
672 "WebContentsViewAura::WindowObserver::OnHostMoved", 671 "WebContentsViewAura::WindowObserver::OnHostMoved",
673 "new_origin", new_origin.ToString()); 672 "new_origin", new_origin.ToString());
674 673
675 // This is for the desktop case (i.e. Aura desktop). 674 // This is for the desktop case (i.e. Aura desktop).
676 SendScreenRects(); 675 SendScreenRects();
677 } 676 }
678 677
679 private: 678 private:
680 void SendScreenRects() { 679 void SendScreenRects() {
(...skipping 953 matching lines...) Expand 10 before | Expand all | Expand 10 after
1634 if (visible) { 1633 if (visible) {
1635 if (!web_contents_->should_normally_be_visible()) 1634 if (!web_contents_->should_normally_be_visible())
1636 web_contents_->WasShown(); 1635 web_contents_->WasShown();
1637 } else { 1636 } else {
1638 if (web_contents_->should_normally_be_visible()) 1637 if (web_contents_->should_normally_be_visible())
1639 web_contents_->WasHidden(); 1638 web_contents_->WasHidden();
1640 } 1639 }
1641 } 1640 }
1642 1641
1643 } // namespace content 1642 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698