| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 "chrome/browser/render_widget_host.h" | 5 #include "chrome/browser/render_widget_host.h" |
| 6 | 6 |
| 7 #include "base/gfx/gdi_util.h" | 7 #include "base/gfx/gdi_util.h" |
| 8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
| 9 #include "chrome/app/chrome_dll_resource.h" | 9 #include "chrome/app/chrome_dll_resource.h" |
| 10 #include "chrome/browser/render_process_host.h" | 10 #include "chrome/browser/render_process_host.h" |
| (...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 427 view_being_painted_ = false; | 427 view_being_painted_ = false; |
| 428 } | 428 } |
| 429 | 429 |
| 430 // Log the time delta for processing a scroll message. | 430 // Log the time delta for processing a scroll message. |
| 431 TimeDelta delta = TimeTicks::Now() - scroll_start; | 431 TimeDelta delta = TimeTicks::Now() - scroll_start; |
| 432 UMA_HISTOGRAM_TIMES(L"MPArch.RWH_OnMsgScrollRect", delta); | 432 UMA_HISTOGRAM_TIMES(L"MPArch.RWH_OnMsgScrollRect", delta); |
| 433 } | 433 } |
| 434 | 434 |
| 435 void RenderWidgetHost::MovePluginWindows( | 435 void RenderWidgetHost::MovePluginWindows( |
| 436 const std::vector<WebPluginGeometry>& plugin_window_moves) { | 436 const std::vector<WebPluginGeometry>& plugin_window_moves) { |
| 437 if (plugin_window_moves.empty()) |
| 438 return; |
| 439 |
| 437 HDWP defer_window_pos_info = | 440 HDWP defer_window_pos_info = |
| 438 ::BeginDeferWindowPos(static_cast<int>(plugin_window_moves.size())); | 441 ::BeginDeferWindowPos(static_cast<int>(plugin_window_moves.size())); |
| 439 | 442 |
| 440 if (!defer_window_pos_info) { | 443 if (!defer_window_pos_info) { |
| 441 NOTREACHED(); | 444 NOTREACHED(); |
| 442 return; | 445 return; |
| 443 } | 446 } |
| 444 | 447 |
| 445 for (size_t i = 0; i < plugin_window_moves.size(); ++i) { | 448 for (size_t i = 0; i < plugin_window_moves.size(); ++i) { |
| 446 unsigned long flags = 0; | 449 // Don't invalidate now because that would result in cross process calls |
| 450 // that make scrolling slow. Instead the window is invalidated |
| 451 // asynchronously by the plugin code. |
| 452 unsigned long flags = SWP_NOREDRAW; |
| 447 const WebPluginGeometry& move = plugin_window_moves[i]; | 453 const WebPluginGeometry& move = plugin_window_moves[i]; |
| 448 | 454 |
| 449 if (move.visible) | 455 if (move.visible) |
| 450 flags |= SWP_SHOWWINDOW; | 456 flags |= SWP_SHOWWINDOW; |
| 451 else | 457 else |
| 452 flags |= SWP_HIDEWINDOW; | 458 flags |= SWP_HIDEWINDOW; |
| 453 | 459 |
| 454 HRGN hrgn = ::CreateRectRgn(move.clip_rect.x(), | 460 HRGN hrgn = ::CreateRectRgn(move.clip_rect.x(), |
| 455 move.clip_rect.y(), | 461 move.clip_rect.y(), |
| 456 move.clip_rect.right(), | 462 move.clip_rect.right(), |
| (...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 836 &RenderWidgetHost::CheckRendererIsUnresponsive); | 842 &RenderWidgetHost::CheckRendererIsUnresponsive); |
| 837 } | 843 } |
| 838 | 844 |
| 839 void RenderWidgetHost::RendererExited() { | 845 void RenderWidgetHost::RendererExited() { |
| 840 BackingStoreManager::RemoveBackingStore(this); | 846 BackingStoreManager::RemoveBackingStore(this); |
| 841 } | 847 } |
| 842 | 848 |
| 843 void RenderWidgetHost::SystemThemeChanged() { | 849 void RenderWidgetHost::SystemThemeChanged() { |
| 844 Send(new ViewMsg_ThemeChanged(routing_id_)); | 850 Send(new ViewMsg_ThemeChanged(routing_id_)); |
| 845 } | 851 } |
| OLD | NEW |