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

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_aura.cc

Issue 184903003: Window ownership -> WindowTreeHost (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 9 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 | Annotate | Revision Log
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/renderer_host/render_widget_host_view_aura.h" 5 #include "content/browser/renderer_host/render_widget_host_view_aura.h"
6 6
7 #include "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback_helpers.h" 10 #include "base/callback_helpers.h"
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 if (GetProp(window, kWidgetOwnerProperty) == widget) 141 if (GetProp(window, kWidgetOwnerProperty) == widget)
142 SetParent(window, ui::GetHiddenWindow()); 142 SetParent(window, ui::GetHiddenWindow());
143 return TRUE; 143 return TRUE;
144 } 144 }
145 145
146 BOOL CALLBACK ShowWindowsCallback(HWND window, LPARAM param) { 146 BOOL CALLBACK ShowWindowsCallback(HWND window, LPARAM param) {
147 RenderWidgetHostViewAura* widget = 147 RenderWidgetHostViewAura* widget =
148 reinterpret_cast<RenderWidgetHostViewAura*>(param); 148 reinterpret_cast<RenderWidgetHostViewAura*>(param);
149 149
150 if (GetProp(window, kWidgetOwnerProperty) == widget && 150 if (GetProp(window, kWidgetOwnerProperty) == widget &&
151 widget->GetNativeView()->GetDispatcher()) { 151 widget->GetNativeView()->GetHost()) {
152 HWND parent = widget->GetNativeView()->GetDispatcher()->host()-> 152 HWND parent = widget->GetNativeView()->GetHost()->GetAcceleratedWidget();
153 GetAcceleratedWidget();
154 SetParent(window, parent); 153 SetParent(window, parent);
155 } 154 }
156 return TRUE; 155 return TRUE;
157 } 156 }
158 157
159 struct CutoutRectsParams { 158 struct CutoutRectsParams {
160 RenderWidgetHostViewAura* widget; 159 RenderWidgetHostViewAura* widget;
161 std::vector<gfx::Rect> cutout_rects; 160 std::vector<gfx::Rect> cutout_rects;
162 std::map<HWND, WebPluginGeometry>* geometry; 161 std::map<HWND, WebPluginGeometry>* geometry;
163 }; 162 };
164 163
165 // Used to update the region for the windowed plugin to draw in. We start with 164 // Used to update the region for the windowed plugin to draw in. We start with
166 // the clip rect from the renderer, then remove the cutout rects from the 165 // the clip rect from the renderer, then remove the cutout rects from the
167 // renderer, and then remove the transient windows from the root window and the 166 // renderer, and then remove the transient windows from the root window and the
168 // constrained windows from the parent window. 167 // constrained windows from the parent window.
169 BOOL CALLBACK SetCutoutRectsCallback(HWND window, LPARAM param) { 168 BOOL CALLBACK SetCutoutRectsCallback(HWND window, LPARAM param) {
170 CutoutRectsParams* params = reinterpret_cast<CutoutRectsParams*>(param); 169 CutoutRectsParams* params = reinterpret_cast<CutoutRectsParams*>(param);
171 170
172 if (GetProp(window, kWidgetOwnerProperty) == params->widget) { 171 if (GetProp(window, kWidgetOwnerProperty) == params->widget) {
173 // First calculate the offset of this plugin from the root window, since 172 // First calculate the offset of this plugin from the root window, since
174 // the cutouts are relative to the root window. 173 // the cutouts are relative to the root window.
175 HWND parent = params->widget->GetNativeView()->GetDispatcher()-> 174 HWND parent =
176 host()->GetAcceleratedWidget(); 175 params->widget->GetNativeView()->GetHost()->GetAcceleratedWidget();
177 POINT offset; 176 POINT offset;
178 offset.x = offset.y = 0; 177 offset.x = offset.y = 0;
179 MapWindowPoints(window, parent, &offset, 1); 178 MapWindowPoints(window, parent, &offset, 1);
180 179
181 // Now get the cached clip rect and cutouts for this plugin window that came 180 // Now get the cached clip rect and cutouts for this plugin window that came
182 // from the renderer. 181 // from the renderer.
183 std::map<HWND, WebPluginGeometry>::iterator i = params->geometry->begin(); 182 std::map<HWND, WebPluginGeometry>::iterator i = params->geometry->begin();
184 while (i != params->geometry->end() && 183 while (i != params->geometry->end() &&
185 i->second.window != window && 184 i->second.window != window &&
186 GetParent(i->second.window) != window) { 185 GetParent(i->second.window) != window) {
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
615 released_front_lock_ = compositor->GetCompositorLock(); 614 released_front_lock_ = compositor->GetCompositorLock();
616 } 615 }
617 616
618 #if defined(OS_WIN) 617 #if defined(OS_WIN)
619 if (legacy_render_widget_host_HWND_) { 618 if (legacy_render_widget_host_HWND_) {
620 // Reparent the legacy Chrome_RenderWidgetHostHWND window to the parent 619 // Reparent the legacy Chrome_RenderWidgetHostHWND window to the parent
621 // window before reparenting any plugins. This ensures that the plugin 620 // window before reparenting any plugins. This ensures that the plugin
622 // windows stay on top of the child Zorder in the parent and receive 621 // windows stay on top of the child Zorder in the parent and receive
623 // mouse events, etc. 622 // mouse events, etc.
624 legacy_render_widget_host_HWND_->UpdateParent( 623 legacy_render_widget_host_HWND_->UpdateParent(
625 GetNativeView()->GetDispatcher()->host()->GetAcceleratedWidget()); 624 GetNativeView()->GetHost()->GetAcceleratedWidget());
626 legacy_render_widget_host_HWND_->SetBounds( 625 legacy_render_widget_host_HWND_->SetBounds(
627 window_->GetBoundsInRootWindow()); 626 window_->GetBoundsInRootWindow());
628 } 627 }
629 LPARAM lparam = reinterpret_cast<LPARAM>(this); 628 LPARAM lparam = reinterpret_cast<LPARAM>(this);
630 EnumChildWindows(ui::GetHiddenWindow(), ShowWindowsCallback, lparam); 629 EnumChildWindows(ui::GetHiddenWindow(), ShowWindowsCallback, lparam);
631 #endif 630 #endif
632 } 631 }
633 632
634 void RenderWidgetHostViewAura::WasHidden() { 633 void RenderWidgetHostViewAura::WasHidden() {
635 if (!host_ || host_->is_hidden()) 634 if (!host_ || host_->is_hidden())
636 return; 635 return;
637 host_->WasHidden(); 636 host_->WasHidden();
638 software_frame_manager_->SetVisibility(false); 637 software_frame_manager_->SetVisibility(false);
639 delegated_frame_evictor_->SetVisible(false); 638 delegated_frame_evictor_->SetVisible(false);
640 released_front_lock_ = NULL; 639 released_front_lock_ = NULL;
641 640
642 #if defined(OS_WIN) 641 #if defined(OS_WIN)
643 constrained_rects_.clear(); 642 constrained_rects_.clear();
644 aura::WindowEventDispatcher* dispatcher = window_->GetDispatcher(); 643 aura::WindowTreeHost* host = window_->GetHost();
645 if (dispatcher) { 644 if (host) {
646 HWND parent = dispatcher->host()->GetAcceleratedWidget(); 645 HWND parent = host->GetAcceleratedWidget();
647 LPARAM lparam = reinterpret_cast<LPARAM>(this); 646 LPARAM lparam = reinterpret_cast<LPARAM>(this);
648 EnumChildWindows(parent, HideWindowsCallback, lparam); 647 EnumChildWindows(parent, HideWindowsCallback, lparam);
649 // We reparent the legacy Chrome_RenderWidgetHostHWND window to the global 648 // We reparent the legacy Chrome_RenderWidgetHostHWND window to the global
650 // hidden window on the same lines as Windowed plugin windows. 649 // hidden window on the same lines as Windowed plugin windows.
651 if (legacy_render_widget_host_HWND_) 650 if (legacy_render_widget_host_HWND_)
652 legacy_render_widget_host_HWND_->UpdateParent(ui::GetHiddenWindow()); 651 legacy_render_widget_host_HWND_->UpdateParent(ui::GetHiddenWindow());
653 } 652 }
654 #endif 653 #endif
655 } 654 }
656 655
(...skipping 18 matching lines...) Expand all
675 window_->parent(), &relative_origin); 674 window_->parent(), &relative_origin);
676 } 675 }
677 } 676 }
678 677
679 InternalSetBounds(gfx::Rect(relative_origin, rect.size())); 678 InternalSetBounds(gfx::Rect(relative_origin, rect.size()));
680 } 679 }
681 680
682 void RenderWidgetHostViewAura::MaybeCreateResizeLock() { 681 void RenderWidgetHostViewAura::MaybeCreateResizeLock() {
683 if (!ShouldCreateResizeLock()) 682 if (!ShouldCreateResizeLock())
684 return; 683 return;
685 DCHECK(window_->GetDispatcher()); 684 DCHECK(window_->GetHost());
686 DCHECK(window_->GetDispatcher()->host()->compositor()); 685 DCHECK(window_->GetHost()->compositor());
687 686
688 // Listen to changes in the compositor lock state. 687 // Listen to changes in the compositor lock state.
689 ui::Compositor* compositor = window_->GetDispatcher()->host()->compositor(); 688 ui::Compositor* compositor = window_->GetHost()->compositor();
690 if (!compositor->HasObserver(this)) 689 if (!compositor->HasObserver(this))
691 compositor->AddObserver(this); 690 compositor->AddObserver(this);
692 691
693 bool defer_compositor_lock = 692 bool defer_compositor_lock =
694 can_lock_compositor_ == NO_PENDING_RENDERER_FRAME || 693 can_lock_compositor_ == NO_PENDING_RENDERER_FRAME ||
695 can_lock_compositor_ == NO_PENDING_COMMIT; 694 can_lock_compositor_ == NO_PENDING_COMMIT;
696 695
697 if (can_lock_compositor_ == YES) 696 if (can_lock_compositor_ == YES)
698 can_lock_compositor_ = YES_DID_LOCK; 697 can_lock_compositor_ = YES_DID_LOCK;
699 698
(...skipping 17 matching lines...) Expand all
717 716
718 if (host_->should_auto_resize()) 717 if (host_->should_auto_resize())
719 return false; 718 return false;
720 if (!host_->is_accelerated_compositing_active()) 719 if (!host_->is_accelerated_compositing_active())
721 return false; 720 return false;
722 721
723 gfx::Size desired_size = window_->bounds().size(); 722 gfx::Size desired_size = window_->bounds().size();
724 if (desired_size == current_frame_size_) 723 if (desired_size == current_frame_size_)
725 return false; 724 return false;
726 725
727 aura::WindowEventDispatcher* dispatcher = window_->GetDispatcher(); 726 aura::WindowTreeHost* host = window_->GetHost();
728 if (!dispatcher) 727 if (!host)
729 return false; 728 return false;
730 729
731 ui::Compositor* compositor = dispatcher->host()->compositor(); 730 ui::Compositor* compositor = host->compositor();
732 if (!compositor) 731 if (!compositor)
733 return false; 732 return false;
734 733
735 return true; 734 return true;
736 } 735 }
737 736
738 scoped_ptr<ResizeLock> RenderWidgetHostViewAura::CreateResizeLock( 737 scoped_ptr<ResizeLock> RenderWidgetHostViewAura::CreateResizeLock(
739 bool defer_compositor_lock) { 738 bool defer_compositor_lock) {
740 gfx::Size desired_size = window_->bounds().size(); 739 gfx::Size desired_size = window_->bounds().size();
741 return scoped_ptr<ResizeLock>(new CompositorResizeLock( 740 return scoped_ptr<ResizeLock>(new CompositorResizeLock(
742 window_->GetDispatcher(), 741 window_->GetHost()->dispatcher(),
743 desired_size, 742 desired_size,
744 defer_compositor_lock, 743 defer_compositor_lock,
745 base::TimeDelta::FromMilliseconds(kResizeLockTimeoutMs))); 744 base::TimeDelta::FromMilliseconds(kResizeLockTimeoutMs)));
746 } 745 }
747 746
748 void RenderWidgetHostViewAura::RequestCopyOfOutput( 747 void RenderWidgetHostViewAura::RequestCopyOfOutput(
749 scoped_ptr<cc::CopyOutputRequest> request) { 748 scoped_ptr<cc::CopyOutputRequest> request) {
750 window_->layer()->RequestCopyOfOutput(request.Pass()); 749 window_->layer()->RequestCopyOfOutput(request.Pass());
751 } 750 }
752 751
753 gfx::NativeView RenderWidgetHostViewAura::GetNativeView() const { 752 gfx::NativeView RenderWidgetHostViewAura::GetNativeView() const {
754 return window_; 753 return window_;
755 } 754 }
756 755
757 gfx::NativeViewId RenderWidgetHostViewAura::GetNativeViewId() const { 756 gfx::NativeViewId RenderWidgetHostViewAura::GetNativeViewId() const {
758 #if defined(OS_WIN) 757 #if defined(OS_WIN)
759 aura::WindowEventDispatcher* dispatcher = window_->GetDispatcher(); 758 aura::WindowTreeHost* host = window_->GetHost();
760 if (dispatcher) 759 if (host)
761 return reinterpret_cast<gfx::NativeViewId>( 760 return reinterpret_cast<gfx::NativeViewId>(host->GetAcceleratedWidget());
762 dispatcher->host()->GetAcceleratedWidget());
763 #endif 761 #endif
764 return static_cast<gfx::NativeViewId>(NULL); 762 return static_cast<gfx::NativeViewId>(NULL);
765 } 763 }
766 764
767 gfx::NativeViewAccessible RenderWidgetHostViewAura::GetNativeViewAccessible() { 765 gfx::NativeViewAccessible RenderWidgetHostViewAura::GetNativeViewAccessible() {
768 #if defined(OS_WIN) 766 #if defined(OS_WIN)
769 aura::WindowEventDispatcher* dispatcher = window_->GetDispatcher(); 767 aura::WindowTreeHost* host = window_->GetHost();
770 if (!dispatcher) 768 if (!host)
771 return static_cast<gfx::NativeViewAccessible>(NULL); 769 return static_cast<gfx::NativeViewAccessible>(NULL);
772 HWND hwnd = dispatcher->host()->GetAcceleratedWidget(); 770 HWND hwnd = host->GetAcceleratedWidget();
773 771
774 CreateBrowserAccessibilityManagerIfNeeded(); 772 CreateBrowserAccessibilityManagerIfNeeded();
775 BrowserAccessibilityManager* manager = GetBrowserAccessibilityManager(); 773 BrowserAccessibilityManager* manager = GetBrowserAccessibilityManager();
776 if (manager) 774 if (manager)
777 return manager->GetRoot()->ToBrowserAccessibilityWin(); 775 return manager->GetRoot()->ToBrowserAccessibilityWin();
778 #endif 776 #endif
779 777
780 NOTIMPLEMENTED(); 778 NOTIMPLEMENTED();
781 return static_cast<gfx::NativeViewAccessible>(NULL); 779 return static_cast<gfx::NativeViewAccessible>(NULL);
782 } 780 }
783 781
784 void RenderWidgetHostViewAura::SetKeyboardFocus() { 782 void RenderWidgetHostViewAura::SetKeyboardFocus() {
785 #if defined(OS_WIN) 783 #if defined(OS_WIN)
786 if (CanFocus()) { 784 if (CanFocus()) {
787 aura::WindowEventDispatcher* dispatcher = window_->GetDispatcher(); 785 aura::WindowTreeHost* host = window_->GetHost();
788 if (dispatcher) 786 if (host)
789 ::SetFocus(dispatcher->host()->GetAcceleratedWidget()); 787 ::SetFocus(host->GetAcceleratedWidget());
790 } 788 }
791 #endif 789 #endif
792 } 790 }
793 791
794 void RenderWidgetHostViewAura::MovePluginWindows( 792 void RenderWidgetHostViewAura::MovePluginWindows(
795 const gfx::Vector2d& scroll_offset, 793 const gfx::Vector2d& scroll_offset,
796 const std::vector<WebPluginGeometry>& plugin_window_moves) { 794 const std::vector<WebPluginGeometry>& plugin_window_moves) {
797 #if defined(OS_WIN) 795 #if defined(OS_WIN)
798 // We need to clip the rectangle to the tab's viewport, otherwise we will draw 796 // We need to clip the rectangle to the tab's viewport, otherwise we will draw
799 // over the browser UI. 797 // over the browser UI.
800 if (!window_->GetRootWindow()) { 798 if (!window_->GetRootWindow()) {
801 DCHECK(plugin_window_moves.empty()); 799 DCHECK(plugin_window_moves.empty());
802 return; 800 return;
803 } 801 }
804 HWND parent = window_->GetDispatcher()->host()->GetAcceleratedWidget(); 802 HWND parent = window_->GetHost()->GetAcceleratedWidget();
805 gfx::Rect view_bounds = window_->GetBoundsInRootWindow(); 803 gfx::Rect view_bounds = window_->GetBoundsInRootWindow();
806 std::vector<WebPluginGeometry> moves = plugin_window_moves; 804 std::vector<WebPluginGeometry> moves = plugin_window_moves;
807 805
808 gfx::Rect view_port(scroll_offset.x(), scroll_offset.y(), view_bounds.width(), 806 gfx::Rect view_port(scroll_offset.x(), scroll_offset.y(), view_bounds.width(),
809 view_bounds.height()); 807 view_bounds.height());
810 808
811 for (size_t i = 0; i < moves.size(); ++i) { 809 for (size_t i = 0; i < moves.size(); ++i) {
812 gfx::Rect clip(moves[i].clip_rect); 810 gfx::Rect clip(moves[i].clip_rect);
813 gfx::Vector2d view_port_offset( 811 gfx::Vector2d view_port_offset(
814 moves[i].window_rect.OffsetFromOrigin() + scroll_offset); 812 moves[i].window_rect.OffsetFromOrigin() + scroll_offset);
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
979 if (paint_canvas_) { 977 if (paint_canvas_) {
980 SkRect sk_clip_rect; 978 SkRect sk_clip_rect;
981 if (paint_canvas_->sk_canvas()->getClipBounds(&sk_clip_rect)) 979 if (paint_canvas_->sk_canvas()->getClipBounds(&sk_clip_rect))
982 clip_rect = gfx::ToEnclosingRect(gfx::SkRectToRectF(sk_clip_rect)); 980 clip_rect = gfx::ToEnclosingRect(gfx::SkRectToRectF(sk_clip_rect));
983 } 981 }
984 982
985 if (!scroll_rect.IsEmpty()) 983 if (!scroll_rect.IsEmpty())
986 SchedulePaintIfNotInClip(scroll_rect, clip_rect); 984 SchedulePaintIfNotInClip(scroll_rect, clip_rect);
987 985
988 #if defined(OS_WIN) 986 #if defined(OS_WIN)
989 aura::WindowEventDispatcher* dispatcher = window_->GetDispatcher(); 987 aura::WindowTreeHost* host = window_->GetHost();
990 #endif 988 #endif
991 for (size_t i = 0; i < copy_rects.size(); ++i) { 989 for (size_t i = 0; i < copy_rects.size(); ++i) {
992 gfx::Rect rect = gfx::SubtractRects(copy_rects[i], scroll_rect); 990 gfx::Rect rect = gfx::SubtractRects(copy_rects[i], scroll_rect);
993 if (rect.IsEmpty()) 991 if (rect.IsEmpty())
994 continue; 992 continue;
995 993
996 SchedulePaintIfNotInClip(rect, clip_rect); 994 SchedulePaintIfNotInClip(rect, clip_rect);
997 995
998 #if defined(OS_WIN) 996 #if defined(OS_WIN)
999 if (dispatcher) { 997 if (host) {
1000 // Send the invalid rect in screen coordinates. 998 // Send the invalid rect in screen coordinates.
1001 gfx::Rect screen_rect = GetViewBounds(); 999 gfx::Rect screen_rect = GetViewBounds();
1002 gfx::Rect invalid_screen_rect(rect); 1000 gfx::Rect invalid_screen_rect(rect);
1003 invalid_screen_rect.Offset(screen_rect.x(), screen_rect.y()); 1001 invalid_screen_rect.Offset(screen_rect.x(), screen_rect.y());
1004 HWND hwnd = dispatcher->host()->GetAcceleratedWidget(); 1002 HWND hwnd = host->GetAcceleratedWidget();
1005 PaintPluginWindowsHelper(hwnd, invalid_screen_rect); 1003 PaintPluginWindowsHelper(hwnd, invalid_screen_rect);
1006 } 1004 }
1007 #endif // defined(OS_WIN) 1005 #endif // defined(OS_WIN)
1008 } 1006 }
1009 } 1007 }
1010 1008
1011 void RenderWidgetHostViewAura::RenderProcessGone(base::TerminationStatus status, 1009 void RenderWidgetHostViewAura::RenderProcessGone(base::TerminationStatus status,
1012 int error_code) { 1010 int error_code) {
1013 UpdateCursorIfOverSelf(); 1011 UpdateCursorIfOverSelf();
1014 Destroy(); 1012 Destroy();
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after
1360 base::Bind(callback, present_time)); 1358 base::Bind(callback, present_time));
1361 } 1359 }
1362 } 1360 }
1363 } 1361 }
1364 1362
1365 #if defined(OS_WIN) 1363 #if defined(OS_WIN)
1366 void RenderWidgetHostViewAura::UpdateConstrainedWindowRects( 1364 void RenderWidgetHostViewAura::UpdateConstrainedWindowRects(
1367 const std::vector<gfx::Rect>& rects) { 1365 const std::vector<gfx::Rect>& rects) {
1368 // Check this before setting constrained_rects_, so that next time they're set 1366 // Check this before setting constrained_rects_, so that next time they're set
1369 // and we have a root window we don't early return. 1367 // and we have a root window we don't early return.
1370 if (!window_->GetDispatcher()) 1368 if (!window_->GetHost())
1371 return; 1369 return;
1372 1370
1373 if (rects == constrained_rects_) 1371 if (rects == constrained_rects_)
1374 return; 1372 return;
1375 1373
1376 constrained_rects_ = rects; 1374 constrained_rects_ = rects;
1377 1375
1378 HWND parent = window_->GetDispatcher()->host()->GetAcceleratedWidget(); 1376 HWND parent = window_->GetHost()->GetAcceleratedWidget();
1379 CutoutRectsParams params; 1377 CutoutRectsParams params;
1380 params.widget = this; 1378 params.widget = this;
1381 params.cutout_rects = constrained_rects_; 1379 params.cutout_rects = constrained_rects_;
1382 params.geometry = &plugin_window_moves_; 1380 params.geometry = &plugin_window_moves_;
1383 LPARAM lparam = reinterpret_cast<LPARAM>(&params); 1381 LPARAM lparam = reinterpret_cast<LPARAM>(&params);
1384 EnumChildWindows(parent, SetCutoutRectsCallback, lparam); 1382 EnumChildWindows(parent, SetCutoutRectsCallback, lparam);
1385 } 1383 }
1386 #endif 1384 #endif
1387 1385
1388 void RenderWidgetHostViewAura::AcceleratedSurfaceBuffersSwapped( 1386 void RenderWidgetHostViewAura::AcceleratedSurfaceBuffersSwapped(
(...skipping 746 matching lines...) Expand 10 before | Expand all | Expand 10 after
2135 GetScreenInfoForWindow(results, window_->GetRootWindow() ? window_ : NULL); 2133 GetScreenInfoForWindow(results, window_->GetRootWindow() ? window_ : NULL);
2136 } 2134 }
2137 2135
2138 gfx::Rect RenderWidgetHostViewAura::GetBoundsInRootWindow() { 2136 gfx::Rect RenderWidgetHostViewAura::GetBoundsInRootWindow() {
2139 #if defined(OS_WIN) 2137 #if defined(OS_WIN)
2140 // aura::Window::GetBoundsInScreen doesn't take non-client area into 2138 // aura::Window::GetBoundsInScreen doesn't take non-client area into
2141 // account. 2139 // account.
2142 RECT window_rect = {0}; 2140 RECT window_rect = {0};
2143 2141
2144 aura::Window* top_level = window_->GetToplevelWindow(); 2142 aura::Window* top_level = window_->GetToplevelWindow();
2145 aura::WindowEventDispatcher* dispatcher = top_level->GetDispatcher(); 2143 aura::WindowTreeHost* host = top_level->GetHost();
2146 if (!dispatcher) 2144 if (!host)
2147 return top_level->GetBoundsInScreen(); 2145 return top_level->GetBoundsInScreen();
2148 HWND hwnd = dispatcher->host()->GetAcceleratedWidget(); 2146 HWND hwnd = host->GetAcceleratedWidget();
2149 ::GetWindowRect(hwnd, &window_rect); 2147 ::GetWindowRect(hwnd, &window_rect);
2150 gfx::Rect rect(window_rect); 2148 gfx::Rect rect(window_rect);
2151 2149
2152 // Maximized windows are outdented from the work area by the frame thickness 2150 // Maximized windows are outdented from the work area by the frame thickness
2153 // even though this "frame" is not painted. This confuses code (and people) 2151 // even though this "frame" is not painted. This confuses code (and people)
2154 // that think of a maximized window as corresponding exactly to the work area. 2152 // that think of a maximized window as corresponding exactly to the work area.
2155 // Correct for this by subtracting the frame thickness back off. 2153 // Correct for this by subtracting the frame thickness back off.
2156 if (::IsZoomed(hwnd)) { 2154 if (::IsZoomed(hwnd)) {
2157 rect.Inset(GetSystemMetrics(SM_CXSIZEFRAME), 2155 rect.Inset(GetSystemMetrics(SM_CXSIZEFRAME),
2158 GetSystemMetrics(SM_CYSIZEFRAME)); 2156 GetSystemMetrics(SM_CYSIZEFRAME));
(...skipping 12 matching lines...) Expand all
2171 touch_editing_client_->GestureEventAck(event.type); 2169 touch_editing_client_->GestureEventAck(event.type);
2172 } 2170 }
2173 2171
2174 void RenderWidgetHostViewAura::ProcessAckedTouchEvent( 2172 void RenderWidgetHostViewAura::ProcessAckedTouchEvent(
2175 const TouchEventWithLatencyInfo& touch, InputEventAckState ack_result) { 2173 const TouchEventWithLatencyInfo& touch, InputEventAckState ack_result) {
2176 ScopedVector<ui::TouchEvent> events; 2174 ScopedVector<ui::TouchEvent> events;
2177 if (!MakeUITouchEventsFromWebTouchEvents(touch, &events, 2175 if (!MakeUITouchEventsFromWebTouchEvents(touch, &events,
2178 SCREEN_COORDINATES)) 2176 SCREEN_COORDINATES))
2179 return; 2177 return;
2180 2178
2181 aura::WindowEventDispatcher* dispatcher = window_->GetDispatcher(); 2179 aura::WindowTreeHost* host = window_->GetHost();
2182 // |dispatcher| is NULL during tests. 2180 // |dispatcher| is NULL during tests.
2183 if (!dispatcher) 2181 if (!host)
2184 return; 2182 return;
2185 2183
2186 ui::EventResult result = (ack_result == 2184 ui::EventResult result = (ack_result ==
2187 INPUT_EVENT_ACK_STATE_CONSUMED) ? ui::ER_HANDLED : ui::ER_UNHANDLED; 2185 INPUT_EVENT_ACK_STATE_CONSUMED) ? ui::ER_HANDLED : ui::ER_UNHANDLED;
2188 for (ScopedVector<ui::TouchEvent>::iterator iter = events.begin(), 2186 for (ScopedVector<ui::TouchEvent>::iterator iter = events.begin(),
2189 end = events.end(); iter != end; ++iter) { 2187 end = events.end(); iter != end; ++iter) {
2190 dispatcher->ProcessedTouchEvent((*iter), window_, result); 2188 host->dispatcher()->ProcessedTouchEvent((*iter), window_, result);
2191 } 2189 }
2192 } 2190 }
2193 2191
2194 scoped_ptr<SyntheticGestureTarget> 2192 scoped_ptr<SyntheticGestureTarget>
2195 RenderWidgetHostViewAura::CreateSyntheticGestureTarget() { 2193 RenderWidgetHostViewAura::CreateSyntheticGestureTarget() {
2196 return scoped_ptr<SyntheticGestureTarget>( 2194 return scoped_ptr<SyntheticGestureTarget>(
2197 new SyntheticGestureTargetAura(host_)); 2195 new SyntheticGestureTargetAura(host_));
2198 } 2196 }
2199 2197
2200 void RenderWidgetHostViewAura::SetHasHorizontalScrollbar( 2198 void RenderWidgetHostViewAura::SetHasHorizontalScrollbar(
2201 bool has_horizontal_scrollbar) { 2199 bool has_horizontal_scrollbar) {
2202 // Not needed. Mac-only. 2200 // Not needed. Mac-only.
2203 } 2201 }
2204 2202
2205 void RenderWidgetHostViewAura::SetScrollOffsetPinning( 2203 void RenderWidgetHostViewAura::SetScrollOffsetPinning(
2206 bool is_pinned_to_left, bool is_pinned_to_right) { 2204 bool is_pinned_to_left, bool is_pinned_to_right) {
2207 // Not needed. Mac-only. 2205 // Not needed. Mac-only.
2208 } 2206 }
2209 2207
2210 void RenderWidgetHostViewAura::CreateBrowserAccessibilityManagerIfNeeded() { 2208 void RenderWidgetHostViewAura::CreateBrowserAccessibilityManagerIfNeeded() {
2211 if (GetBrowserAccessibilityManager()) 2209 if (GetBrowserAccessibilityManager())
2212 return; 2210 return;
2213 2211
2214 BrowserAccessibilityManager* manager = NULL; 2212 BrowserAccessibilityManager* manager = NULL;
2215 #if defined(OS_WIN) 2213 #if defined(OS_WIN)
2216 aura::WindowEventDispatcher* dispatcher = window_->GetDispatcher(); 2214 aura::WindowTreeHost* host = window_->GetHost();
2217 if (!dispatcher) 2215 if (!host)
2218 return; 2216 return;
2219 HWND hwnd = dispatcher->host()->GetAcceleratedWidget(); 2217 HWND hwnd = host->GetAcceleratedWidget();
2220 2218
2221 // The accessible_parent may be NULL at this point. The WebContents will pass 2219 // The accessible_parent may be NULL at this point. The WebContents will pass
2222 // it down to this instance (by way of the RenderViewHost and 2220 // it down to this instance (by way of the RenderViewHost and
2223 // RenderWidgetHost) when it is known. This instance will then set it on its 2221 // RenderWidgetHost) when it is known. This instance will then set it on its
2224 // BrowserAccessibilityManager. 2222 // BrowserAccessibilityManager.
2225 gfx::NativeViewAccessible accessible_parent = 2223 gfx::NativeViewAccessible accessible_parent =
2226 host_->GetParentNativeViewAccessible(); 2224 host_->GetParentNativeViewAccessible();
2227 2225
2228 if (legacy_render_widget_host_HWND_) { 2226 if (legacy_render_widget_host_HWND_) {
2229 manager = new BrowserAccessibilityManagerWin( 2227 manager = new BrowserAccessibilityManagerWin(
(...skipping 29 matching lines...) Expand all
2259 cursor_client->HideCursor(); 2257 cursor_client->HideCursor();
2260 cursor_client->LockCursor(); 2258 cursor_client->LockCursor();
2261 } 2259 }
2262 2260
2263 if (ShouldMoveToCenter()) { 2261 if (ShouldMoveToCenter()) {
2264 synthetic_move_sent_ = true; 2262 synthetic_move_sent_ = true;
2265 window_->MoveCursorTo(gfx::Rect(window_->bounds().size()).CenterPoint()); 2263 window_->MoveCursorTo(gfx::Rect(window_->bounds().size()).CenterPoint());
2266 } 2264 }
2267 tooltip_disabler_.reset(new aura::client::ScopedTooltipDisabler(root_window)); 2265 tooltip_disabler_.reset(new aura::client::ScopedTooltipDisabler(root_window));
2268 2266
2269 root_window->GetDispatcher()->host()->ConfineCursorToRootWindow(); 2267 root_window->GetHost()->ConfineCursorToRootWindow();
2270 return true; 2268 return true;
2271 } 2269 }
2272 2270
2273 void RenderWidgetHostViewAura::UnlockMouse() { 2271 void RenderWidgetHostViewAura::UnlockMouse() {
2274 tooltip_disabler_.reset(); 2272 tooltip_disabler_.reset();
2275 2273
2276 aura::Window* root_window = window_->GetRootWindow(); 2274 aura::Window* root_window = window_->GetRootWindow();
2277 if (!mouse_locked_ || !root_window) 2275 if (!mouse_locked_ || !root_window)
2278 return; 2276 return;
2279 2277
2280 mouse_locked_ = false; 2278 mouse_locked_ = false;
2281 2279
2282 #if !defined(OS_WIN) 2280 #if !defined(OS_WIN)
2283 window_->ReleaseCapture(); 2281 window_->ReleaseCapture();
2284 #endif 2282 #endif
2285 window_->MoveCursorTo(unlocked_mouse_position_); 2283 window_->MoveCursorTo(unlocked_mouse_position_);
2286 aura::client::CursorClient* cursor_client = 2284 aura::client::CursorClient* cursor_client =
2287 aura::client::GetCursorClient(root_window); 2285 aura::client::GetCursorClient(root_window);
2288 if (cursor_client) { 2286 if (cursor_client) {
2289 cursor_client->UnlockCursor(); 2287 cursor_client->UnlockCursor();
2290 cursor_client->ShowCursor(); 2288 cursor_client->ShowCursor();
2291 } 2289 }
2292 2290
2293 host_->LostMouseLock(); 2291 host_->LostMouseLock();
2294 root_window->GetDispatcher()->host()->UnConfineCursor(); 2292 root_window->GetHost()->UnConfineCursor();
2295 } 2293 }
2296 2294
2297 //////////////////////////////////////////////////////////////////////////////// 2295 ////////////////////////////////////////////////////////////////////////////////
2298 // RenderWidgetHostViewAura, ui::TextInputClient implementation: 2296 // RenderWidgetHostViewAura, ui::TextInputClient implementation:
2299 void RenderWidgetHostViewAura::SetCompositionText( 2297 void RenderWidgetHostViewAura::SetCompositionText(
2300 const ui::CompositionText& composition) { 2298 const ui::CompositionText& composition) {
2301 if (!host_) 2299 if (!host_)
2302 return; 2300 return;
2303 2301
2304 // ui::CompositionUnderline should be identical to 2302 // ui::CompositionUnderline should be identical to
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
2655 } 2653 }
2656 2654
2657 void RenderWidgetHostViewAura::OnWindowDestroying(aura::Window* window) { 2655 void RenderWidgetHostViewAura::OnWindowDestroying(aura::Window* window) {
2658 #if defined(OS_WIN) 2656 #if defined(OS_WIN)
2659 HWND parent = NULL; 2657 HWND parent = NULL;
2660 // If the tab was hidden and it's closed, host_->is_hidden would have been 2658 // If the tab was hidden and it's closed, host_->is_hidden would have been
2661 // reset to false in RenderWidgetHostImpl::RendererExited. 2659 // reset to false in RenderWidgetHostImpl::RendererExited.
2662 if (!window_->GetRootWindow() || host_->is_hidden()) { 2660 if (!window_->GetRootWindow() || host_->is_hidden()) {
2663 parent = ui::GetHiddenWindow(); 2661 parent = ui::GetHiddenWindow();
2664 } else { 2662 } else {
2665 parent = window_->GetDispatcher()->host()->GetAcceleratedWidget(); 2663 parent = window_->GetHost()->GetAcceleratedWidget();
2666 } 2664 }
2667 LPARAM lparam = reinterpret_cast<LPARAM>(this); 2665 LPARAM lparam = reinterpret_cast<LPARAM>(this);
2668 EnumChildWindows(parent, WindowDestroyingCallback, lparam); 2666 EnumChildWindows(parent, WindowDestroyingCallback, lparam);
2669 #endif 2667 #endif
2670 2668
2671 // Make sure that the input method no longer references to this object before 2669 // Make sure that the input method no longer references to this object before
2672 // this object is removed from the root window (i.e. this object loses access 2670 // this object is removed from the root window (i.e. this object loses access
2673 // to the input method). 2671 // to the input method).
2674 ui::InputMethod* input_method = GetInputMethod(); 2672 ui::InputMethod* input_method = GetInputMethod();
2675 if (input_method) 2673 if (input_method)
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
2882 event->type() == ui::ET_MOUSE_MOVED)) { 2880 event->type() == ui::ET_MOUSE_MOVED)) {
2883 event->StopPropagation(); 2881 event->StopPropagation();
2884 return; 2882 return;
2885 } 2883 }
2886 2884
2887 if (event->type() == ui::ET_MOUSEWHEEL) { 2885 if (event->type() == ui::ET_MOUSEWHEEL) {
2888 #if defined(OS_WIN) 2886 #if defined(OS_WIN)
2889 // We get mouse wheel/scroll messages even if we are not in the foreground. 2887 // We get mouse wheel/scroll messages even if we are not in the foreground.
2890 // So here we check if we have any owned popup windows in the foreground and 2888 // So here we check if we have any owned popup windows in the foreground and
2891 // dismiss them. 2889 // dismiss them.
2892 aura::WindowEventDispatcher* dispatcher = window_->GetDispatcher(); 2890 aura::WindowTreeHost* host = window_->GetHost();
2893 if (dispatcher) { 2891 if (host) {
2894 HWND parent = dispatcher->host()->GetAcceleratedWidget(); 2892 HWND parent = host->GetAcceleratedWidget();
2895 HWND toplevel_hwnd = ::GetAncestor(parent, GA_ROOT); 2893 HWND toplevel_hwnd = ::GetAncestor(parent, GA_ROOT);
2896 EnumThreadWindows(GetCurrentThreadId(), 2894 EnumThreadWindows(GetCurrentThreadId(),
2897 DismissOwnedPopups, 2895 DismissOwnedPopups,
2898 reinterpret_cast<LPARAM>(toplevel_hwnd)); 2896 reinterpret_cast<LPARAM>(toplevel_hwnd));
2899 } 2897 }
2900 #endif 2898 #endif
2901 blink::WebMouseWheelEvent mouse_wheel_event = 2899 blink::WebMouseWheelEvent mouse_wheel_event =
2902 MakeWebMouseWheelEvent(static_cast<ui::MouseWheelEvent*>(event)); 2900 MakeWebMouseWheelEvent(static_cast<ui::MouseWheelEvent*>(event));
2903 if (mouse_wheel_event.deltaX != 0 || mouse_wheel_event.deltaY != 0) 2901 if (mouse_wheel_event.deltaX != 0 || mouse_wheel_event.deltaY != 0)
2904 host_->ForwardWheelEvent(mouse_wheel_event); 2902 host_->ForwardWheelEvent(mouse_wheel_event);
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
3049 3047
3050 // If a gesture is not processed by the webpage, then WebKit processes it 3048 // If a gesture is not processed by the webpage, then WebKit processes it
3051 // (e.g. generates synthetic mouse events). 3049 // (e.g. generates synthetic mouse events).
3052 event->SetHandled(); 3050 event->SetHandled();
3053 } 3051 }
3054 3052
3055 //////////////////////////////////////////////////////////////////////////////// 3053 ////////////////////////////////////////////////////////////////////////////////
3056 // RenderWidgetHostViewAura, aura::client::ActivationDelegate implementation: 3054 // RenderWidgetHostViewAura, aura::client::ActivationDelegate implementation:
3057 3055
3058 bool RenderWidgetHostViewAura::ShouldActivate() const { 3056 bool RenderWidgetHostViewAura::ShouldActivate() const {
3059 aura::WindowEventDispatcher* dispatcher = window_->GetDispatcher(); 3057 aura::WindowTreeHost* host = window_->GetHost();
3060 if (!dispatcher) 3058 if (!host)
3061 return true; 3059 return true;
3062 const ui::Event* event = dispatcher->current_event(); 3060 const ui::Event* event = host->dispatcher()->current_event();
3063 if (!event) 3061 if (!event)
3064 return true; 3062 return true;
3065 return is_fullscreen_; 3063 return is_fullscreen_;
3066 } 3064 }
3067 3065
3068 //////////////////////////////////////////////////////////////////////////////// 3066 ////////////////////////////////////////////////////////////////////////////////
3069 // RenderWidgetHostViewAura, 3067 // RenderWidgetHostViewAura,
3070 // aura::client::ActivationChangeObserver implementation: 3068 // aura::client::ActivationChangeObserver implementation:
3071 3069
3072 void RenderWidgetHostViewAura::OnWindowActivated(aura::Window* gained_active, 3070 void RenderWidgetHostViewAura::OnWindowActivated(aura::Window* gained_active,
3073 aura::Window* lost_active) { 3071 aura::Window* lost_active) {
3074 DCHECK(window_ == gained_active || window_ == lost_active); 3072 DCHECK(window_ == gained_active || window_ == lost_active);
3075 if (window_ == gained_active) { 3073 if (window_ == gained_active) {
3076 const ui::Event* event = window_->GetDispatcher()->current_event(); 3074 const ui::Event* event = window_->GetHost()->dispatcher()->current_event();
3077 if (event && PointerEventActivates(*event)) 3075 if (event && PointerEventActivates(*event))
3078 host_->OnPointerEventActivate(); 3076 host_->OnPointerEventActivate();
3079 } 3077 }
3080 } 3078 }
3081 3079
3082 //////////////////////////////////////////////////////////////////////////////// 3080 ////////////////////////////////////////////////////////////////////////////////
3083 // RenderWidgetHostViewAura, aura::client::CursorClientObserver implementation: 3081 // RenderWidgetHostViewAura, aura::client::CursorClientObserver implementation:
3084 3082
3085 void RenderWidgetHostViewAura::OnCursorVisibilityChanged(bool is_visible) { 3083 void RenderWidgetHostViewAura::OnCursorVisibilityChanged(bool is_visible) {
3086 NotifyRendererOfCursorVisibilityState(is_visible); 3084 NotifyRendererOfCursorVisibilityState(is_visible);
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
3303 //////////////////////////////////////////////////////////////////////////////// 3301 ////////////////////////////////////////////////////////////////////////////////
3304 // RenderWidgetHostViewAura, private: 3302 // RenderWidgetHostViewAura, private:
3305 3303
3306 RenderWidgetHostViewAura::~RenderWidgetHostViewAura() { 3304 RenderWidgetHostViewAura::~RenderWidgetHostViewAura() {
3307 if (touch_editing_client_) 3305 if (touch_editing_client_)
3308 touch_editing_client_->OnViewDestroyed(); 3306 touch_editing_client_->OnViewDestroyed();
3309 3307
3310 ImageTransportFactory::GetInstance()->RemoveObserver(this); 3308 ImageTransportFactory::GetInstance()->RemoveObserver(this);
3311 3309
3312 window_observer_.reset(); 3310 window_observer_.reset();
3313 if (window_->GetDispatcher()) 3311 if (window_->GetHost())
3314 window_->GetDispatcher()->RemoveRootWindowObserver(this); 3312 window_->GetHost()->dispatcher()->RemoveRootWindowObserver(this);
3315 UnlockMouse(); 3313 UnlockMouse();
3316 if (popup_parent_host_view_) { 3314 if (popup_parent_host_view_) {
3317 DCHECK(popup_parent_host_view_->popup_child_host_view_ == NULL || 3315 DCHECK(popup_parent_host_view_->popup_child_host_view_ == NULL ||
3318 popup_parent_host_view_->popup_child_host_view_ == this); 3316 popup_parent_host_view_->popup_child_host_view_ == this);
3319 popup_parent_host_view_->popup_child_host_view_ = NULL; 3317 popup_parent_host_view_->popup_child_host_view_ = NULL;
3320 } 3318 }
3321 if (popup_child_host_view_) { 3319 if (popup_child_host_view_) {
3322 DCHECK(popup_child_host_view_->popup_parent_host_view_ == NULL || 3320 DCHECK(popup_child_host_view_->popup_parent_host_view_ == NULL ||
3323 popup_child_host_view_->popup_parent_host_view_ == this); 3321 popup_child_host_view_->popup_parent_host_view_ == this);
3324 popup_child_host_view_->popup_parent_host_view_ = NULL; 3322 popup_child_host_view_->popup_parent_host_view_ = NULL;
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
3487 DCHECK(compositor); 3485 DCHECK(compositor);
3488 3486
3489 if (!compositor->HasObserver(this)) 3487 if (!compositor->HasObserver(this))
3490 compositor->AddObserver(this); 3488 compositor->AddObserver(this);
3491 3489
3492 can_lock_compositor_ = NO_PENDING_COMMIT; 3490 can_lock_compositor_ = NO_PENDING_COMMIT;
3493 on_compositing_did_commit_callbacks_.push_back(callback); 3491 on_compositing_did_commit_callbacks_.push_back(callback);
3494 } 3492 }
3495 3493
3496 void RenderWidgetHostViewAura::AddedToRootWindow() { 3494 void RenderWidgetHostViewAura::AddedToRootWindow() {
3497 window_->GetDispatcher()->AddRootWindowObserver(this); 3495 window_->GetHost()->dispatcher()->AddRootWindowObserver(this);
3498 UpdateScreenInfo(window_); 3496 UpdateScreenInfo(window_);
3499 3497
3500 aura::client::CursorClient* cursor_client = 3498 aura::client::CursorClient* cursor_client =
3501 aura::client::GetCursorClient(window_->GetRootWindow()); 3499 aura::client::GetCursorClient(window_->GetRootWindow());
3502 if (cursor_client) { 3500 if (cursor_client) {
3503 cursor_client->AddObserver(this); 3501 cursor_client->AddObserver(this);
3504 NotifyRendererOfCursorVisibilityState(cursor_client->IsCursorVisible()); 3502 NotifyRendererOfCursorVisibilityState(cursor_client->IsCursorVisible());
3505 } 3503 }
3506 if (current_surface_.get()) 3504 if (current_surface_.get())
3507 UpdateExternalTexture(); 3505 UpdateExternalTexture();
(...skipping 20 matching lines...) Expand all
3528 } 3526 }
3529 3527
3530 void RenderWidgetHostViewAura::RemovingFromRootWindow() { 3528 void RenderWidgetHostViewAura::RemovingFromRootWindow() {
3531 aura::client::CursorClient* cursor_client = 3529 aura::client::CursorClient* cursor_client =
3532 aura::client::GetCursorClient(window_->GetRootWindow()); 3530 aura::client::GetCursorClient(window_->GetRootWindow());
3533 if (cursor_client) 3531 if (cursor_client)
3534 cursor_client->RemoveObserver(this); 3532 cursor_client->RemoveObserver(this);
3535 3533
3536 DetachFromInputMethod(); 3534 DetachFromInputMethod();
3537 3535
3538 window_->GetDispatcher()->RemoveRootWindowObserver(this); 3536 window_->GetHost()->dispatcher()->RemoveRootWindowObserver(this);
3539 ui::Compositor* compositor = GetCompositor(); 3537 ui::Compositor* compositor = GetCompositor();
3540 if (current_surface_.get()) { 3538 if (current_surface_.get()) {
3541 // We can't get notification for commits after this point, which would 3539 // We can't get notification for commits after this point, which would
3542 // guarantee that the compositor isn't using an old texture any more, so 3540 // guarantee that the compositor isn't using an old texture any more, so
3543 // instead we force the layer to stop using any external resources which 3541 // instead we force the layer to stop using any external resources which
3544 // synchronizes with the compositor thread, and makes it safe to run the 3542 // synchronizes with the compositor thread, and makes it safe to run the
3545 // callback. 3543 // callback.
3546 window_->layer()->SetShowPaintedContent(); 3544 window_->layer()->SetShowPaintedContent();
3547 } 3545 }
3548 RunOnCommitCallbacks(); 3546 RunOnCommitCallbacks();
(...skipping 10 matching lines...) Expand all
3559 legacy_render_widget_host_HWND_->UpdateParent(::GetDesktopWindow()); 3557 legacy_render_widget_host_HWND_->UpdateParent(::GetDesktopWindow());
3560 #endif 3558 #endif
3561 3559
3562 if (vsync_manager_) { 3560 if (vsync_manager_) {
3563 vsync_manager_->RemoveObserver(this); 3561 vsync_manager_->RemoveObserver(this);
3564 vsync_manager_ = NULL; 3562 vsync_manager_ = NULL;
3565 } 3563 }
3566 } 3564 }
3567 3565
3568 ui::Compositor* RenderWidgetHostViewAura::GetCompositor() const { 3566 ui::Compositor* RenderWidgetHostViewAura::GetCompositor() const {
3569 aura::WindowEventDispatcher* dispatcher = window_->GetDispatcher(); 3567 aura::WindowTreeHost* host = window_->GetHost();
3570 return dispatcher ? dispatcher->host()->compositor() : NULL; 3568 return host ? host->compositor() : NULL;
3571 } 3569 }
3572 3570
3573 void RenderWidgetHostViewAura::DetachFromInputMethod() { 3571 void RenderWidgetHostViewAura::DetachFromInputMethod() {
3574 ui::InputMethod* input_method = GetInputMethod(); 3572 ui::InputMethod* input_method = GetInputMethod();
3575 if (input_method && input_method->GetTextInputClient() == this) 3573 if (input_method && input_method->GetTextInputClient() == this)
3576 input_method->SetFocusedTextInputClient(NULL); 3574 input_method->SetFocusedTextInputClient(NULL);
3577 } 3575 }
3578 3576
3579 void RenderWidgetHostViewAura::LockResources() { 3577 void RenderWidgetHostViewAura::LockResources() {
3580 DCHECK(frame_provider_); 3578 DCHECK(frame_provider_);
(...skipping 13 matching lines...) Expand all
3594 RenderWidgetHost* widget) { 3592 RenderWidgetHost* widget) {
3595 return new RenderWidgetHostViewAura(widget); 3593 return new RenderWidgetHostViewAura(widget);
3596 } 3594 }
3597 3595
3598 // static 3596 // static
3599 void RenderWidgetHostViewPort::GetDefaultScreenInfo(WebScreenInfo* results) { 3597 void RenderWidgetHostViewPort::GetDefaultScreenInfo(WebScreenInfo* results) {
3600 GetScreenInfoForWindow(results, NULL); 3598 GetScreenInfoForWindow(results, NULL);
3601 } 3599 }
3602 3600
3603 } // namespace content 3601 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698